[vala/wip/gtkgir: 13/13] gtk+-3.0: Switch to GIR



commit a40bb7d7d5ad6a84b584d38fa28ffd7db5b1a2e4
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Thu Apr 28 22:31:08 2016 +0200

    gtk+-3.0: Switch to GIR
    
    Fixes bug 730746

 vapi/Makefile.am                  |    4 +-
 vapi/gtk+-3.0.vapi                | 5737 +++++++++++++++++++++++++++++--------
 vapi/metadata/Gtk-3.0-custom.vala |  429 +++
 vapi/metadata/Gtk-3.0.metadata    |  571 ++++
 4 files changed, 5554 insertions(+), 1187 deletions(-)
---
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index 614feb3..fc6c0f2 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -351,7 +351,6 @@ GIDL_BINDINGS = \
        gstreamer-tag-0.10 \
        gstreamer-video-0.10 \
        gtk+-2.0 \
-       gtk+-3.0 \
        gtksourceview-2.0 \
        hildon-1 \
        hildon-fm-2 \
@@ -416,6 +415,7 @@ GIR_BINDINGS = \
        gio-2.0 \
        gobject-introspection-1.0 \
        graphene-1.0 \
+       gtk+-3.0 \
        gudev-1.0 \
        json-glib-1.0 \
        libgdata \
@@ -670,7 +670,7 @@ gtk+-2.0:
        $(GENVAPI) --library $(srcdir)/gtk+-2.0 $(PACKAGESDIR)/gtk+-2.0/gtk+-2.0-custom.vala 
$(PACKAGESDIR)/gtk+-2.0/gtk+-2.0.gi
 
 gtk+-3.0:
-       $(GENVAPI) --library $(srcdir)/gtk+-3.0 $(PACKAGESDIR)/gtk+-3.0/gtk+-3.0-custom.vala 
$(PACKAGESDIR)/gtk+-3.0/gtk+-3.0.gi
+       $(GENVAPI) --library $(srcdir)/gtk+-3.0 --pkg atk --pkg gdk-3.0 --pkg gdk-pixbuf-2.0 --pkg gio-2.0 
--pkg pango --pkg cairo --metadatadir $(METADATADIR) $(METADATADIR)/Gtk-3.0-custom.vala $(GIRDIR)/Gtk-3.0.gir
 
 gtksourceview-2.0:
        $(GENVAPI) --library $(srcdir)/gtksourceview-2.0 $(PACKAGESDIR)/gtksourceview-2.0/gtksourceview-2.0.gi
diff --git a/vapi/gtk+-3.0.vapi b/vapi/gtk+-3.0.vapi
index f3f5efa..76d7451 100644
--- a/vapi/gtk+-3.0.vapi
+++ b/vapi/gtk+-3.0.vapi
@@ -4,215 +4,320 @@
 namespace Gtk {
        [Version (deprecated_since = "3.10")]
        namespace Stock {
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ABOUT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string ABOUT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ADD")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string ADD;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_APPLY")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string APPLY;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_BOLD")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string BOLD;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CANCEL")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string CANCEL;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CAPS_LOCK_WARNING")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.16")]
                public const string CAPS_LOCK_WARNING;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CDROM")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string CDROM;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CLEAR")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string CLEAR;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CLOSE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string CLOSE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_COLOR_PICKER")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.2")]
                public const string COLOR_PICKER;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CONNECT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string CONNECT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CONVERT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string CONVERT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_COPY")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string COPY;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_CUT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string CUT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DELETE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string DELETE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DIALOG_AUTHENTICATION")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public const string DIALOG_AUTHENTICATION;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DIALOG_ERROR")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string DIALOG_ERROR;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DIALOG_INFO")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string DIALOG_INFO;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DIALOG_QUESTION")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string DIALOG_QUESTION;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DIALOG_WARNING")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string DIALOG_WARNING;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DIRECTORY")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string DIRECTORY;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DISCARD")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public const string DISCARD;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DISCONNECT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string DISCONNECT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DND")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string DND;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_DND_MULTIPLE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string DND_MULTIPLE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_EDIT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string EDIT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_EXECUTE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string EXECUTE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_FILE")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string FILE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_FIND")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string FIND;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_FIND_AND_REPLACE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string FIND_AND_REPLACE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_FLOPPY")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string FLOPPY;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_FULLSCREEN")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.8")]
                public const string FULLSCREEN;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GOTO_BOTTOM")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GOTO_BOTTOM;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GOTO_FIRST")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GOTO_FIRST;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GOTO_LAST")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GOTO_LAST;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GOTO_TOP")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GOTO_TOP;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GO_BACK")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GO_BACK;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GO_DOWN")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GO_DOWN;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GO_FORWARD")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GO_FORWARD;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_GO_UP")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string GO_UP;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_HARDDISK")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public const string HARDDISK;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_HELP")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string HELP;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_HOME")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string HOME;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_INDENT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public const string INDENT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_INDEX")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string INDEX;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_INFO")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.8")]
                public const string INFO;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ITALIC")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string ITALIC;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_JUMP_TO")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string JUMP_TO;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_JUSTIFY_CENTER")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string JUSTIFY_CENTER;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_JUSTIFY_FILL")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string JUSTIFY_FILL;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_JUSTIFY_LEFT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string JUSTIFY_LEFT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_JUSTIFY_RIGHT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string JUSTIFY_RIGHT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_LEAVE_FULLSCREEN")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.8")]
                public const string LEAVE_FULLSCREEN;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_FORWARD")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_FORWARD;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_NEXT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_NEXT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_PAUSE")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_PAUSE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_PLAY")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_PLAY;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_PREVIOUS")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_PREVIOUS;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_RECORD")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_RECORD;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_REWIND")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_REWIND;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MEDIA_STOP")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public const string MEDIA_STOP;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_MISSING_IMAGE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string MISSING_IMAGE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_NETWORK")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public const string NETWORK;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_NEW")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string NEW;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_NO")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string NO;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_OK")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string OK;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_OPEN")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string OPEN;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ORIENTATION_LANDSCAPE")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public const string ORIENTATION_LANDSCAPE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ORIENTATION_PORTRAIT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public const string ORIENTATION_PORTRAIT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ORIENTATION_REVERSE_LANDSCAPE")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public const string ORIENTATION_REVERSE_LANDSCAPE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ORIENTATION_REVERSE_PORTRAIT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public const string ORIENTATION_REVERSE_PORTRAIT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PAGE_SETUP")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.14")]
                public const string PAGE_SETUP;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PASTE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string PASTE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PREFERENCES")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string PREFERENCES;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PRINT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string PRINT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PRINT_ERROR")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.14")]
                public const string PRINT_ERROR;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PRINT_PAUSED")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.14")]
                public const string PRINT_PAUSED;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PRINT_PREVIEW")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string PRINT_PREVIEW;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PRINT_REPORT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.14")]
                public const string PRINT_REPORT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PRINT_WARNING")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.14")]
                public const string PRINT_WARNING;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_PROPERTIES")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string PROPERTIES;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_QUIT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string QUIT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_REDO")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string REDO;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_REFRESH")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string REFRESH;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_REMOVE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string REMOVE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_REVERT_TO_SAVED")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string REVERT_TO_SAVED;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SAVE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string SAVE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SAVE_AS")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string SAVE_AS;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SELECT_ALL")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public const string SELECT_ALL;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SELECT_COLOR")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string SELECT_COLOR;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SELECT_FONT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string SELECT_FONT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SORT_ASCENDING")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string SORT_ASCENDING;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SORT_DESCENDING")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string SORT_DESCENDING;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_SPELL_CHECK")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string SPELL_CHECK;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_STOP")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string STOP;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_STRIKETHROUGH")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string STRIKETHROUGH;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_UNDELETE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string UNDELETE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_UNDERLINE")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string UNDERLINE;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_UNDO")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string UNDO;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_UNINDENT")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public const string UNINDENT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_YES")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string YES;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ZOOM_100")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string ZOOM_100;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ZOOM_FIT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string ZOOM_FIT;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ZOOM_IN")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string ZOOM_IN;
-               [CCode (cheader_filename = "gtk/gtk.h")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STOCK_ZOOM_OUT")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public const string ZOOM_OUT;
                [CCode (cheader_filename = "gtk/gtk.h")]
                public static void add (Gtk.StockItem[] items);
@@ -228,59 +333,107 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_about_dialog_get_type ()")]
        public class AboutDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public AboutDialog ();
+               [Version (since = "3.4")]
                public void add_credit_section (string section_name, [CCode (array_length = false, 
array_null_terminated = true)] string[] people);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public unowned string[] get_artists ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public unowned string[] get_authors ();
+               [Version (since = "2.6")]
                public unowned string get_comments ();
+               [Version (since = "2.6")]
                public unowned string get_copyright ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public unowned string[] get_documenters ();
+               [Version (since = "2.6")]
                public unowned string get_license ();
+               [Version (since = "3.0")]
                public Gtk.License get_license_type ();
+               [Version (since = "2.6")]
                public unowned Gdk.Pixbuf get_logo ();
+               [Version (since = "2.6")]
                public unowned string get_logo_icon_name ();
+               [Version (since = "2.12")]
                public unowned string get_program_name ();
+               [Version (since = "2.6")]
                public unowned string get_translator_credits ();
+               [Version (since = "2.6")]
                public unowned string get_version ();
+               [Version (since = "2.6")]
                public unowned string get_website ();
+               [Version (since = "2.6")]
                public unowned string get_website_label ();
+               [Version (since = "2.8")]
                public bool get_wrap_license ();
+               [Version (since = "2.6")]
                public void set_artists ([CCode (array_length = false, array_null_terminated = true)] 
string[] artists);
+               [Version (since = "2.6")]
                public void set_authors ([CCode (array_length = false, array_null_terminated = true)] 
string[] authors);
+               [Version (since = "2.6")]
                public void set_comments (string? comments);
+               [Version (since = "2.6")]
                public void set_copyright (string? copyright);
+               [Version (since = "2.6")]
                public void set_documenters ([CCode (array_length = false, array_null_terminated = true)] 
string[] documenters);
+               [Version (since = "2.6")]
                public void set_license (string? license);
+               [Version (since = "3.0")]
                public void set_license_type (Gtk.License license_type);
+               [Version (since = "2.6")]
                public void set_logo (Gdk.Pixbuf? logo);
+               [Version (since = "2.6")]
                public void set_logo_icon_name (string? icon_name);
+               [Version (since = "2.12")]
                public void set_program_name (string name);
+               [Version (since = "2.6")]
                public void set_translator_credits (string? translator_credits);
+               [Version (since = "2.6")]
                public void set_version (string? version);
+               [Version (since = "2.6")]
                public void set_website (string? website);
+               [Version (since = "2.6")]
                public void set_website_label (string website_label);
+               [Version (since = "2.8")]
                public void set_wrap_license (bool wrap_license);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public string[] artists { get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public string[] authors { get; set; }
+               [Version (since = "2.6")]
                public string comments { get; set; }
+               [Version (since = "2.6")]
                public string copyright { get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public string[] documenters { get; set; }
+               [Version (since = "2.6")]
                public string license { get; set; }
+               [Version (since = "3.0")]
                public Gtk.License license_type { get; set; }
+               [Version (since = "2.6")]
                public Gdk.Pixbuf logo { get; set; }
+               [Version (since = "2.6")]
                public string logo_icon_name { get; set; }
+               [Version (since = "2.12")]
                public string program_name { get; set; }
+               [Version (since = "2.6")]
                public string translator_credits { get; set; }
+               [Version (since = "2.6")]
                public string version { get; set; }
+               [Version (since = "2.6")]
                public string website { get; set; }
+               [Version (since = "2.6")]
                public string website_label { get; set; }
+               [Version (since = "2.8")]
                public bool wrap_license { get; set; }
+               [Version (since = "2.24")]
                public virtual signal bool activate_link (string uri);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_accel_group_get_type ()")]
@@ -294,25 +447,29 @@ namespace Gtk {
                public bool disconnect_key (uint accel_key, Gdk.ModifierType accel_mods);
                public Gtk.AccelKey* find (Gtk.AccelGroupFindFunc find_func);
                public static unowned Gtk.AccelGroup? from_accel_closure (GLib.Closure closure);
+               [Version (since = "2.14")]
                public bool get_is_locked ();
+               [Version (since = "2.14")]
                public Gdk.ModifierType get_modifier_mask ();
                public void @lock ();
-               [CCode (array_length_type = "guint")]
+               [CCode (array_length_pos = 2.1, array_length_type = "guint")]
                public unowned Gtk.AccelGroupEntry[]? query (uint accel_key, Gdk.ModifierType accel_mods);
                public void unlock ();
                public bool is_locked { get; }
                public Gdk.ModifierType modifier_mask { get; }
-               public virtual signal bool accel_activate (GLib.Object p0, uint p1, Gdk.ModifierType p2);
+               public signal bool accel_activate (GLib.Object acceleratable, uint keyval, Gdk.ModifierType 
modifier);
                public virtual signal void accel_changed (uint keyval, Gdk.ModifierType modifier, 
GLib.Closure accel_closure);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_accel_label_get_type ()")]
        public class AccelLabel : Gtk.Label, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public AccelLabel (string str);
+               public AccelLabel (string string);
+               [Version (since = "3.12")]
                public void get_accel (out uint accelerator_key, out Gdk.ModifierType accelerator_mods);
                public unowned Gtk.Widget? get_accel_widget ();
                public uint get_accel_width ();
                public bool refetch ();
+               [Version (since = "3.6")]
                public void set_accel (uint accelerator_key, Gdk.ModifierType accelerator_mods);
                public void set_accel_closure ([CCode (type = "GClosure*")] owned Gtk.AccelGroupActivate 
accel_closure);
                public void set_accel_widget (Gtk.Widget accel_widget);
@@ -329,28 +486,30 @@ namespace Gtk {
                public static bool change_entry (string accel_path, uint accel_key, Gdk.ModifierType 
accel_mods, bool replace);
                public static void @foreach (void* data, Gtk.AccelMapForeach foreach_func);
                public static void foreach_unfiltered (void* data, Gtk.AccelMapForeach foreach_func);
+               [Version (since = "2.4")]
                public static unowned Gtk.AccelMap @get ();
                public static void load (string file_name);
                public static void load_fd (int fd);
                public static void load_scanner (GLib.Scanner scanner);
+               [Version (since = "2.4")]
                public static void lock_path (string accel_path);
                public static bool lookup_entry (string accel_path, out Gtk.AccelKey key);
                public static void save (string file_name);
                public static void save_fd (int fd);
+               [Version (since = "2.4")]
                public static void unlock_path (string accel_path);
-               public virtual signal void changed (string p0, uint p1, Gdk.ModifierType p2);
-       }
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       [Compact]
-       public class AccelMapClass {
+               [Version (since = "2.4")]
+               public signal void changed (string accel_path, uint accel_key, Gdk.ModifierType accel_mods);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_accessible_get_type ()")]
        public class Accessible : Atk.Object {
                [CCode (has_construct_function = false)]
                protected Accessible ();
-               [Version (deprecated_since = "3.4", replacement = "Accessible.set_widget")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "set_widget")]
                public virtual void connect_widget_destroyed ();
-               public unowned Gtk.Widget get_widget ();
+               [Version (since = "2.22")]
+               public unowned Gtk.Widget? get_widget ();
+               [Version (since = "2.22")]
                public void set_widget (Gtk.Widget? widget);
                [NoWrapper]
                public virtual void widget_set ();
@@ -359,59 +518,102 @@ namespace Gtk {
                public Gtk.Widget widget { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_action_get_type ()")]
-       [Version (deprecated_since = "3.10", replacement = "GLib.Action")]
+       [Version (deprecated = true, deprecated_since = "3.10", replacement = "GLib.Action")]
        public class Action : GLib.Object, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public Action (string name, string? label, string? tooltip, string? stock_id);
+               [Version (since = "2.16")]
                public void block_activate ();
+               [Version (since = "2.4")]
                public void connect_accelerator ();
                [NoWrapper]
                public virtual void connect_proxy (Gtk.Widget proxy);
-               public unowned Gtk.Widget create_icon (Gtk.IconSize icon_size);
+               [Version (since = "2.4")]
+               public unowned Gtk.Widget create_icon ([CCode (type = "GtkIconSize")] Gtk.IconSize icon_size);
+               [Version (since = "2.12")]
                public virtual unowned Gtk.Widget create_menu ();
+               [Version (since = "2.4")]
                public virtual unowned Gtk.Widget create_menu_item ();
+               [Version (since = "2.4")]
                public virtual unowned Gtk.Widget create_tool_item ();
+               [Version (since = "2.4")]
                public void disconnect_accelerator ();
                [NoWrapper]
                public virtual void disconnect_proxy (Gtk.Widget proxy);
+               [Version (since = "2.8")]
                public unowned GLib.Closure get_accel_closure ();
+               [Version (since = "2.6")]
                public unowned string get_accel_path ();
+               [Version (since = "2.20")]
                public bool get_always_show_image ();
+               [Version (since = "2.16")]
                public unowned GLib.Icon get_gicon ();
+               [Version (since = "2.16")]
                public unowned string get_icon_name ();
+               [Version (since = "2.16")]
                public bool get_is_important ();
+               [Version (since = "2.16")]
                public unowned string get_label ();
+               [Version (since = "2.4")]
                public unowned GLib.SList<Gtk.Widget> get_proxies ();
+               [Version (since = "2.4")]
                public bool get_sensitive ();
+               [Version (since = "2.16")]
                public unowned string get_short_label ();
+               [Version (since = "2.16")]
                public unowned string get_stock_id ();
+               [Version (since = "2.16")]
                public unowned string get_tooltip ();
+               [Version (since = "2.4")]
                public bool get_visible ();
+               [Version (since = "2.16")]
                public bool get_visible_horizontal ();
+               [Version (since = "2.16")]
                public bool get_visible_vertical ();
+               [Version (since = "2.4")]
                public bool is_sensitive ();
+               [Version (since = "2.4")]
                public bool is_visible ();
+               [Version (since = "2.4")]
                public void set_accel_group (Gtk.AccelGroup? accel_group);
+               [Version (since = "2.4")]
                public void set_accel_path (string accel_path);
+               [Version (since = "2.20")]
                public void set_always_show_image (bool always_show);
+               [Version (since = "2.16")]
                public void set_gicon (GLib.Icon icon);
+               [Version (since = "2.16")]
                public void set_icon_name (string icon_name);
+               [Version (since = "2.16")]
                public void set_is_important (bool is_important);
+               [Version (since = "2.16")]
                public void set_label (string label);
+               [Version (since = "2.6")]
                public void set_sensitive (bool sensitive);
+               [Version (since = "2.16")]
                public void set_short_label (string short_label);
+               [Version (since = "2.16")]
                public void set_stock_id (string stock_id);
+               [Version (since = "2.16")]
                public void set_tooltip (string tooltip);
+               [Version (since = "2.6")]
                public void set_visible (bool visible);
+               [Version (since = "2.16")]
                public void set_visible_horizontal (bool visible_horizontal);
+               [Version (since = "2.16")]
                public void set_visible_vertical (bool visible_vertical);
+               [Version (since = "2.16")]
                public void unblock_activate ();
                [NoAccessorMethod]
                public Gtk.ActionGroup action_group { owned get; set; }
+               [Version (since = "2.20")]
                public bool always_show_image { get; set construct; }
+               [Version (since = "2.16")]
                public GLib.Icon gicon { get; set; }
                [NoAccessorMethod]
                public bool hide_if_empty { get; set; }
+               [Version (since = "2.10")]
                public string icon_name { get; set; }
                public bool is_important { get; set; }
                public string label { get; set; }
@@ -423,78 +625,128 @@ namespace Gtk {
                public bool visible { get; set; }
                public bool visible_horizontal { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public bool visible_overflown { get; set; }
                public bool visible_vertical { get; set; }
                [HasEmitter]
+               [Version (since = "2.4")]
                public virtual signal void activate ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_action_bar_get_type ()")]
        public class ActionBar : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.12")]
                public ActionBar ();
-               public unowned Gtk.Widget get_center_widget ();
+               [Version (since = "3.12")]
+               public unowned Gtk.Widget? get_center_widget ();
+               [Version (since = "3.12")]
                public void pack_end (Gtk.Widget child);
+               [Version (since = "3.12")]
                public void pack_start (Gtk.Widget child);
+               [Version (since = "3.12")]
                public void set_center_widget (Gtk.Widget? center_widget);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_action_group_get_type ()")]
-       [Version (deprecated_since = "3.10")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public class ActionGroup : GLib.Object, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public ActionGroup (string name);
+               [Version (since = "2.4")]
                public void add_action (Gtk.Action action);
+               [Version (since = "2.4")]
                public void add_action_with_accel (Gtk.Action action, string? accelerator);
-               public void add_actions (Gtk.ActionEntry[] entries, void* user_data);
-               public void add_actions_full (Gtk.ActionEntry[] entries, void* user_data, GLib.DestroyNotify? 
destroy);
-               public void add_radio_actions (Gtk.RadioActionEntry[] entries, int value, [CCode (type = 
"GCallback")] Gtk.RadioActionCallback on_change);
-               public void add_radio_actions_full (Gtk.RadioActionEntry[] entries, int value, [CCode (type = 
"GCallback")] owned Gtk.RadioActionCallback on_change);
-               public void add_toggle_actions (Gtk.ToggleActionEntry[] entries, void* user_data);
-               public void add_toggle_actions_full (Gtk.ToggleActionEntry[] entries, void* user_data, 
GLib.DestroyNotify? destroy);
+               [Version (since = "2.4")]
+               public void add_actions ([CCode (array_length_cname = "n_entries", array_length_pos = 1.5, 
array_length_type = "guint")] Gtk.ActionEntry[] entries, void* user_data);
+               [Version (since = "2.4")]
+               public void add_actions_full ([CCode (array_length_cname = "n_entries", array_length_pos = 
1.5, array_length_type = "guint")] Gtk.ActionEntry[] entries, void* user_data, GLib.DestroyNotify? destroy);
+               [Version (since = "2.4")]
+               public void add_radio_actions ([CCode (array_length_cname = "n_entries", array_length_pos = 
1.5, array_length_type = "guint")] Gtk.RadioActionEntry[] entries, int value, [CCode (type = "GCallback")] 
Gtk.RadioActionCallback on_change);
+               [Version (since = "2.4")]
+               public void add_radio_actions_full ([CCode (array_length_cname = "n_entries", 
array_length_pos = 1.5, array_length_type = "guint")] Gtk.RadioActionEntry[] entries, int value, [CCode (type 
= "GCallback")] owned Gtk.RadioActionCallback on_change);
+               [Version (since = "2.4")]
+               public void add_toggle_actions ([CCode (array_length_cname = "n_entries", array_length_pos = 
1.5, array_length_type = "guint")] Gtk.ToggleActionEntry[] entries, void* user_data);
+               [Version (since = "2.4")]
+               public void add_toggle_actions_full ([CCode (array_length_cname = "n_entries", 
array_length_pos = 1.5, array_length_type = "guint")] Gtk.ToggleActionEntry[] entries, void* user_data, 
GLib.DestroyNotify? destroy);
+               [Version (since = "3.6")]
                public unowned Gtk.AccelGroup get_accel_group ();
+               [Version (since = "2.4")]
                public virtual unowned Gtk.Action get_action (string action_name);
+               [Version (since = "2.4")]
                public bool get_sensitive ();
+               [Version (since = "2.4")]
                public bool get_visible ();
+               [Version (since = "2.4")]
                public GLib.List<weak Gtk.Action> list_actions ();
+               [Version (since = "2.4")]
                public void remove_action (Gtk.Action action);
+               [Version (since = "3.6")]
                public void set_accel_group (Gtk.AccelGroup? accel_group);
+               [Version (since = "2.4")]
                public void set_sensitive (bool sensitive);
+               [Version (since = "2.4")]
                public void set_translate_func (owned Gtk.TranslateFunc func);
+               [Version (since = "2.4")]
                public void set_translation_domain (string? domain);
+               [Version (since = "2.4")]
                public void set_visible (bool visible);
-               public unowned string translate_string (string str);
+               [Version (since = "2.6")]
+               public unowned string translate_string (string string);
                public Gtk.AccelGroup accel_group { get; set; }
                public string name { get; construct; }
                public bool sensitive { get; set; }
                public bool visible { get; set; }
-               public virtual signal void connect_proxy (Gtk.Action p0, Gtk.Widget p1);
-               public virtual signal void disconnect_proxy (Gtk.Action p0, Gtk.Widget p1);
-               public virtual signal void post_activate (Gtk.Action p0);
-               public virtual signal void pre_activate (Gtk.Action p0);
+               [Version (since = "2.4")]
+               public signal void connect_proxy (Gtk.Action action, Gtk.Widget proxy);
+               [Version (since = "2.4")]
+               public signal void disconnect_proxy (Gtk.Action action, Gtk.Widget proxy);
+               [Version (since = "2.4")]
+               public signal void post_activate (Gtk.Action action);
+               [Version (since = "2.4")]
+               public signal void pre_activate (Gtk.Action action);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_adjustment_get_type ()")]
        public class Adjustment : GLib.InitiallyUnowned {
                [CCode (has_construct_function = false)]
                public Adjustment (double value, double lower, double upper, double step_increment, double 
page_increment, double page_size);
                public void clamp_page (double lower, double upper);
+               [Version (since = "2.14")]
                public void configure (double value, double lower, double upper, double step_increment, 
double page_increment, double page_size);
+               [Version (since = "2.14")]
                public double get_lower ();
+               [Version (since = "3.2")]
                public double get_minimum_increment ();
+               [Version (since = "2.14")]
                public double get_page_increment ();
+               [Version (since = "2.14")]
                public double get_page_size ();
+               [Version (since = "2.14")]
                public double get_step_increment ();
+               [Version (since = "2.14")]
                public double get_upper ();
                public double get_value ();
+               [Version (since = "2.14")]
                public void set_lower (double lower);
+               [Version (since = "2.14")]
                public void set_page_increment (double page_increment);
+               [Version (since = "2.14")]
                public void set_page_size (double page_size);
+               [Version (since = "2.14")]
                public void set_step_increment (double step_increment);
+               [Version (since = "2.14")]
                public void set_upper (double upper);
                public void set_value (double value);
+               [Version (since = "2.4")]
                public double lower { get; set; }
+               [Version (since = "2.4")]
                public double page_increment { get; set; }
+               [Version (since = "2.4")]
                public double page_size { get; set; }
+               [Version (since = "2.4")]
                public double step_increment { get; set; }
+               [Version (since = "2.4")]
                public double upper { get; set; }
+               [Version (since = "2.4")]
                public double value { get; set; }
                [HasEmitter]
                public virtual signal void changed ();
@@ -502,19 +754,26 @@ namespace Gtk {
                public virtual signal void value_changed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_alignment_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.14")]
        public class Alignment : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Alignment (float xalign, float yalign, float xscale, float yscale);
+               [Version (since = "2.4")]
                public void get_padding (out uint padding_top, out uint padding_bottom, out uint 
padding_left, out uint padding_right);
                public void @set (float xalign, float yalign, float xscale, float yscale);
+               [Version (since = "2.4")]
                public void set_padding (uint padding_top, uint padding_bottom, uint padding_left, uint 
padding_right);
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public uint bottom_padding { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public uint left_padding { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public uint right_padding { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public uint top_padding { get; set; }
                [NoAccessorMethod]
                public float xalign { get; set; }
@@ -526,30 +785,42 @@ namespace Gtk {
                public float yscale { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_app_chooser_button_get_type ()")]
-       public class AppChooserButton : Gtk.ComboBox, Atk.Implementor, Gtk.Buildable, Gtk.CellLayout, 
Gtk.CellEditable, Gtk.AppChooser {
+       public class AppChooserButton : Gtk.ComboBox, Atk.Implementor, Gtk.AppChooser, Gtk.Buildable, 
Gtk.CellEditable, Gtk.CellLayout {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public AppChooserButton (string content_type);
+               [Version (since = "3.0")]
                public void append_custom_item (string name, string label, GLib.Icon icon);
+               [Version (since = "3.0")]
                public void append_separator ();
                public unowned string? get_heading ();
+               [Version (since = "3.2")]
                public bool get_show_default_item ();
+               [Version (since = "3.0")]
                public bool get_show_dialog_item ();
+               [Version (since = "3.0")]
                public void set_active_custom_item (string name);
                public void set_heading (string heading);
+               [Version (since = "3.2")]
                public void set_show_default_item (bool setting);
+               [Version (since = "3.0")]
                public void set_show_dialog_item (bool setting);
                public string heading { get; set; }
+               [Version (since = "3.2")]
                public bool show_default_item { get; set construct; }
                public bool show_dialog_item { get; set construct; }
                public virtual signal void custom_item_activated (string item_name);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_app_chooser_dialog_get_type ()")]
-       public class AppChooserDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable, Gtk.AppChooser {
+       public class AppChooserDialog : Gtk.Dialog, Atk.Implementor, Gtk.AppChooser, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public AppChooserDialog (Gtk.Window? parent, Gtk.DialogFlags flags, GLib.File file);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public AppChooserDialog.for_content_type (Gtk.Window? parent, Gtk.DialogFlags flags, string 
content_type);
                public unowned string? get_heading ();
+               [Version (since = "3.0")]
                public unowned Gtk.Widget get_widget ();
                public void set_heading (string heading);
                [NoAccessorMethod]
@@ -557,20 +828,32 @@ namespace Gtk {
                public string heading { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_app_chooser_widget_get_type ()")]
-       public class AppChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, 
Gtk.AppChooser {
+       public class AppChooserWidget : Gtk.Box, Atk.Implementor, Gtk.AppChooser, Gtk.Buildable, 
Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public AppChooserWidget (string content_type);
+               [Version (since = "3.0")]
                public unowned string get_default_text ();
+               [Version (since = "3.0")]
                public bool get_show_all ();
+               [Version (since = "3.0")]
                public bool get_show_default ();
+               [Version (since = "3.0")]
                public bool get_show_fallback ();
+               [Version (since = "3.0")]
                public bool get_show_other ();
+               [Version (since = "3.0")]
                public bool get_show_recommended ();
                public void set_default_text (string text);
+               [Version (since = "3.0")]
                public void set_show_all (bool setting);
+               [Version (since = "3.0")]
                public void set_show_default (bool setting);
+               [Version (since = "3.0")]
                public void set_show_fallback (bool setting);
+               [Version (since = "3.0")]
                public void set_show_other (bool setting);
+               [Version (since = "3.0")]
                public void set_show_recommended (bool setting);
                public string default_text { get; set; }
                public bool show_all { get; set construct; }
@@ -585,53 +868,85 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_application_get_type ()")]
        public class Application : GLib.Application, GLib.ActionGroup, GLib.ActionMap {
                [CCode (has_construct_function = false)]
+               [Version (since = "3.0")]
                public Application (string? application_id, GLib.ApplicationFlags flags);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.4")]
                public void add_accelerator (string accelerator, string action_name, GLib.Variant? parameter);
+               [Version (since = "3.0")]
                public void add_window (Gtk.Window window);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "3.12")]
                public string[] get_accels_for_action (string detailed_action_name);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "3.14")]
                public string[] get_actions_for_accel (string accel);
+               [Version (since = "3.6")]
                public unowned Gtk.Window get_active_window ();
-               public unowned GLib.MenuModel get_app_menu ();
+               [Version (since = "3.4")]
+               public unowned GLib.MenuModel? get_app_menu ();
+               [Version (since = "3.14")]
                public unowned GLib.Menu get_menu_by_id (string id);
+               [Version (since = "3.4")]
                public unowned GLib.MenuModel get_menubar ();
+               [Version (since = "3.6")]
                public unowned Gtk.Window? get_window_by_id (uint id);
-               public unowned GLib.List<weak Gtk.Window> get_windows ();
+               [Version (since = "3.0")]
+               public unowned GLib.List<Gtk.Window> get_windows ();
+               [Version (since = "3.4")]
                public uint inhibit (Gtk.Window? window, Gtk.ApplicationInhibitFlags flags, string? reason);
+               [Version (since = "3.4")]
                public bool is_inhibited (Gtk.ApplicationInhibitFlags flags);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "3.12")]
                public string[] list_action_descriptions ();
+               [Version (since = "3.14")]
                public bool prefers_app_menu ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.4")]
                public void remove_accelerator (string action_name, GLib.Variant? parameter);
+               [Version (since = "3.0")]
                public void remove_window (Gtk.Window window);
+               [Version (since = "3.12")]
                public void set_accels_for_action (string detailed_action_name, [CCode (array_length = false, 
array_null_terminated = true)] string[] accels);
+               [Version (since = "3.4")]
                public void set_app_menu (GLib.MenuModel? app_menu);
+               [Version (since = "3.4")]
                public void set_menubar (GLib.MenuModel? menubar);
+               [Version (since = "3.4")]
                public void uninhibit (uint cookie);
                public Gtk.Window active_window { get; }
                public GLib.MenuModel app_menu { get; set; }
                public GLib.MenuModel menubar { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.4")]
                public bool register_session { get; set; }
+               [Version (since = "3.2")]
                public virtual signal void window_added (Gtk.Window window);
+               [Version (since = "3.2")]
                public virtual signal void window_removed (Gtk.Window window);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_application_window_get_type ()")]
-       public class ApplicationWindow : Gtk.Window, Atk.Implementor, Gtk.Buildable, GLib.ActionGroup, 
GLib.ActionMap {
+       public class ApplicationWindow : Gtk.Window, Atk.Implementor, GLib.ActionGroup, GLib.ActionMap, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.4")]
                public ApplicationWindow (Gtk.Application application);
+               [Version (since = "3.20")]
                public unowned Gtk.ShortcutsWindow? get_help_overlay ();
+               [Version (since = "3.6")]
                public uint get_id ();
+               [Version (since = "3.4")]
                public bool get_show_menubar ();
+               [Version (since = "3.20")]
                public void set_help_overlay (Gtk.ShortcutsWindow? help_overlay);
+               [Version (since = "3.4")]
                public void set_show_menubar (bool show_menubar);
                public bool show_menubar { get; set construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_arrow_get_type ()")]
        public class Arrow : Gtk.Misc, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public Arrow (Gtk.ArrowType arrow_type, Gtk.ShadowType shadow_type);
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public void @set (Gtk.ArrowType arrow_type, Gtk.ShadowType shadow_type);
                [NoAccessorMethod]
                public Gtk.ArrowType arrow_type { get; set; }
@@ -660,44 +975,73 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_assistant_get_type ()")]
        public class Assistant : Gtk.Window, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public Assistant ();
+               [Version (since = "2.10")]
                public void add_action_widget (Gtk.Widget child);
+               [Version (since = "2.10")]
                public int append_page (Gtk.Widget page);
+               [Version (since = "2.22")]
                public void commit ();
+               [Version (since = "2.10")]
                public int get_current_page ();
+               [Version (since = "2.10")]
                public int get_n_pages ();
+               [Version (since = "2.10")]
                public unowned Gtk.Widget? get_nth_page (int page_num);
+               [Version (since = "2.10")]
                public bool get_page_complete (Gtk.Widget page);
+               [Version (since = "3.18")]
                public bool get_page_has_padding (Gtk.Widget page);
-               [Version (deprecated_since = "3.2")]
+               [Version (deprecated = true, deprecated_since = "3.2", since = "2.10")]
                public unowned Gdk.Pixbuf get_page_header_image (Gtk.Widget page);
-               [Version (deprecated_since = "3.2")]
+               [Version (deprecated = true, deprecated_since = "3.2", since = "2.10")]
                public unowned Gdk.Pixbuf get_page_side_image (Gtk.Widget page);
+               [Version (since = "2.10")]
                public unowned string get_page_title (Gtk.Widget page);
+               [Version (since = "2.10")]
                public Gtk.AssistantPageType get_page_type (Gtk.Widget page);
+               [Version (since = "2.10")]
                public int insert_page (Gtk.Widget page, int position);
+               [Version (since = "3.0")]
                public void next_page ();
+               [Version (since = "2.10")]
                public int prepend_page (Gtk.Widget page);
+               [Version (since = "3.0")]
                public void previous_page ();
+               [Version (since = "2.10")]
                public void remove_action_widget (Gtk.Widget child);
+               [Version (since = "3.2")]
                public void remove_page (int page_num);
+               [Version (since = "2.10")]
                public void set_current_page (int page_num);
+               [Version (since = "2.10")]
                public void set_forward_page_func (owned Gtk.AssistantPageFunc? page_func);
+               [Version (since = "2.10")]
                public void set_page_complete (Gtk.Widget page, bool complete);
+               [Version (since = "3.18")]
                public void set_page_has_padding (Gtk.Widget page, bool has_padding);
-               [Version (deprecated_since = "3.2")]
+               [Version (deprecated = true, deprecated_since = "3.2", since = "2.10")]
                public void set_page_header_image (Gtk.Widget page, Gdk.Pixbuf? pixbuf);
-               [Version (deprecated_since = "3.2")]
+               [Version (deprecated = true, deprecated_since = "3.2", since = "2.10")]
                public void set_page_side_image (Gtk.Widget page, Gdk.Pixbuf? pixbuf);
+               [Version (since = "2.10")]
                public void set_page_title (Gtk.Widget page, string title);
+               [Version (since = "2.10")]
                public void set_page_type (Gtk.Widget page, Gtk.AssistantPageType type);
+               [Version (since = "2.10")]
                public void update_buttons_state ();
                [NoAccessorMethod]
+               [Version (since = "3.12")]
                public int use_header_bar { get; construct; }
+               [Version (since = "2.10")]
                public virtual signal void apply ();
+               [Version (since = "2.10")]
                public virtual signal void cancel ();
+               [Version (since = "2.10")]
                public virtual signal void close ();
-               public virtual signal void escape ();
+               public signal void escape ();
+               [Version (since = "2.10")]
                public virtual signal void prepare (Gtk.Widget page);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_bin_get_type ()")]
@@ -706,7 +1050,7 @@ namespace Gtk {
                protected Bin ();
                public unowned Gtk.Widget get_child ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        [Compact]
        public class BindingEntry {
                public weak Gtk.BindingSet binding_set;
@@ -719,23 +1063,34 @@ namespace Gtk {
                public weak Gtk.BindingEntry set_next;
                public weak Gtk.BindingSignal signals;
                public static void add_signal (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType 
modifiers, string signal_name, uint n_args, ...);
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               [Version (since = "3.0")]
                public static GLib.TokenType add_signal_from_string (Gtk.BindingSet binding_set, string 
signal_desc);
-               public static void add_signall (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType 
modifiers, string signal_name, GLib.SList<Gtk.BindingArg?> binding_args);
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               public static void add_signall (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType 
modifiers, string signal_name, [CCode (type = "GSList*")] GLib.SList<Gtk.BindingArg?> binding_args);
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static void remove (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType 
modifiers);
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               [Version (since = "2.12")]
                public static void skip (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType modifiers);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        [Compact]
        public class BindingSet {
+               public weak GLib.SList<void*> class_branch_pspecs;
                public weak Gtk.BindingEntry current;
                public weak Gtk.BindingEntry entries;
                public uint parsed;
                public int priority;
                public weak string set_name;
+               public weak GLib.SList<void*> widget_class_pspecs;
+               public weak GLib.SList<void*> widget_path_pspecs;
                public bool activate (uint keyval, Gdk.ModifierType modifiers, GLib.Object object);
-               [Version (deprecated_since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void add_path (Gtk.PathType path_type, string path_pattern, Gtk.PathPriorityType 
priority);
-               public static unowned Gtk.BindingSet by_class (GLib.ObjectClass object_class);
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               public static unowned Gtk.BindingSet by_class ([CCode (type = "gpointer")] GLib.ObjectClass 
object_class);
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static unowned Gtk.BindingSet? find (string set_name);
                public static unowned Gtk.BindingSet @new (string name);
        }
@@ -756,8 +1111,11 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_box_get_type ()")]
        public class Box : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public Box (Gtk.Orientation orientation, int spacing);
+               [Version (since = "3.10")]
                public Gtk.BaselinePosition get_baseline_position ();
+               [Version (since = "3.12")]
                public unowned Gtk.Widget? get_center_widget ();
                public bool get_homogeneous ();
                public int get_spacing ();
@@ -765,7 +1123,9 @@ namespace Gtk {
                public void pack_start (Gtk.Widget child, bool expand = true, bool fill = true, uint padding 
= 0);
                public void query_child_packing (Gtk.Widget child, out bool expand, out bool fill, out uint 
padding, out Gtk.PackType pack_type);
                public void reorder_child (Gtk.Widget child, int position);
+               [Version (since = "3.10")]
                public void set_baseline_position (Gtk.BaselinePosition position);
+               [Version (since = "3.12")]
                public void set_center_widget (Gtk.Widget? widget);
                public void set_child_packing (Gtk.Widget child, bool expand, bool fill, uint padding, 
Gtk.PackType pack_type);
                public void set_homogeneous (bool homogeneous);
@@ -777,107 +1137,158 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_builder_get_type ()")]
        public class Builder : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public Builder ();
+               [Version (since = "3.10")]
                public void add_callback_symbol (string callback_name, [CCode (scope = "async")] 
GLib.Callback callback_symbol);
+               [Version (since = "3.10")]
                public void add_callback_symbols (string first_callback_name, ...);
+               [Version (since = "2.12")]
                public uint add_from_file (string filename) throws GLib.Error;
+               [Version (since = "3.4")]
                public uint add_from_resource (string resource_path) throws GLib.Error;
+               [Version (since = "2.12")]
                public uint add_from_string (string buffer, size_t length) throws GLib.Error;
+               [Version (since = "2.14")]
                public uint add_objects_from_file (string filename, [CCode (array_length = false, 
array_null_terminated = true)] string[] object_ids) throws GLib.Error;
+               [Version (since = "3.4")]
                public uint add_objects_from_resource (string resource_path, [CCode (array_length = false, 
array_null_terminated = true)] string[] object_ids) throws GLib.Error;
+               [Version (since = "2.14")]
                public uint add_objects_from_string (string buffer, size_t length, [CCode (array_length = 
false, array_null_terminated = true)] string[] object_ids) throws GLib.Error;
+               [Version (since = "2.12")]
                public void connect_signals (void* user_data);
+               [Version (since = "2.12")]
                public void connect_signals_full (Gtk.BuilderConnectFunc func);
+               [Version (since = "3.8")]
                public void expose_object (string name, GLib.Object object);
                public uint extend_with_template (Gtk.Widget widget, GLib.Type template_type, string buffer, 
size_t length) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "3.10")]
                public Builder.from_file (string filename);
                [CCode (has_construct_function = false)]
+               [Version (since = "3.10")]
                public Builder.from_resource (string resource_path);
                [CCode (has_construct_function = false)]
-               public Builder.from_string (string str, ssize_t length);
+               [Version (since = "3.10")]
+               public Builder.from_string (string string, ssize_t length);
+               [Version (since = "3.10")]
                public unowned Gtk.Application? get_application ();
+               [Version (since = "2.12")]
                public unowned GLib.Object? get_object (string name);
+               [Version (since = "2.12")]
                public GLib.SList<weak GLib.Object> get_objects ();
+               [Version (since = "2.12")]
                public unowned string get_translation_domain ();
+               [Version (since = "2.12")]
                public virtual GLib.Type get_type_from_name (string type_name);
-               public unowned GLib.Callback lookup_callback_symbol (string callback_name);
+               [Version (since = "3.10")]
+               public unowned GLib.Callback? lookup_callback_symbol (string callback_name);
+               [Version (since = "3.10")]
                public void set_application (Gtk.Application application);
-               public void set_translation_domain (string domain);
-               public bool value_from_string (GLib.ParamSpec pspec, string str, out GLib.Value value) throws 
GLib.Error;
-               public bool value_from_string_type (GLib.Type type, string str, out GLib.Value value) throws 
GLib.Error;
+               [Version (since = "2.12")]
+               public void set_translation_domain (string? domain);
+               [Version (since = "2.12")]
+               public bool value_from_string (GLib.ParamSpec pspec, string string, out GLib.Value value) 
throws GLib.Error;
+               [Version (since = "2.12")]
+               public bool value_from_string_type (GLib.Type type, string string, out GLib.Value value) 
throws GLib.Error;
+               [Version (since = "2.12")]
                public string translation_domain { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_button_get_type ()")]
-       public class Button : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, Gtk.Activatable {
+       public class Button : Gtk.Bin, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Button ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Button.from_icon_name (string icon_name, Gtk.IconSize size = Gtk.IconSize.BUTTON);
+               [Version (since = "3.10")]
+               public Button.from_icon_name (string icon_name, [CCode (type = "GtkIconSize")] Gtk.IconSize 
size = Gtk.IconSize.BUTTON);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public Button.from_stock (string stock_id);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public void get_alignment (out float xalign, out float yalign);
+               [Version (since = "3.6")]
                public bool get_always_show_image ();
+               [Version (since = "2.22")]
                public unowned Gdk.Window get_event_window ();
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.4")]
                public bool get_focus_on_click ();
+               [Version (since = "2.6")]
                public unowned Gtk.Widget? get_image ();
+               [Version (since = "2.10")]
                public Gtk.PositionType get_image_position ();
                public unowned string get_label ();
                public Gtk.ReliefStyle get_relief ();
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool get_use_stock ();
                public bool get_use_underline ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public void set_alignment (float xalign, float yalign);
+               [Version (since = "3.6")]
                public void set_always_show_image (bool always_show);
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.4")]
                public void set_focus_on_click (bool focus_on_click);
+               [Version (since = "2.6")]
                public void set_image (Gtk.Widget image);
+               [Version (since = "2.10")]
                public void set_image_position (Gtk.PositionType position);
-               public void set_label (string? label);
+               public void set_label (string label);
                public void set_relief (Gtk.ReliefStyle relief);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public void set_use_stock (bool use_stock);
                public void set_use_underline (bool use_underline);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Button.with_label (string label);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Button.with_mnemonic (string label);
+               [Version (since = "3.6")]
                public bool always_show_image { get; set construct; }
+               [Version (since = "2.6")]
                public Gtk.Widget image { get; set; }
+               [Version (since = "2.10")]
                public Gtk.PositionType image_position { get; set; }
                public string label { get; set construct; }
                public Gtk.ReliefStyle relief { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool use_stock { get; set construct; }
                public bool use_underline { get; set construct; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public float xalign { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public float yalign { get; set; }
                public virtual signal void activate ();
                [HasEmitter]
                public virtual signal void clicked ();
                [HasEmitter]
-               [Version (deprecated_since = "2.8", replacement = "Gtk.Widget.enter_notify_event")]
+               [Version (deprecated = true, deprecated_since = "2.8", replacement = 
"Gtk.Widget.enter_notify_event")]
                public virtual signal void enter ();
                [HasEmitter]
-               [Version (deprecated_since = "2.8", replacement = "Gtk.Widget.leave_notify_event")]
+               [Version (deprecated = true, deprecated_since = "2.8", replacement = 
"Gtk.Widget.leave_notify_event")]
                public virtual signal void leave ();
                [HasEmitter]
-               [Version (deprecated_since = "2.8", replacement = "Gtk.Widget.button_press_event")]
+               [Version (deprecated = true, deprecated_since = "2.8", replacement = 
"Gtk.Widget.button_press_event")]
                public virtual signal void pressed ();
                [HasEmitter]
-               [Version (deprecated_since = "2.8", replacement = "Gtk.Widget.button_release_event")]
+               [Version (deprecated = true, deprecated_since = "2.8", replacement = 
"Gtk.Widget.button_release_event")]
                public virtual signal void released ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_button_accessible_get_type ()")]
-       public class ButtonAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.Action, Atk.Image {
+       public class ButtonAccessible : Gtk.ContainerAccessible, Atk.Action, Atk.Component, Atk.Image {
                [CCode (has_construct_function = false)]
                protected ButtonAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_button_box_get_type ()")]
        public class ButtonBox : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public ButtonBox (Gtk.Orientation orientation);
+               [Version (since = "3.2")]
                public bool get_child_non_homogeneous (Gtk.Widget child);
+               [Version (since = "2.4")]
                public bool get_child_secondary (Gtk.Widget child);
                public Gtk.ButtonBoxStyle get_layout ();
+               [Version (since = "3.2")]
                public void set_child_non_homogeneous (Gtk.Widget child, bool non_homogeneous);
                public void set_child_secondary (Gtk.Widget child, bool is_secondary);
                public void set_layout (Gtk.ButtonBoxStyle layout_style);
@@ -890,33 +1301,48 @@ namespace Gtk {
                public Calendar ();
                public void clear_marks ();
                public void get_date (out uint year, out uint month, out uint day);
+               [Version (since = "3.0")]
                public bool get_day_is_marked (uint day);
+               [Version (since = "2.14")]
                public int get_detail_height_rows ();
+               [Version (since = "2.14")]
                public int get_detail_width_chars ();
+               [Version (since = "2.4")]
                public Gtk.CalendarDisplayOptions get_display_options ();
                public void mark_day (uint day);
                public void select_day (uint day);
                public void select_month (uint month, uint year);
+               [Version (since = "2.14")]
                public void set_detail_func (owned Gtk.CalendarDetailFunc func);
+               [Version (since = "2.14")]
                public void set_detail_height_rows (int rows);
+               [Version (since = "2.14")]
                public void set_detail_width_chars (int chars);
+               [Version (since = "2.4")]
                public void set_display_options (Gtk.CalendarDisplayOptions flags);
                public void unmark_day (uint day);
                [NoAccessorMethod]
                public int day { get; set; }
+               [Version (since = "2.14")]
                public int detail_height_rows { get; set; }
+               [Version (since = "2.14")]
                public int detail_width_chars { get; set; }
                [NoAccessorMethod]
                public int month { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public bool no_month_change { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public bool show_day_names { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public bool show_details { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public bool show_heading { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public bool show_week_numbers { get; set; }
                [NoAccessorMethod]
                public int year { get; set; }
@@ -936,77 +1362,140 @@ namespace Gtk {
                public virtual void update_cache (bool emit_signal);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_area_get_type ()")]
-       public abstract class CellArea : GLib.InitiallyUnowned, Gtk.CellLayout, Gtk.Buildable {
+       public abstract class CellArea : GLib.InitiallyUnowned, Gtk.Buildable, Gtk.CellLayout {
                [CCode (has_construct_function = false)]
                protected CellArea ();
+               [Version (since = "3.0")]
                public virtual bool activate (Gtk.CellAreaContext context, Gtk.Widget widget, Gdk.Rectangle 
cell_area, Gtk.CellRendererState flags, bool edit_only);
+               [Version (since = "3.0")]
                public bool activate_cell (Gtk.Widget widget, Gtk.CellRenderer renderer, Gdk.Event event, 
Gdk.Rectangle cell_area, Gtk.CellRendererState flags);
+               [Version (since = "3.0")]
                public virtual void add (Gtk.CellRenderer renderer);
+               [Version (since = "3.0")]
                public void add_focus_sibling (Gtk.CellRenderer renderer, Gtk.CellRenderer sibling);
+               [Version (since = "3.0")]
                public void add_with_properties (Gtk.CellRenderer renderer, ...);
+               [Version (since = "3.0")]
                public void attribute_connect (Gtk.CellRenderer renderer, string attribute, int column);
+               [Version (since = "3.0")]
                public void attribute_disconnect (Gtk.CellRenderer renderer, string attribute);
+               [Version (since = "3.14")]
                public int attribute_get_column (Gtk.CellRenderer renderer, string attribute);
+               [Version (since = "3.0")]
                public void cell_get (Gtk.CellRenderer renderer, ...);
+               [Version (since = "3.0")]
                public void cell_get_property (Gtk.CellRenderer renderer, string property_name, GLib.Value 
value);
-               public void cell_get_valist (Gtk.CellRenderer renderer, string first_property_name, va_list 
var_args);
+               [Version (since = "3.0")]
+               public void cell_get_valist (Gtk.CellRenderer renderer, string first_property_name, [CCode 
(type = "va_list")] va_list var_args);
+               [Version (since = "3.0")]
                public void cell_set (Gtk.CellRenderer renderer, ...);
+               [Version (since = "3.0")]
                public void cell_set_property (Gtk.CellRenderer renderer, string property_name, GLib.Value 
value);
-               public void cell_set_valist (Gtk.CellRenderer renderer, string first_property_name, va_list 
var_args);
+               [Version (since = "3.0")]
+               public void cell_set_valist (Gtk.CellRenderer renderer, string first_property_name, [CCode 
(type = "va_list")] va_list var_args);
+               [Version (since = "3.0")]
                public virtual Gtk.CellAreaContext copy_context (Gtk.CellAreaContext context);
+               [Version (since = "3.0")]
                public virtual Gtk.CellAreaContext create_context ();
+               [Version (since = "3.0")]
                public virtual int event (Gtk.CellAreaContext context, Gtk.Widget widget, Gdk.Event event, 
Gdk.Rectangle cell_area, Gtk.CellRendererState flags);
                [CCode (cname = "gtk_cell_area_class_find_cell_property")]
+               [Version (since = "3.0")]
                public class unowned GLib.ParamSpec find_cell_property (string property_name);
+               [Version (since = "3.0")]
                public virtual bool focus (Gtk.DirectionType direction);
+               [Version (since = "3.0")]
                public virtual void @foreach (Gtk.CellCallback callback);
+               [Version (since = "3.0")]
                public virtual void foreach_alloc (Gtk.CellAreaContext context, Gtk.Widget widget, 
Gdk.Rectangle cell_area, Gdk.Rectangle background_area, Gtk.CellAllocCallback callback);
+               [Version (since = "3.0")]
                public Gdk.Rectangle get_cell_allocation (Gtk.CellAreaContext context, Gtk.Widget widget, 
Gtk.CellRenderer renderer, Gdk.Rectangle cell_area);
+               [Version (since = "3.0")]
                public unowned Gtk.CellRenderer get_cell_at_position (Gtk.CellAreaContext context, Gtk.Widget 
widget, Gdk.Rectangle cell_area, int x, int y, out Gdk.Rectangle alloc_area);
                [NoWrapper]
                public virtual void get_cell_property (Gtk.CellRenderer renderer, uint property_id, 
GLib.Value value, GLib.ParamSpec pspec);
+               [Version (since = "3.0")]
                public unowned string get_current_path_string ();
+               [Version (since = "3.0")]
                public unowned Gtk.CellEditable get_edit_widget ();
+               [Version (since = "3.0")]
                public unowned Gtk.CellRenderer get_edited_cell ();
+               [Version (since = "3.0")]
                public unowned Gtk.CellRenderer get_focus_cell ();
+               [Version (since = "3.0")]
                public unowned Gtk.CellRenderer? get_focus_from_sibling (Gtk.CellRenderer renderer);
+               [Version (since = "3.0")]
                public unowned GLib.List<Gtk.CellRenderer> get_focus_siblings (Gtk.CellRenderer renderer);
+               [Version (since = "3.0")]
                public virtual void get_preferred_height (Gtk.CellAreaContext context, Gtk.Widget widget, out 
int minimum_height, out int natural_height);
+               [Version (since = "3.0")]
                public virtual void get_preferred_height_for_width (Gtk.CellAreaContext context, Gtk.Widget 
widget, int width, out int minimum_height, out int natural_height);
+               [Version (since = "3.0")]
                public virtual void get_preferred_width (Gtk.CellAreaContext context, Gtk.Widget widget, out 
int minimum_width, out int natural_width);
+               [Version (since = "3.0")]
                public virtual void get_preferred_width_for_height (Gtk.CellAreaContext context, Gtk.Widget 
widget, int height, out int minimum_width, out int natural_width);
+               [Version (since = "3.0")]
                public virtual Gtk.SizeRequestMode get_request_mode ();
+               [Version (since = "3.0")]
                public bool has_renderer (Gtk.CellRenderer renderer);
+               [Version (since = "3.0")]
                public Gdk.Rectangle inner_cell_area (Gtk.Widget widget, Gdk.Rectangle cell_area);
                [CCode (cname = "gtk_cell_area_class_install_cell_property")]
+               [Version (since = "3.0")]
                public class void install_cell_property (uint property_id, GLib.ParamSpec pspec);
+               [Version (since = "3.0")]
                public virtual bool is_activatable ();
+               [Version (since = "3.0")]
                public bool is_focus_sibling (Gtk.CellRenderer renderer, Gtk.CellRenderer sibling);
-               [CCode (cname = "gtk_cell_area_class_list_cell_properties")]
+               [CCode (array_length_pos = 0.1, array_length_type = "guint", cname = 
"gtk_cell_area_class_list_cell_properties")]
+               [Version (since = "3.0")]
                public class (unowned GLib.ParamSpec)[] list_cell_properties ();
+               [Version (since = "3.0")]
                public virtual void remove (Gtk.CellRenderer renderer);
+               [Version (since = "3.0")]
                public void remove_focus_sibling (Gtk.CellRenderer renderer, Gtk.CellRenderer sibling);
+               [Version (since = "3.0")]
                public virtual void render (Gtk.CellAreaContext context, Gtk.Widget widget, Cairo.Context cr, 
Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags, bool paint_focus);
+               [Version (since = "3.0")]
                public void request_renderer (Gtk.CellRenderer renderer, Gtk.Orientation orientation, 
Gtk.Widget widget, int for_size, out int minimum_size, out int natural_size);
                [NoWrapper]
                public virtual void set_cell_property (Gtk.CellRenderer renderer, uint property_id, 
GLib.Value value, GLib.ParamSpec pspec);
+               [Version (since = "3.0")]
                public void set_focus_cell (Gtk.CellRenderer renderer);
+               [Version (since = "3.0")]
                public void stop_editing (bool canceled);
+               [Version (since = "3.0")]
                public Gtk.CellEditable edit_widget { get; }
+               [Version (since = "3.0")]
                public Gtk.CellRenderer edited_cell { get; }
+               [Version (since = "3.0")]
                public Gtk.CellRenderer focus_cell { get; set; }
-               public virtual signal void add_editable (Gtk.CellRenderer p0, Gtk.CellEditable p1, 
Gdk.Rectangle p2, string p3);
+               [Version (since = "3.0")]
+               public signal void add_editable (Gtk.CellRenderer renderer, Gtk.CellEditable editable, 
Gdk.Rectangle cell_area, string path);
                [HasEmitter]
+               [Version (since = "3.0")]
                public virtual signal void apply_attributes (Gtk.TreeModel tree_model, Gtk.TreeIter iter, 
bool is_expander, bool is_expanded);
-               public virtual signal void focus_changed (Gtk.CellRenderer p0, string p1);
-               public virtual signal void remove_editable (Gtk.CellRenderer p0, Gtk.CellEditable p1);
+               [Version (since = "3.0")]
+               public signal void focus_changed (Gtk.CellRenderer renderer, string path);
+               [Version (since = "3.0")]
+               public signal void remove_editable (Gtk.CellRenderer renderer, Gtk.CellEditable editable);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_area_box_get_type ()")]
-       public class CellAreaBox : Gtk.CellArea, Gtk.CellLayout, Gtk.Buildable, Gtk.Orientable {
+       public class CellAreaBox : Gtk.CellArea, Gtk.Buildable, Gtk.CellLayout, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkCellArea*")]
+               [Version (since = "3.0")]
                public CellAreaBox ();
+               [Version (since = "3.0")]
                public int get_spacing ();
+               [CCode (cname = "gtk_cell_area_box_pack_end")]
+               [Version (since = "3.0")]
+               public void pack_end_full (Gtk.CellRenderer renderer, bool expand = true, bool align = false, 
bool fixed = true);
+               [CCode (cname = "gtk_cell_area_box_pack_start")]
+               [Version (since = "3.0")]
+               public void pack_start_full (Gtk.CellRenderer renderer, bool expand = true, bool align = 
false, bool fixed = true);
+               [Version (since = "3.0")]
                public void set_spacing (int spacing);
+               [Version (since = "3.0")]
                public int spacing { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_area_context_get_type ()")]
@@ -1014,23 +1503,36 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected CellAreaContext ();
                public virtual void allocate (int width, int height);
+               [Version (since = "3.0")]
                public void get_allocation (out int width, out int height);
+               [Version (since = "3.0")]
                public unowned Gtk.CellArea get_area ();
+               [Version (since = "3.0")]
                public void get_preferred_height (out int minimum_height, out int natural_height);
+               [Version (since = "3.0")]
                public virtual void get_preferred_height_for_width (int width, out int minimum_height, out 
int natural_height);
+               [Version (since = "3.0")]
                public void get_preferred_width (out int minimum_width, out int natural_width);
+               [Version (since = "3.0")]
                public virtual void get_preferred_width_for_height (int height, out int minimum_width, out 
int natural_width);
+               [Version (since = "3.0")]
                public void push_preferred_height (int minimum_height, int natural_height);
+               [Version (since = "3.0")]
                public void push_preferred_width (int minimum_width, int natural_width);
                public virtual void reset ();
+               [Version (since = "3.0")]
                public Gtk.CellArea area { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public int minimum_height { get; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public int minimum_width { get; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public int natural_height { get; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public int natural_width { get; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_get_type ()")]
@@ -1038,38 +1540,57 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected CellRenderer ();
                public virtual bool activate (Gdk.Event event, Gtk.Widget widget, string path, Gdk.Rectangle 
background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);
+               [Version (since = "3.0")]
                public virtual Gdk.Rectangle get_aligned_area (Gtk.Widget widget, Gtk.CellRendererState 
flags, Gdk.Rectangle cell_area);
+               [Version (since = "2.18")]
                public void get_alignment (out float xalign, out float yalign);
                public void get_fixed_size (out int width, out int height);
+               [Version (since = "2.18")]
                public void get_padding (out int xpad, out int ypad);
+               [Version (since = "3.0")]
                public virtual void get_preferred_height (Gtk.Widget widget, out int minimum_size, out int 
natural_size);
+               [Version (since = "3.0")]
                public virtual void get_preferred_height_for_width (Gtk.Widget widget, int width, out int 
minimum_height, out int natural_height);
+               [Version (since = "3.0")]
                public void get_preferred_size (Gtk.Widget widget, out Gtk.Requisition minimum_size, out 
Gtk.Requisition natural_size);
+               [Version (since = "3.0")]
                public virtual void get_preferred_width (Gtk.Widget widget, out int minimum_size, out int 
natural_size);
+               [Version (since = "3.0")]
                public virtual void get_preferred_width_for_height (Gtk.Widget widget, int height, out int 
minimum_width, out int natural_width);
+               [Version (since = "3.0")]
                public virtual Gtk.SizeRequestMode get_request_mode ();
+               [Version (since = "2.18")]
                public bool get_sensitive ();
-               [Version (deprecated_since = "3.0", replacement = "get_preferred_size")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "get_preferred_size")]
                public abstract void get_size (Gtk.Widget widget, Gdk.Rectangle? cell_area, out int x_offset, 
out int y_offset, out int width, out int height);
+               [Version (since = "3.0")]
                public Gtk.StateFlags get_state (Gtk.Widget widget, Gtk.CellRendererState cell_state);
+               [Version (since = "2.18")]
                public bool get_visible ();
+               [Version (since = "3.0")]
                public bool is_activatable ();
                public abstract void render (Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle 
background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);
                [CCode (cname = "gtk_cell_renderer_class_set_accessible_type")]
                public class void set_accessible_type (GLib.Type type);
+               [Version (since = "2.18")]
                public void set_alignment (float xalign, float yalign);
                public void set_fixed_size (int width, int height);
+               [Version (since = "2.18")]
                public void set_padding (int xpad, int ypad);
+               [Version (since = "2.18")]
                public void set_sensitive (bool sensitive);
+               [Version (since = "2.18")]
                public void set_visible (bool visible);
                public virtual unowned Gtk.CellEditable? start_editing (Gdk.Event event, Gtk.Widget widget, 
string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);
+               [Version (since = "2.6")]
                public void stop_editing (bool canceled);
                [NoAccessorMethod]
                public string cell_background { set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "Gtk.CellRenderer.cell_background_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "cell_background_rgba")]
                public Gdk.Color cell_background_gdk { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.RGBA cell_background_rgba { get; set; }
                [NoAccessorMethod]
                public bool cell_background_set { get; set; }
@@ -1095,46 +1616,62 @@ namespace Gtk {
                public float yalign { get; set; }
                [NoAccessorMethod]
                public uint ypad { get; set; }
-               [HasEmitter]
+               [Version (since = "2.4")]
                public virtual signal void editing_canceled ();
+               [Version (since = "2.6")]
                public virtual signal void editing_started (Gtk.CellEditable editable, string path);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_accel_get_type ()")]
        public class CellRendererAccel : Gtk.CellRendererText {
                [CCode (has_construct_function = false, type = "GtkCellRenderer*")]
+               [Version (since = "2.10")]
                public CellRendererAccel ();
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public uint accel_key { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public Gtk.CellRendererAccelMode accel_mode { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public Gdk.ModifierType accel_mods { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public uint keycode { get; set; }
+               [Version (since = "2.10")]
                public virtual signal void accel_cleared (string path_string);
+               [Version (since = "2.10")]
                public virtual signal void accel_edited (string path_string, uint accel_key, Gdk.ModifierType 
accel_mods, uint hardware_keycode);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_combo_get_type ()")]
        public class CellRendererCombo : Gtk.CellRendererText {
                [CCode (has_construct_function = false, type = "GtkCellRenderer*")]
+               [Version (since = "2.6")]
                public CellRendererCombo ();
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public bool has_entry { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public Gtk.TreeModel model { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public int text_column { get; set; }
-               public virtual signal void changed (string p0, Gtk.TreeIter p1);
+               [Version (since = "2.14")]
+               public signal void changed (string path_string, Gtk.TreeIter new_iter);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_pixbuf_get_type ()")]
        public class CellRendererPixbuf : Gtk.CellRenderer {
                [CCode (has_construct_function = false, type = "GtkCellRenderer*")]
                public CellRendererPixbuf ();
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.16", since = "2.8")]
                public bool follow_state { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public GLib.Icon gicon { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.8")]
                public string icon_name { owned get; set; }
                [NoAccessorMethod]
                public Gdk.Pixbuf pixbuf { owned get; set; }
@@ -1145,49 +1682,64 @@ namespace Gtk {
                [NoAccessorMethod]
                public string stock_detail { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string stock_id { owned get; set; }
                [NoAccessorMethod]
                public uint stock_size { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.10")]
                public Cairo.Surface surface { owned get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_progress_get_type ()")]
        public class CellRendererProgress : Gtk.CellRenderer, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkCellRenderer*")]
+               [Version (since = "2.6")]
                public CellRendererProgress ();
                [NoAccessorMethod]
                public bool inverted { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public int pulse { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public string text { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public float text_xalign { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public float text_yalign { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public int value { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_spin_get_type ()")]
        public class CellRendererSpin : Gtk.CellRendererText {
                [CCode (has_construct_function = false, type = "GtkCellRenderer*")]
+               [Version (since = "2.10")]
                public CellRendererSpin ();
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public Gtk.Adjustment adjustment { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public double climb_rate { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public uint digits { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_spinner_get_type ()")]
        public class CellRendererSpinner : Gtk.CellRenderer {
                [CCode (has_construct_function = false, type = "GtkCellRenderer*")]
+               [Version (since = "2.20")]
                public CellRendererSpinner ();
                [NoAccessorMethod]
                public bool active { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.20")]
                public uint pulse { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.20")]
                public Gtk.IconSize size { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_renderer_text_get_type ()")]
@@ -1198,15 +1750,17 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool align_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public Pango.Alignment alignment { get; set; }
                [NoAccessorMethod]
                public Pango.AttrList attributes { owned get; set; }
                [NoAccessorMethod]
                public string background { set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "background_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "background_rgba")]
                public Gdk.Color background_gdk { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.RGBA background_rgba { get; set; }
                [NoAccessorMethod]
                public bool background_set { get; set; }
@@ -1215,6 +1769,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool editable_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public Pango.EllipsizeMode ellipsize { get; set; }
                [NoAccessorMethod]
                public bool ellipsize_set { get; set; }
@@ -1229,9 +1784,10 @@ namespace Gtk {
                [NoAccessorMethod]
                public string foreground { set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "foreground_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "foreground_rgba")]
                public Gdk.Color foreground_gdk { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.RGBA foreground_rgba { get; set; }
                [NoAccessorMethod]
                public bool foreground_set { get; set; }
@@ -1242,6 +1798,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public string markup { set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public int max_width_chars { get; set; }
                [NoAccessorMethod]
                public string placeholder_text { owned get; set; }
@@ -1288,10 +1845,13 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool weight_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public int width_chars { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.8")]
                public Pango.WrapMode wrap_mode { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.8")]
                public int wrap_width { get; set; }
                public virtual signal void edited (string path, string new_text);
        }
@@ -1299,9 +1859,11 @@ namespace Gtk {
        public class CellRendererToggle : Gtk.CellRenderer {
                [CCode (has_construct_function = false, type = "GtkCellRenderer*")]
                public CellRendererToggle ();
+               [Version (since = "2.18")]
                public bool get_activatable ();
                public bool get_active ();
                public bool get_radio ();
+               [Version (since = "2.18")]
                public void set_activatable (bool setting);
                public void set_active (bool setting);
                public void set_radio (bool radio);
@@ -1317,33 +1879,49 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_view_get_type ()")]
        public class CellView : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.CellLayout, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public CellView ();
+               [Version (since = "2.6")]
                public Gtk.TreePath? get_displayed_row ();
+               [Version (since = "3.0")]
                public bool get_draw_sensitive ();
+               [Version (since = "3.0")]
                public bool get_fit_model ();
+               [Version (since = "2.16")]
                public unowned Gtk.TreeModel? get_model ();
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.6")]
                public bool get_size_of_row (Gtk.TreePath path, out Gtk.Requisition requisition);
-               [Version (deprecated_since = "3.4", replacement = "set_background_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "set_background_rgba", 
since = "2.6")]
                public void set_background_color (Gdk.Color color);
+               [Version (since = "3.0")]
                public void set_background_rgba (Gdk.RGBA rgba);
+               [Version (since = "2.6")]
                public void set_displayed_row (Gtk.TreePath? path);
+               [Version (since = "3.0")]
                public void set_draw_sensitive (bool draw_sensitive);
+               [Version (since = "3.0")]
                public void set_fit_model (bool fit_model);
+               [Version (since = "2.6")]
                public void set_model (Gtk.TreeModel? model);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public CellView.with_context (Gtk.CellArea area, Gtk.CellAreaContext context);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public CellView.with_markup (string markup);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public CellView.with_pixbuf (Gdk.Pixbuf pixbuf);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public CellView.with_text (string text);
                [NoAccessorMethod]
                public string background { set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "background_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "background_rgba")]
                public Gdk.Color background_gdk { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.RGBA background_rgba { get; set; }
                [NoAccessorMethod]
                public bool background_set { get; set; }
@@ -1356,7 +1934,7 @@ namespace Gtk {
                public Gtk.TreeModel model { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_check_button_get_type ()")]
-       public class CheckButton : Gtk.ToggleButton, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable {
+       public class CheckButton : Gtk.ToggleButton, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public CheckButton ();
                [NoWrapper]
@@ -1367,15 +1945,17 @@ namespace Gtk {
                public CheckButton.with_mnemonic (string label);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_check_menu_item_get_type ()")]
-       public class CheckMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       public class CheckMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public CheckMenuItem ();
                [NoWrapper]
                public virtual void draw_indicator (Cairo.Context cr);
                public bool get_active ();
+               [Version (since = "2.4")]
                public bool get_draw_as_radio ();
                public bool get_inconsistent ();
                public void set_active (bool is_active);
+               [Version (since = "2.4")]
                public void set_draw_as_radio (bool draw_as_radio);
                public void set_inconsistent (bool setting);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
@@ -1389,7 +1969,7 @@ namespace Gtk {
                public virtual signal void toggled ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = 
"gtk_check_menu_item_accessible_get_type ()")]
-       public class CheckMenuItemAccessible : Gtk.MenuItemAccessible, Atk.Component, Atk.Action, 
Atk.Selection {
+       public class CheckMenuItemAccessible : Gtk.MenuItemAccessible, Atk.Action, Atk.Component, 
Atk.Selection {
                [CCode (has_construct_function = false)]
                protected CheckMenuItemAccessible ();
        }
@@ -1399,76 +1979,111 @@ namespace Gtk {
                protected Clipboard ();
                public void clear ();
                public static unowned Gtk.Clipboard @get (Gdk.Atom selection);
+               [Version (since = "3.16")]
                public static unowned Gtk.Clipboard get_default (Gdk.Display display);
+               [Version (since = "2.2")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "2.2")]
                public static unowned Gtk.Clipboard get_for_display (Gdk.Display display, Gdk.Atom selection);
                public unowned GLib.Object? get_owner ();
-               public Gdk.Atom get_selection ();
                public void request_contents (Gdk.Atom target, [CCode (scope = "async")] 
Gtk.ClipboardReceivedFunc callback);
+               [Version (since = "2.6")]
                public void request_image ([CCode (scope = "async")] Gtk.ClipboardImageReceivedFunc callback);
+               [Version (since = "2.10")]
                public void request_rich_text (Gtk.TextBuffer buffer, [CCode (scope = "async")] 
Gtk.ClipboardRichTextReceivedFunc callback);
+               [Version (since = "2.4")]
                public void request_targets ([CCode (scope = "async")] Gtk.ClipboardTargetsReceivedFunc 
callback);
                public void request_text ([CCode (scope = "async")] Gtk.ClipboardTextReceivedFunc callback);
+               [Version (since = "2.14")]
                public void request_uris ([CCode (scope = "async")] Gtk.ClipboardURIReceivedFunc callback);
-               public void set_can_store (Gtk.TargetEntry[]? targets);
+               [Version (since = "2.6")]
+               public void set_can_store ([CCode (array_length_cname = "n_targets", array_length_pos = 1.1)] 
Gtk.TargetEntry[]? targets);
+               [Version (since = "2.6")]
                public void set_image (Gdk.Pixbuf pixbuf);
                public void set_text (string text, int len);
-               public bool set_with_data (Gtk.TargetEntry[] targets, [CCode (scope = "async")] 
Gtk.ClipboardGetFunc get_func, [CCode (scope = "async")] Gtk.ClipboardClearFunc clear_func);
-               public bool set_with_owner (Gtk.TargetEntry[] targets, [CCode (scope = "async")] 
Gtk.ClipboardGetFunc get_func, [CCode (scope = "async")] Gtk.ClipboardClearFunc clear_func, GLib.Object 
owner);
+               public bool set_with_data ([CCode (array_length_cname = "n_targets", array_length_pos = 1.5, 
array_length_type = "guint")] Gtk.TargetEntry[] targets, [CCode (scope = "async")] Gtk.ClipboardGetFunc 
get_func, [CCode (scope = "async")] Gtk.ClipboardClearFunc clear_func);
+               public bool set_with_owner ([CCode (array_length_cname = "n_targets", array_length_pos = 1.5, 
array_length_type = "guint")] Gtk.TargetEntry[] targets, [CCode (scope = "async")] Gtk.ClipboardGetFunc 
get_func, [CCode (scope = "async")] Gtk.ClipboardClearFunc clear_func, GLib.Object owner);
+               [Version (since = "2.6")]
                public void store ();
                public Gtk.SelectionData? wait_for_contents (Gdk.Atom target);
+               [Version (since = "2.6")]
                public Gdk.Pixbuf? wait_for_image ();
-               [CCode (array_length_type = "gsize")]
+               [CCode (array_length_pos = 2.1, array_length_type = "gsize")]
+               [Version (since = "2.10")]
                public uint8[]? wait_for_rich_text (Gtk.TextBuffer buffer, out Gdk.Atom format);
-               public bool wait_for_targets (out Gdk.Atom[] targets);
+               [Version (since = "2.4")]
+               public bool wait_for_targets ([CCode (array_length_cname = "n_targets", array_length_pos = 
1.1)] out Gdk.Atom[] targets);
                public string? wait_for_text ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.14")]
                public string[]? wait_for_uris ();
+               [Version (since = "2.6")]
                public bool wait_is_image_available ();
+               [Version (since = "2.10")]
                public bool wait_is_rich_text_available (Gtk.TextBuffer buffer);
+               [Version (since = "2.6")]
                public bool wait_is_target_available (Gdk.Atom target);
                public bool wait_is_text_available ();
+               [Version (since = "2.14")]
                public bool wait_is_uris_available ();
-               public virtual signal void owner_change (Gdk.Event p0);
+               [Version (since = "2.6")]
+               public signal void owner_change (Gdk.EventOwnerChange event);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_color_button_get_type ()")]
-       public class ColorButton : Gtk.Button, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable, Gtk.ColorChooser {
+       public class ColorButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable, Gtk.ColorChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public ColorButton ();
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public uint16 get_alpha ();
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public void get_color (out Gdk.Color color);
+               [Version (since = "2.4")]
                public unowned string get_title ();
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public bool get_use_alpha ();
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public void set_alpha (uint16 alpha);
+               [Version (deprecated = true, since = "2.4")]
                public void set_color (Gdk.Color color);
+               [Version (since = "2.4")]
                public void set_title (string title);
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public void set_use_alpha (bool use_alpha);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public ColorButton.with_color (Gdk.Color color);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public ColorButton.with_rgba (Gdk.RGBA rgba);
+               [Version (since = "2.4")]
                public uint alpha { get; set; }
-               [Version (deprecated_since = "3.4", replacement = "rgba")]
+               [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "ColorChooser.rgba", 
since = "2.4")]
                public Gdk.Color color { get; set; }
-               public Gdk.RGBA rgba { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.20")]
                public bool show_editor { get; set; }
+               [Version (since = "2.4")]
                public string title { get; set; }
-               public bool use_alpha { get; set; }
+               [Version (since = "2.4")]
                public virtual signal void color_set ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_color_chooser_dialog_get_type ()")]
        public class ColorChooserDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable, Gtk.ColorChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.4")]
                public ColorChooserDialog (string? title, Gtk.Window? parent);
                [NoAccessorMethod]
                public bool show_editor { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_color_chooser_widget_get_type ()")]
-       public class ColorChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, 
Gtk.ColorChooser {
+       public class ColorChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.ColorChooser, 
Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.4")]
                public ColorChooserWidget ();
                [NoAccessorMethod]
+               [Version (since = "3.4")]
                public bool show_editor { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_color_selection_get_type ()")]
@@ -1476,30 +2091,39 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ColorSelection ();
                public uint16 get_current_alpha ();
-               [Version (deprecated_since = "3.4", replacement = "get_current_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "get_current_rgba")]
                public void get_current_color (out Gdk.Color color);
+               [Version (since = "3.0")]
                public Gdk.RGBA get_current_rgba ();
                public bool get_has_opacity_control ();
                public bool get_has_palette ();
                public uint16 get_previous_alpha ();
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "get_previous_rgba")]
                public void get_previous_color (out Gdk.Color color);
+               [Version (since = "3.0")]
                public Gdk.RGBA get_previous_rgba ();
                public bool is_adjusting ();
-               public static bool palette_from_string (string str, out Gdk.Color[] colors);
-               public static string palette_to_string (Gdk.Color[] colors);
+               public static bool palette_from_string (string str, [CCode (array_length_cname = "n_colors", 
array_length_pos = 2.1)] out Gdk.Color[] colors);
+               public static string palette_to_string ([CCode (array_length_cname = "n_colors", 
array_length_pos = 1.1)] Gdk.Color[] colors);
+               [Version (since = "2.2")]
                public static unowned Gtk.ColorSelectionChangePaletteWithScreenFunc 
set_change_palette_with_screen_hook (Gtk.ColorSelectionChangePaletteWithScreenFunc func);
                public void set_current_alpha (uint16 alpha);
-               [Version (deprecated_since = "3.4", replacement = "set_current_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "set_current_rgba")]
                public void set_current_color (Gdk.Color color);
+               [Version (since = "3.0")]
                public void set_current_rgba (Gdk.RGBA rgba);
                public void set_has_opacity_control (bool has_opacity);
                public void set_has_palette (bool has_palette);
                public void set_previous_alpha (uint16 alpha);
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "set_previous_rgba")]
                public void set_previous_color (Gdk.Color color);
+               [Version (since = "3.0")]
                public void set_previous_rgba (Gdk.RGBA rgba);
                public uint current_alpha { get; set; }
-               [Version (deprecated_since = "3.4", replacement = "current_rgba")]
+               [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "current_rgba")]
                public Gdk.Color current_color { get; set; }
+               [Version (since = "3.0")]
                public Gdk.RGBA current_rgba { get; set; }
                public bool has_opacity_control { get; set; }
                public bool has_palette { get; set; }
@@ -1509,6 +2133,7 @@ namespace Gtk {
        public class ColorSelectionDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ColorSelectionDialog (string title);
+               [Version (since = "2.14")]
                public unowned Gtk.ColorSelection get_color_selection ();
                [NoAccessorMethod]
                public Gtk.Widget cancel_button { owned get; }
@@ -1519,99 +2144,169 @@ namespace Gtk {
                public Gtk.Widget ok_button { owned get; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_combo_box_get_type ()")]
-       public class ComboBox : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.CellLayout, Gtk.CellEditable {
+       public class ComboBox : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.CellEditable, Gtk.CellLayout {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public ComboBox ();
+               [Version (since = "2.4")]
                public int get_active ();
+               [Version (since = "3.0")]
                public unowned string? get_active_id ();
+               [Version (since = "2.4")]
                public bool get_active_iter (out Gtk.TreeIter iter);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool get_add_tearoffs ();
+               [Version (since = "2.14")]
                public Gtk.SensitivityType get_button_sensitivity ();
+               [Version (since = "2.6")]
                public int get_column_span_column ();
+               [Version (since = "2.24")]
                public int get_entry_text_column ();
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.6")]
                public bool get_focus_on_click ();
+               [Version (since = "2.24")]
                public bool get_has_entry ();
+               [Version (since = "3.0")]
                public int get_id_column ();
+               [Version (since = "2.4")]
                public unowned Gtk.TreeModel get_model ();
+               [Version (since = "2.6")]
                public unowned Atk.Object get_popup_accessible ();
+               [Version (since = "3.0")]
                public bool get_popup_fixed_width ();
+               [Version (since = "2.6")]
                public unowned Gtk.TreeViewRowSeparatorFunc get_row_separator_func ();
+               [Version (since = "2.6")]
                public int get_row_span_column ();
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public unowned string get_title ();
+               [Version (since = "2.6")]
                public int get_wrap_width ();
+               [Version (since = "3.0")]
                public void popup_for_device (Gdk.Device device);
+               [Version (since = "2.4")]
                public void set_active (int index_);
+               [Version (since = "3.0")]
                public bool set_active_id (string? active_id);
+               [Version (since = "2.4")]
                public void set_active_iter (Gtk.TreeIter? iter);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public void set_add_tearoffs (bool add_tearoffs);
+               [Version (since = "2.14")]
                public void set_button_sensitivity (Gtk.SensitivityType sensitivity);
+               [Version (since = "2.4")]
                public void set_column_span_column (int column_span);
+               [Version (since = "2.24")]
                public void set_entry_text_column (int text_column);
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.6")]
                public void set_focus_on_click (bool focus_on_click);
+               [Version (since = "3.0")]
                public void set_id_column (int id_column);
+               [Version (since = "2.4")]
                public void set_model (Gtk.TreeModel? model);
+               [Version (since = "3.0")]
                public void set_popup_fixed_width (bool fixed);
+               [Version (since = "2.6")]
                public void set_row_separator_func (owned Gtk.TreeViewRowSeparatorFunc func);
+               [Version (since = "2.4")]
                public void set_row_span_column (int row_span);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public void set_title (string title);
+               [Version (since = "2.4")]
                public void set_wrap_width (int width);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ComboBox.with_area (Gtk.CellArea area);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ComboBox.with_area_and_entry (Gtk.CellArea area);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.24")]
                public ComboBox.with_entry ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public ComboBox.with_model (Gtk.TreeModel model);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.24")]
                public ComboBox.with_model_and_entry (Gtk.TreeModel model);
+               [Version (since = "2.4")]
                public int active { get; set; }
-               public string? active_id { get; set; }
+               [NoAccessorMethod]
+               [Version (since = "3.0")]
+               public string? active_id { owned get; set; }
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public bool add_tearoffs { get; set; }
+               [Version (since = "2.14")]
                public Gtk.SensitivityType button_sensitivity { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gtk.CellArea cell_area { owned get; construct; }
+               [Version (since = "2.4")]
                public int column_span_column { get; set; }
+               [Version (since = "2.24")]
                public int entry_text_column { get; set; }
+               [Version (since = "2.24")]
                public bool has_entry { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public bool has_frame { get; set; }
+               [Version (since = "3.0")]
                public int id_column { get; set; }
+               [Version (since = "2.4")]
                public Gtk.TreeModel model { get; set; }
+               [Version (since = "3.0")]
                public bool popup_fixed_width { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool popup_shown { get; }
+               [Version (since = "2.4")]
                public int row_span_column { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public string tearoff_title { owned get; set; }
+               [Version (since = "2.4")]
                public int wrap_width { get; set; }
+               [Version (since = "2.4")]
                public virtual signal void changed ();
+               [Version (since = "3.4")]
                public virtual signal string format_entry_text (string path);
-               public virtual signal void move_active (Gtk.ScrollType p0);
+               [Version (since = "2.12")]
+               public signal void move_active (Gtk.ScrollType scroll_type);
                [HasEmitter]
-               public virtual signal bool popdown ();
+               [Version (since = "2.12")]
+               public signal bool popdown ();
                [HasEmitter]
-               public virtual signal void popup ();
+               [Version (since = "2.12")]
+               public signal void popup ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_combo_box_accessible_get_type 
()")]
-       public class ComboBoxAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.Action, Atk.Selection {
+       public class ComboBoxAccessible : Gtk.ContainerAccessible, Atk.Action, Atk.Component, Atk.Selection {
                [CCode (has_construct_function = false)]
                protected ComboBoxAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_combo_box_text_get_type ()")]
-       public class ComboBoxText : Gtk.ComboBox, Atk.Implementor, Gtk.Buildable, Gtk.CellLayout, 
Gtk.CellEditable {
+       public class ComboBoxText : Gtk.ComboBox, Atk.Implementor, Gtk.Buildable, Gtk.CellEditable, 
Gtk.CellLayout {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.24")]
                public ComboBoxText ();
+               [Version (since = "2.24")]
                public void append (string? id, string text);
+               [Version (since = "2.24")]
                public void append_text (string text);
+               [Version (since = "2.24")]
                public string get_active_text ();
+               [Version (since = "3.0")]
                public void insert (int position, string? id, string text);
+               [Version (since = "2.24")]
                public void insert_text (int position, string text);
+               [Version (since = "2.24")]
                public void prepend (string? id, string text);
+               [Version (since = "2.24")]
                public void prepend_text (string text);
+               [Version (since = "2.24")]
                public void remove (int position);
+               [Version (since = "3.0")]
                public void remove_all ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.24")]
                public ComboBoxText.with_entry ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_container_get_type ()")]
@@ -1621,17 +2316,23 @@ namespace Gtk {
                public void add_with_properties (Gtk.Widget widget, ...);
                public void child_get (Gtk.Widget child, ...);
                public void child_get_property (Gtk.Widget child, string property_name, GLib.Value value);
-               public void child_get_valist (Gtk.Widget child, string first_property_name, va_list var_args);
+               public void child_get_valist (Gtk.Widget child, string first_property_name, [CCode (type = 
"va_list")] va_list var_args);
+               [Version (since = "3.2")]
                public void child_notify (Gtk.Widget child, string child_property);
+               [Version (since = "3.18")]
                public void child_notify_by_pspec (Gtk.Widget child, GLib.ParamSpec pspec);
                public void child_set (Gtk.Widget child, ...);
                public void child_set_property (Gtk.Widget child, string property_name, GLib.Value value);
-               public void child_set_valist (Gtk.Widget child, string first_property_name, va_list var_args);
+               public void child_set_valist (Gtk.Widget child, string first_property_name, [CCode (type = 
"va_list")] va_list var_args);
                public virtual GLib.Type child_type ();
+               [Version (deprecated_since = "vala-0.34", replacement = "find_child_property")]
                public class unowned GLib.ParamSpec? class_find_child_property (string property_name);
+               [Version (deprecated_since = "vala-0.34", replacement = "list_child_propertie")]
                public class (unowned GLib.ParamSpec)[] class_list_child_properties ();
                [NoWrapper]
                public virtual string composite_name (Gtk.Widget child);
+               [CCode (cname = "gtk_container_class_find_child_property")]
+               public class unowned GLib.ParamSpec? find_child_property (string property_name);
                public void forall (Gtk.Callback callback);
                [CCode (vfunc_name = "forall")]
                [NoWrapper]
@@ -1642,18 +2343,24 @@ namespace Gtk {
                public virtual void get_child_property (Gtk.Widget child, uint property_id, GLib.Value value, 
GLib.ParamSpec pspec);
                public GLib.List<weak Gtk.Widget> get_children ();
                public bool get_focus_chain (out GLib.List<weak Gtk.Widget> focusable_widgets);
+               [Version (since = "2.14")]
                public unowned Gtk.Widget? get_focus_child ();
                public unowned Gtk.Adjustment? get_focus_hadjustment ();
                public unowned Gtk.Adjustment? get_focus_vadjustment ();
                public virtual Gtk.WidgetPath get_path_for_child (Gtk.Widget child);
+               [Version (deprecated = true, deprecated_since = "3.12")]
                public Gtk.ResizeMode get_resize_mode ();
                [CCode (cname = "gtk_container_class_handle_border_width")]
                public class void handle_border_width ();
                [CCode (cname = "gtk_container_class_install_child_properties")]
-               public class void install_child_properties ([CCode (array_length_pos = 0.5)] GLib.ParamSpec[] 
pspecs);
+               [Version (since = "3.18")]
+               public class void install_child_properties ([CCode (array_length_cname = "n_pspecs", 
array_length_pos = 0.5, array_length_type = "guint")] GLib.ParamSpec[] pspecs);
                [CCode (cname = "gtk_container_class_install_child_property")]
                public class void install_child_property (uint property_id, GLib.ParamSpec pspec);
+               [CCode (array_length_pos = 0.1, array_length_type = "guint", cname = 
"gtk_container_class_list_child_properties")]
+               public class (unowned GLib.ParamSpec)[] list_child_properties ();
                public void propagate_draw (Gtk.Widget child, Cairo.Context cr);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public void resize_children ();
                public void set_border_width (uint border_width);
                [NoWrapper]
@@ -1661,7 +2368,9 @@ namespace Gtk {
                public void set_focus_chain (GLib.List<Gtk.Widget> focusable_widgets);
                public void set_focus_hadjustment (Gtk.Adjustment adjustment);
                public void set_focus_vadjustment (Gtk.Adjustment adjustment);
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public void set_reallocate_redraws (bool needs_redraws);
+               [Version (deprecated = true, deprecated_since = "3.12")]
                public void set_resize_mode (Gtk.ResizeMode resize_mode);
                public void unset_focus_chain ();
                public uint border_width { get; set; }
@@ -1682,9 +2391,9 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected ContainerAccessible ();
                [NoWrapper]
-               public virtual int add_gtk (Gtk.Container container, Gtk.Widget widget, void* data);
+               public virtual int add_gtk (Gtk.Widget widget, void* data);
                [NoWrapper]
-               public virtual int remove_gtk (Gtk.Container container, Gtk.Widget widget, void* data);
+               public virtual int remove_gtk (Gtk.Widget widget, void* data);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = 
"gtk_container_cell_accessible_get_type ()")]
        public class ContainerCellAccessible : Gtk.CellAccessible, Atk.Action, Atk.Component {
@@ -1694,7 +2403,7 @@ namespace Gtk {
                public unowned GLib.List<Gtk.CellAccessible> get_children ();
                public void remove_child (Gtk.CellAccessible child);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_css_provider_get_type ()")]
        public class CssProvider : GLib.Object, Gtk.StyleProvider {
                [CCode (has_construct_function = false)]
                public CssProvider ();
@@ -1705,12 +2414,15 @@ namespace Gtk {
                public bool load_from_data (string data, ssize_t length = -1) throws GLib.Error;
                public bool load_from_file (GLib.File file) throws GLib.Error;
                public bool load_from_path (string path) throws GLib.Error;
+               [Version (since = "3.16")]
                public void load_from_resource (string resource_path);
+               [Version (since = "3.2")]
                public string to_string ();
                public virtual signal void parsing_error (Gtk.CssSection section, GLib.Error error);
        }
        [CCode (cheader_filename = "gtk/gtk.h", ref_function = "gtk_css_section_ref", type_id = 
"gtk_css_section_get_type ()", unref_function = "gtk_css_section_unref")]
        [Compact]
+       [Version (since = "3.2")]
        public class CssSection {
                public uint get_end_line ();
                public uint get_end_position ();
@@ -1719,6 +2431,8 @@ namespace Gtk {
                public Gtk.CssSectionType get_section_type ();
                public uint get_start_line ();
                public uint get_start_position ();
+               public Gtk.CssSection @ref ();
+               public void unref ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_dialog_get_type ()")]
        public class Dialog : Gtk.Window, Atk.Implementor, Gtk.Buildable {
@@ -1727,21 +2441,28 @@ namespace Gtk {
                public void add_action_widget (Gtk.Widget child, int response_id);
                public unowned Gtk.Widget add_button (string button_text, int response_id);
                public void add_buttons (...);
+               [Version (deprecated = true, deprecated_since = "3.12", since = "2.14")]
                public unowned Gtk.Widget get_action_area ();
-               [CCode (type = "GtkWidget*")]
+               [Version (since = "2.14")]
                public unowned Gtk.Box get_content_area ();
+               [Version (since = "3.12")]
                public unowned Gtk.Widget get_header_bar ();
+               [Version (since = "2.8")]
                public int get_response_for_widget (Gtk.Widget widget);
+               [Version (since = "2.20")]
                public unowned Gtk.Widget? get_widget_for_response (int response_id);
                public int run ();
                [CCode (sentinel = "-1")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public void set_alternative_button_order (...);
-               public void set_alternative_button_order_from_array ([CCode (array_length_pos = 0.5)] int[] 
new_order);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
+               public void set_alternative_button_order_from_array ([CCode (array_length_cname = "n_params", 
array_length_pos = 0.5)] int[] new_order);
                public void set_default_response (int response_id);
                public void set_response_sensitive (int response_id, bool setting);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Dialog.with_buttons (string? title, Gtk.Window? parent, Gtk.DialogFlags flags, ...);
                [NoAccessorMethod]
+               [Version (since = "3.12")]
                public int use_header_bar { get; construct; }
                public virtual signal void close ();
                [HasEmitter]
@@ -1753,95 +2474,154 @@ namespace Gtk {
                public DrawingArea ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_entry_get_type ()")]
-       public class Entry : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.Editable, Gtk.CellEditable {
+       public class Entry : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.CellEditable, Gtk.Editable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Entry ();
                public bool get_activates_default ();
+               [Version (since = "2.4")]
                public float get_alignment ();
+               [Version (since = "3.6")]
                public unowned Pango.AttrList? get_attributes ();
+               [Version (since = "2.18")]
                public unowned Gtk.EntryBuffer get_buffer ();
+               [Version (since = "2.4")]
                public unowned Gtk.EntryCompletion get_completion ();
+               [Version (since = "2.16")]
                public int get_current_icon_drag_source ();
+               [Version (since = "2.12")]
                public unowned Gtk.Adjustment? get_cursor_hadjustment ();
                [NoWrapper]
                public virtual void get_frame_size (out int x, out int y, out int width, out int height);
                public bool get_has_frame ();
+               [Version (since = "2.16")]
                public bool get_icon_activatable (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "3.0")]
                public Gdk.Rectangle get_icon_area (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "2.16")]
                public int get_icon_at_pos (int x, int y);
+               [Version (since = "2.16")]
                public unowned GLib.Icon? get_icon_gicon (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "2.16")]
                public unowned string? get_icon_name (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "2.16")]
                public unowned Gdk.Pixbuf? get_icon_pixbuf (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "2.16")]
                public bool get_icon_sensitive (Gtk.EntryIconPosition icon_pos);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.16")]
                public unowned string get_icon_stock (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "2.16")]
                public Gtk.ImageType get_icon_storage_type (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "2.16")]
                public string? get_icon_tooltip_markup (Gtk.EntryIconPosition icon_pos);
+               [Version (since = "2.16")]
                public string? get_icon_tooltip_text (Gtk.EntryIconPosition icon_pos);
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.10")]
                public unowned Gtk.Border? get_inner_border ();
+               [Version (since = "3.6")]
                public Gtk.InputHints get_input_hints ();
+               [Version (since = "3.6")]
                public Gtk.InputPurpose get_input_purpose ();
                public unichar get_invisible_char ();
                public unowned Pango.Layout get_layout ();
                public void get_layout_offsets (out int x, out int y);
                public int get_max_length ();
+               [Version (since = "3.12")]
                public int get_max_width_chars ();
+               [Version (since = "2.14")]
                public bool get_overwrite_mode ();
+               [Version (since = "3.2")]
                public unowned string get_placeholder_text ();
+               [Version (since = "2.16")]
                public double get_progress_fraction ();
+               [Version (since = "2.16")]
                public double get_progress_pulse_step ();
+               [Version (since = "3.10")]
                public unowned Pango.TabArray? get_tabs ();
                public unowned string get_text ();
+               [Version (since = "3.0")]
                public void get_text_area (out Gdk.Rectangle text_area);
                [NoWrapper]
                public virtual void get_text_area_size (out int x, out int y, out int width, out int height);
+               [Version (since = "2.14")]
                public uint16 get_text_length ();
                public bool get_visibility ();
                public int get_width_chars ();
+               [Version (since = "3.16")]
                public void grab_focus_without_selecting ();
+               [Version (since = "2.22")]
                public bool im_context_filter_keypress (Gdk.EventKey event);
                public int layout_index_to_text_index (int layout_index);
+               [Version (since = "2.16")]
                public void progress_pulse ();
+               [Version (since = "2.22")]
                public void reset_im_context ();
                public void set_activates_default (bool setting);
+               [Version (since = "2.4")]
                public void set_alignment (float xalign);
+               [Version (since = "3.6")]
                public void set_attributes (Pango.AttrList attrs);
+               [Version (since = "2.18")]
                public void set_buffer (Gtk.EntryBuffer buffer);
+               [Version (since = "2.4")]
                public void set_completion (Gtk.EntryCompletion? completion);
+               [Version (since = "2.12")]
                public void set_cursor_hadjustment (Gtk.Adjustment? adjustment);
                public void set_has_frame (bool setting);
+               [Version (since = "2.16")]
                public void set_icon_activatable (Gtk.EntryIconPosition icon_pos, bool activatable);
+               [Version (since = "2.16")]
                public void set_icon_drag_source (Gtk.EntryIconPosition icon_pos, Gtk.TargetList target_list, 
Gdk.DragAction actions);
+               [Version (since = "2.16")]
                public void set_icon_from_gicon (Gtk.EntryIconPosition icon_pos, GLib.Icon? icon);
+               [Version (since = "2.16")]
                public void set_icon_from_icon_name (Gtk.EntryIconPosition icon_pos, string? icon_name);
+               [Version (since = "2.16")]
                public void set_icon_from_pixbuf (Gtk.EntryIconPosition icon_pos, Gdk.Pixbuf? pixbuf);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.16")]
                public void set_icon_from_stock (Gtk.EntryIconPosition icon_pos, string? stock_id);
+               [Version (since = "2.16")]
                public void set_icon_sensitive (Gtk.EntryIconPosition icon_pos, bool sensitive);
+               [Version (since = "2.16")]
                public void set_icon_tooltip_markup (Gtk.EntryIconPosition icon_pos, string? tooltip);
+               [Version (since = "2.16")]
                public void set_icon_tooltip_text (Gtk.EntryIconPosition icon_pos, string? tooltip);
-               [Version (deprecated_since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.10")]
                public void set_inner_border (Gtk.Border? border);
+               [Version (since = "3.6")]
                public void set_input_hints (Gtk.InputHints hints);
+               [Version (since = "3.6")]
                public void set_input_purpose (Gtk.InputPurpose purpose);
                public void set_invisible_char (unichar ch);
                public void set_max_length (int max);
+               [Version (since = "3.12")]
                public void set_max_width_chars (int n_chars);
+               [Version (since = "2.14")]
                public void set_overwrite_mode (bool overwrite);
+               [Version (since = "3.2")]
                public void set_placeholder_text (string? text);
+               [Version (since = "2.16")]
                public void set_progress_fraction (double fraction);
+               [Version (since = "2.16")]
                public void set_progress_pulse_step (double fraction);
+               [Version (since = "3.10")]
                public void set_tabs (Pango.TabArray tabs);
                public void set_text (string text);
                public void set_visibility (bool visible);
                public void set_width_chars (int n_chars);
                public int text_index_to_layout_index (int text_index);
+               [Version (since = "2.16")]
                public void unset_invisible_char ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.18")]
                public Entry.with_buffer (Gtk.EntryBuffer buffer);
                public bool activates_default { get; set; }
+               [Version (since = "3.6")]
                public Pango.AttrList attributes { get; set; }
                public Gtk.EntryBuffer buffer { get; set construct; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public bool caps_lock_warning { get; set; }
+               [Version (since = "3.2")]
                public Gtk.EntryCompletion completion { get; set; }
                [NoAccessorMethod]
                public int cursor_position { get; }
@@ -1849,157 +2629,250 @@ namespace Gtk {
                public bool editable { get; set; }
                public bool has_frame { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string im_module { owned get; set; }
-               [Version (deprecated_since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.10")]
                public Gtk.Border inner_border { get; set; }
+               [Version (since = "3.6")]
                public Gtk.InputHints input_hints { get; set; }
+               [Version (since = "3.6")]
                public Gtk.InputPurpose input_purpose { get; set; }
+               [Version (since = "2.18")]
                public uint invisible_char { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public bool invisible_char_set { get; set; }
                public int max_length { get; set; }
+               [Version (since = "3.12")]
                public int max_width_chars { get; set; }
+               [Version (since = "2.14")]
                public bool overwrite_mode { get; set; }
+               [Version (since = "3.2")]
                public string placeholder_text { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.8")]
                public bool populate_all { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public bool primary_icon_activatable { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public GLib.Icon primary_icon_gicon { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string primary_icon_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public Gdk.Pixbuf primary_icon_pixbuf { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public bool primary_icon_sensitive { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.16")]
                public string primary_icon_stock { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public Gtk.ImageType primary_icon_storage_type { get; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string primary_icon_tooltip_markup { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string primary_icon_tooltip_text { owned get; set; }
+               [Version (since = "2.16")]
                public double progress_fraction { get; set; }
+               [Version (since = "2.16")]
                public double progress_pulse_step { get; set; }
                [NoAccessorMethod]
                public int scroll_offset { get; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public bool secondary_icon_activatable { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public GLib.Icon secondary_icon_gicon { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string secondary_icon_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public Gdk.Pixbuf secondary_icon_pixbuf { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public bool secondary_icon_sensitive { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.16")]
                public string secondary_icon_stock { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public Gtk.ImageType secondary_icon_storage_type { get; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string secondary_icon_tooltip_markup { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string secondary_icon_tooltip_text { owned get; set; }
                [NoAccessorMethod]
                public int selection_bound { get; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.12")]
                public Gtk.ShadowType shadow_type { get; set; }
                public Pango.TabArray tabs { get; set; }
                public string text { get; set; }
+               [Version (since = "2.14")]
                public uint text_length { get; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool truncate_multiline { get; set; }
                public bool visibility { get; set; }
                public int width_chars { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public float xalign { get; set; }
                public virtual signal void activate ();
                public virtual signal void backspace ();
                public virtual signal void copy_clipboard ();
                public virtual signal void cut_clipboard ();
                public virtual signal void delete_from_cursor (Gtk.DeleteType type, int count);
-               public virtual signal void icon_press (Gtk.EntryIconPosition p0, Gdk.Event p1);
-               public virtual signal void icon_release (Gtk.EntryIconPosition p0, Gdk.Event p1);
+               [Version (since = "2.16")]
+               public signal void icon_press (Gtk.EntryIconPosition icon_pos, Gdk.EventButton event);
+               [Version (since = "2.16")]
+               public signal void icon_release (Gtk.EntryIconPosition icon_pos, Gdk.EventButton event);
                public virtual signal void insert_at_cursor (string str);
                public virtual signal void move_cursor (Gtk.MovementStep step, int count, bool 
extend_selection);
                public virtual signal void paste_clipboard ();
-               public virtual signal void populate_popup (Gtk.Menu popup);
-               public virtual signal void preedit_changed (string p0);
+               public virtual signal void populate_popup (Gtk.Widget popup);
+               [Version (since = "2.20")]
+               public signal void preedit_changed (string preedit);
                public virtual signal void toggle_overwrite ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_entry_accessible_get_type ()")]
-       public class EntryAccessible : Gtk.WidgetAccessible, Atk.Component, Atk.EditableText, Atk.Text, 
Atk.Action {
+       public class EntryAccessible : Gtk.WidgetAccessible, Atk.Action, Atk.Component, Atk.EditableText, 
Atk.Text {
                [CCode (has_construct_function = false)]
                protected EntryAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_entry_buffer_get_type ()")]
        public class EntryBuffer : GLib.Object {
                [CCode (has_construct_function = false)]
-               public EntryBuffer (uint8[]? initial_chars = null);
-               public virtual uint delete_text (uint position, int n_chars);
+               [Version (since = "2.18")]
+               public EntryBuffer ([CCode (array_length_cname = "n_initial_chars", array_length_pos = 1.1, 
type = "const gchar*")] uint8[]? initial_chars = null);
+               [Version (since = "2.18")]
+               public virtual uint delete_text (uint position, uint n_chars);
+               [Version (since = "2.18")]
                public void emit_deleted_text (uint position, uint n_chars);
-               public void emit_inserted_text (uint position, uint8[] chars);
+               [Version (since = "2.18")]
+               public void emit_inserted_text (uint position, [CCode (array_length_cname = "n_chars", 
array_length_pos = 2.1, array_length_type = "guint", type = "const gchar*")] uint8[] chars);
+               [Version (since = "2.18")]
                public size_t get_bytes ();
+               [Version (since = "2.18")]
                public virtual uint get_length ();
+               [Version (since = "2.18")]
                public int get_max_length ();
-               public virtual unowned string get_text ();
-               public virtual uint insert_text (uint position, uint8[] chars);
+               [NoWrapper]
+               public virtual unowned string get_text (out size_t n_bytes = null);
+               [Version (since = "2.18")]
+               public virtual uint insert_text (uint position, [CCode (array_length_cname = "n_chars", 
array_length_pos = 2.1, array_length_type = "guint", type = "const gchar*")] uint8[] chars);
+               [Version (since = "2.18")]
                public void set_max_length (int max_length);
-               public void set_text (uint8[] chars);
+               [Version (since = "2.18")]
+               public void set_text ([CCode (array_length_cname = "n_chars", array_length_pos = 1.1, type = 
"const gchar*")] uint8[] chars);
+               [Version (since = "2.18")]
                public uint length { get; }
+               [Version (since = "2.18")]
                public int max_length { get; set; }
-               public string text { get; set; }
+               [NoAccessorMethod]
+               [Version (since = "2.18")]
+               public string text { owned get; set; }
+               [Version (since = "2.18")]
                public virtual signal void deleted_text (uint position, uint n_chars);
+               [Version (since = "2.18")]
                public virtual signal void inserted_text (uint position, string chars, uint n_chars);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_entry_completion_get_type ()")]
-       public class EntryCompletion : GLib.Object, Gtk.CellLayout, Gtk.Buildable {
+       public class EntryCompletion : GLib.Object, Gtk.Buildable, Gtk.CellLayout {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public EntryCompletion ();
+               [Version (since = "2.4")]
                public void complete ();
+               [Version (since = "3.4")]
                public string? compute_prefix (string key);
+               [Version (since = "2.4")]
                public void delete_action (int index_);
+               [Version (since = "2.12")]
                public unowned string get_completion_prefix ();
+               [Version (since = "2.4")]
                public unowned Gtk.Widget get_entry ();
+               [Version (since = "2.6")]
                public bool get_inline_completion ();
+               [Version (since = "2.12")]
                public bool get_inline_selection ();
+               [Version (since = "2.4")]
                public int get_minimum_key_length ();
+               [Version (since = "2.4")]
                public unowned Gtk.TreeModel? get_model ();
+               [Version (since = "2.6")]
                public bool get_popup_completion ();
+               [Version (since = "2.8")]
                public bool get_popup_set_width ();
+               [Version (since = "2.8")]
                public bool get_popup_single_match ();
+               [Version (since = "2.6")]
                public int get_text_column ();
+               [Version (since = "2.4")]
                public void insert_action_markup (int index_, string markup);
+               [Version (since = "2.4")]
                public void insert_action_text (int index_, string text);
+               [CCode (cname = "gtk_entry_completion_insert_prefix")]
+               [Version (since = "2.6")]
+               public void request_prefix_insertion ();
+               [Version (since = "2.6")]
                public void set_inline_completion (bool inline_completion);
+               [Version (since = "2.12")]
                public void set_inline_selection (bool inline_selection);
+               [Version (since = "2.4")]
                public void set_match_func (owned Gtk.EntryCompletionMatchFunc func);
+               [Version (since = "2.4")]
                public void set_minimum_key_length (int length);
+               [Version (since = "2.4")]
                public void set_model (Gtk.TreeModel? model);
+               [Version (since = "2.6")]
                public void set_popup_completion (bool popup_completion);
+               [Version (since = "2.8")]
                public void set_popup_set_width (bool popup_set_width);
+               [Version (since = "2.8")]
                public void set_popup_single_match (bool popup_single_match);
+               [Version (since = "2.4")]
                public void set_text_column (int column);
                [CCode (has_construct_function = false)]
+               [Version (since = "3.0")]
                public EntryCompletion.with_area (Gtk.CellArea area);
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gtk.CellArea cell_area { owned get; construct; }
+               [Version (since = "2.6")]
                public bool inline_completion { get; set; }
+               [Version (since = "2.12")]
                public bool inline_selection { get; set; }
                public int minimum_key_length { get; set; }
                public Gtk.TreeModel model { get; set; }
+               [Version (since = "2.6")]
                public bool popup_completion { get; set; }
+               [Version (since = "2.8")]
                public bool popup_set_width { get; set; }
+               [Version (since = "2.8")]
                public bool popup_single_match { get; set; }
+               [Version (since = "2.6")]
                public int text_column { get; set; }
+               [Version (since = "2.4")]
                public virtual signal void action_activated (int index_);
+               [Version (since = "2.12")]
                public virtual signal bool cursor_on_match (Gtk.TreeModel model, Gtk.TreeIter iter);
-               [HasEmitter]
+               [Version (since = "2.6")]
                public virtual signal bool insert_prefix (string prefix);
+               [Version (since = "2.4")]
                public virtual signal bool match_selected (Gtk.TreeModel model, Gtk.TreeIter iter);
+               [Version (since = "3.14")]
                public virtual signal void no_matches ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_entry_icon_accessible_get_type 
()")]
@@ -2011,9 +2884,13 @@ namespace Gtk {
        public class EventBox : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public EventBox ();
+               [Version (since = "2.4")]
                public bool get_above_child ();
+               [Version (since = "2.4")]
                public bool get_visible_window ();
+               [Version (since = "2.4")]
                public void set_above_child (bool above_child);
+               [Version (since = "2.4")]
                public void set_visible_window (bool visible_window);
                public bool above_child { get; set; }
                public bool visible_window { get; set; }
@@ -2022,118 +2899,173 @@ namespace Gtk {
        public abstract class EventController : GLib.Object {
                [CCode (has_construct_function = false)]
                protected EventController ();
+               [Version (since = "3.14")]
                public Gtk.PropagationPhase get_propagation_phase ();
+               [Version (since = "3.14")]
                public unowned Gtk.Widget get_widget ();
+               [Version (since = "3.14")]
                public bool handle_event (Gdk.Event event);
+               [Version (since = "3.14")]
                public void reset ();
+               [Version (since = "3.14")]
                public void set_propagation_phase (Gtk.PropagationPhase phase);
+               [Version (since = "3.14")]
                public Gtk.PropagationPhase propagation_phase { get; set; }
+               [Version (since = "3.14")]
                public Gtk.Widget widget { get; construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_expander_get_type ()")]
        public class Expander : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public Expander (string label);
+               [Version (since = "2.4")]
                public bool get_expanded ();
-               public unowned string? get_label ();
+               [Version (since = "2.4")]
+               public unowned string get_label ();
+               [Version (since = "2.22")]
                public bool get_label_fill ();
-               public unowned Gtk.Widget get_label_widget ();
+               [Version (since = "2.4")]
+               public unowned Gtk.Widget? get_label_widget ();
+               [Version (since = "3.2")]
                public bool get_resize_toplevel ();
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.4")]
                public int get_spacing ();
+               [Version (since = "2.4")]
                public bool get_use_markup ();
+               [Version (since = "2.4")]
                public bool get_use_underline ();
+               [Version (since = "2.4")]
                public void set_expanded (bool expanded);
+               [Version (since = "2.4")]
                public void set_label (string? label);
+               [Version (since = "2.22")]
                public void set_label_fill (bool label_fill);
+               [Version (since = "2.4")]
                public void set_label_widget (Gtk.Widget? label_widget);
+               [Version (since = "3.2")]
                public void set_resize_toplevel (bool resize_toplevel);
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.4")]
                public void set_spacing (int spacing);
+               [Version (since = "2.4")]
                public void set_use_markup (bool use_markup);
+               [Version (since = "2.4")]
                public void set_use_underline (bool use_underline);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public Expander.with_mnemonic (string? label);
                public bool expanded { get; set construct; }
                public string label { get; set construct; }
                public bool label_fill { get; set construct; }
                public Gtk.Widget label_widget { get; set; }
+               [Version (since = "3.2")]
                public bool resize_toplevel { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.20")]
                public int spacing { get; set; }
                public bool use_markup { get; set construct; }
                public bool use_underline { get; set construct; }
                public virtual signal void activate ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_expander_accessible_get_type 
()")]
-       public class ExpanderAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.Action {
+       public class ExpanderAccessible : Gtk.ContainerAccessible, Atk.Action, Atk.Component {
                [CCode (has_construct_function = false)]
                protected ExpanderAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_file_chooser_button_get_type ()")]
-       public class FileChooserButton : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, 
Gtk.FileChooser {
+       public class FileChooserButton : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.FileChooser, 
Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public FileChooserButton (string title, Gtk.FileChooserAction action);
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.10")]
                public bool get_focus_on_click ();
+               [Version (since = "2.6")]
                public unowned string get_title ();
+               [Version (since = "2.6")]
                public int get_width_chars ();
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.10")]
                public void set_focus_on_click (bool focus_on_click);
+               [Version (since = "2.6")]
                public void set_title (string title);
+               [Version (since = "2.6")]
                public void set_width_chars (int n_chars);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public FileChooserButton.with_dialog (Gtk.Dialog dialog);
+               [Version (since = "2.6")]
                public Gtk.FileChooser dialog { construct; }
+               [Version (since = "2.6")]
                public string title { get; set; }
+               [Version (since = "2.6")]
                public int width_chars { get; set; }
+               [Version (since = "2.12")]
                public virtual signal void file_set ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_file_chooser_dialog_get_type ()")]
        public class FileChooserDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable, Gtk.FileChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public FileChooserDialog (string? title, Gtk.Window? parent, Gtk.FileChooserAction action, 
...);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_file_chooser_native_get_type ()")]
        public class FileChooserNative : Gtk.NativeDialog, Gtk.FileChooser {
                [CCode (has_construct_function = false)]
+               [Version (since = "3.20")]
                public FileChooserNative (string? title, Gtk.Window? parent, Gtk.FileChooserAction action, 
string? accept_label, string? cancel_label);
+               [Version (since = "3.20")]
                public unowned string? get_accept_label ();
+               [Version (since = "3.20")]
                public unowned string? get_cancel_label ();
+               [Version (since = "3.20")]
                public void set_accept_label (string? accept_label);
+               [Version (since = "3.20")]
                public void set_cancel_label (string? cancel_label);
-               public string? accept_label { get; set; }
-               public string? cancel_label { get; set; }
+               public string accept_label { get; set; }
+               public string cancel_label { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_file_chooser_widget_get_type ()")]
-       public class FileChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, 
Gtk.FileChooser, Gtk.FileChooserEmbed {
+       public class FileChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.FileChooser, 
Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public FileChooserWidget (Gtk.FileChooserAction action);
                [NoAccessorMethod]
                public bool search_mode { get; set; }
                [NoAccessorMethod]
                public string subtitle { owned get; }
-               public virtual signal void desktop_folder ();
-               public virtual signal void down_folder ();
-               public virtual signal void home_folder ();
-               public virtual signal void location_popup (string p0);
-               public virtual signal void location_popup_on_paste ();
-               public virtual signal void location_toggle_popup ();
-               public virtual signal void places_shortcut ();
-               public virtual signal void quick_bookmark (int p0);
-               public virtual signal void recent_shortcut ();
-               public virtual signal void search_shortcut ();
-               public virtual signal void show_hidden ();
-               public virtual signal void up_folder ();
+               public signal void desktop_folder ();
+               public signal void down_folder ();
+               public signal void home_folder ();
+               public signal void location_popup (string path);
+               public signal void location_popup_on_paste ();
+               public signal void location_toggle_popup ();
+               public signal void places_shortcut ();
+               public signal void quick_bookmark (int bookmark_index);
+               public signal void recent_shortcut ();
+               public signal void search_shortcut ();
+               public signal void show_hidden ();
+               public signal void up_folder ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_file_filter_get_type ()")]
        public class FileFilter : GLib.InitiallyUnowned, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public FileFilter ();
+               [Version (since = "2.4")]
                public void add_custom (Gtk.FileFilterFlags needed, owned Gtk.FileFilterFunc func);
+               [Version (since = "2.4")]
                public void add_mime_type (string mime_type);
+               [Version (since = "2.4")]
                public void add_pattern (string pattern);
+               [Version (since = "2.6")]
                public void add_pixbuf_formats ();
+               [Version (since = "2.4")]
                public bool filter (Gtk.FileFilterInfo filter_info);
                [CCode (cname = "gtk_file_filter_get_name")]
+               [Version (since = "2.4")]
                public unowned string? get_filter_name ();
+               [Version (since = "2.4")]
                public Gtk.FileFilterFlags get_needed ();
                [CCode (cname = "gtk_file_filter_set_name")]
+               [Version (since = "2.4")]
                public void set_filter_name (string? name);
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
@@ -2162,33 +3094,61 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_flow_box_get_type ()")]
        public class FlowBox : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.12")]
                public FlowBox ();
+               [Version (since = "3.18")]
                public void bind_model (GLib.ListModel? model, owned Gtk.FlowBoxCreateWidgetFunc? 
create_widget_func);
+               [Version (since = "3.12")]
                public bool get_activate_on_single_click ();
+               [Version (since = "3.12")]
                public unowned Gtk.FlowBoxChild? get_child_at_index (int idx);
+               [Version (since = "3.12")]
                public uint get_column_spacing ();
+               [Version (since = "3.12")]
                public bool get_homogeneous ();
+               [Version (since = "3.12")]
                public uint get_max_children_per_line ();
+               [Version (since = "3.12")]
                public uint get_min_children_per_line ();
+               [Version (since = "3.12")]
                public uint get_row_spacing ();
+               [Version (since = "3.12")]
                public GLib.List<weak Gtk.FlowBoxChild> get_selected_children ();
+               [Version (since = "3.12")]
                public Gtk.SelectionMode get_selection_mode ();
+               [Version (since = "3.12")]
                public void insert (Gtk.Widget widget, int position);
+               [Version (since = "3.12")]
                public void invalidate_filter ();
+               [Version (since = "3.12")]
                public void invalidate_sort ();
+               [Version (since = "3.12")]
                public void select_child (Gtk.FlowBoxChild child);
+               [Version (since = "3.12")]
                public void selected_foreach (Gtk.FlowBoxForeachFunc func);
+               [Version (since = "3.12")]
                public void set_activate_on_single_click (bool single);
+               [Version (since = "3.12")]
                public void set_column_spacing (uint spacing);
+               [Version (since = "3.12")]
                public void set_filter_func (owned Gtk.FlowBoxFilterFunc? filter_func);
+               [Version (since = "3.12")]
                public void set_hadjustment (Gtk.Adjustment adjustment);
+               [Version (since = "3.12")]
                public void set_homogeneous (bool homogeneous);
+               [Version (since = "3.12")]
                public void set_max_children_per_line (uint n_children);
+               [Version (since = "3.12")]
                public void set_min_children_per_line (uint n_children);
+               [Version (since = "3.12")]
                public void set_row_spacing (uint spacing);
+               [Version (since = "3.12")]
                public void set_selection_mode (Gtk.SelectionMode mode);
+               [Version (since = "3.12")]
                public void set_sort_func (owned Gtk.FlowBoxSortFunc? sort_func);
+               [Version (since = "3.12")]
                public void set_vadjustment (Gtk.Adjustment adjustment);
+               [Version (since = "3.12")]
                public void unselect_child (Gtk.FlowBoxChild child);
                public bool activate_on_single_click { get; set; }
                public uint column_spacing { get; set; }
@@ -2215,9 +3175,13 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_flow_box_child_get_type ()")]
        public class FlowBoxChild : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.12")]
                public FlowBoxChild ();
+               [Version (since = "3.12")]
                public void changed ();
+               [Version (since = "3.12")]
                public int get_index ();
+               [Version (since = "3.12")]
                public bool is_selected ();
                public virtual signal void activate ();
        }
@@ -2227,68 +3191,105 @@ namespace Gtk {
                protected FlowBoxChildAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_button_get_type ()")]
-       public class FontButton : Gtk.Button, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable, Gtk.FontChooser {
+       public class FontButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable, Gtk.FontChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public FontButton ();
+               [Version (since = "2.4")]
                public unowned string get_font_name ();
+               [Version (since = "2.4")]
                public bool get_show_size ();
+               [Version (since = "2.4")]
                public bool get_show_style ();
+               [Version (since = "2.4")]
                public unowned string get_title ();
+               [Version (since = "2.4")]
                public bool get_use_font ();
+               [Version (since = "2.4")]
                public bool get_use_size ();
+               [Version (since = "2.4")]
                public bool set_font_name (string fontname);
+               [Version (since = "2.4")]
                public void set_show_size (bool show_size);
+               [Version (since = "2.4")]
                public void set_show_style (bool show_style);
+               [Version (since = "2.4")]
                public void set_title (string title);
+               [Version (since = "2.4")]
                public void set_use_font (bool use_font);
+               [Version (since = "2.4")]
                public void set_use_size (bool use_size);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public FontButton.with_font (string fontname);
-               public string font_name { get; set; }
+               [NoAccessorMethod]
+               [Version (since = "2.4")]
+               public string font_name { owned get; set; }
+               [Version (since = "2.4")]
                public bool show_size { get; set; }
+               [Version (since = "2.4")]
                public bool show_style { get; set; }
+               [Version (since = "2.4")]
                public string title { get; set; }
+               [Version (since = "2.4")]
                public bool use_font { get; set; }
+               [Version (since = "2.4")]
                public bool use_size { get; set; }
+               [Version (since = "2.4")]
                public virtual signal void font_set ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_chooser_dialog_get_type ()")]
        public class FontChooserDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable, Gtk.FontChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.2")]
                public FontChooserDialog (string? title, Gtk.Window? parent);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_chooser_widget_get_type ()")]
-       public class FontChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, 
Gtk.FontChooser {
+       public class FontChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.FontChooser, 
Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.2")]
                public FontChooserWidget ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_selection_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "FontChooserWidget")]
        public class FontSelection : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public FontSelection ();
+               [Version (since = "2.14")]
                public unowned Pango.FontFace get_face ();
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_face_list ();
+               [Version (since = "2.14")]
                public unowned Pango.FontFamily get_family ();
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_family_list ();
                public string get_font_name ();
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_preview_entry ();
                public unowned string get_preview_text ();
+               [Version (since = "2.14")]
                public int get_size ();
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_size_entry ();
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_size_list ();
                public bool set_font_name (string fontname);
                public void set_preview_text (string text);
+               [NoAccessorMethod]
                public string font_name { owned get; set; }
                public string preview_text { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_selection_dialog_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "FontChooserDialog")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "FontChooserDialog")]
        public class FontSelectionDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public FontSelectionDialog (string title);
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_cancel_button ();
                public string get_font_name ();
+               [Version (since = "2.22")]
                public unowned Gtk.Widget get_font_selection ();
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_ok_button ();
                public unowned string get_preview_text ();
                public bool set_font_name (string fontname);
@@ -2321,7 +3322,8 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected FrameAccessible ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gl_area_get_type ()")]
+       [Version (since = "3.16")]
        public class GLArea : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public GLArea ();
@@ -2333,6 +3335,7 @@ namespace Gtk {
                public bool get_has_depth_buffer ();
                public bool get_has_stencil_buffer ();
                public void get_required_version (out int major, out int minor);
+               [Version (since = "3.22")]
                public bool get_use_es ();
                public void make_current ();
                public void queue_render ();
@@ -2342,14 +3345,16 @@ namespace Gtk {
                public void set_has_depth_buffer (bool has_depth_buffer);
                public void set_has_stencil_buffer (bool has_stencil_buffer);
                public void set_required_version (int major, int minor);
+               [Version (since = "3.22")]
                public void set_use_es (bool use_es);
                public bool auto_render { get; set; }
                public Gdk.GLContext context { get; }
                public bool has_alpha { get; set; }
                public bool has_depth_buffer { get; set; }
                public bool has_stencil_buffer { get; set; }
+               [Version (since = "3.22")]
                public bool use_es { get; set; }
-               public virtual signal Gdk.GLContext create_context ();
+               public signal Gdk.GLContext create_context ();
                public virtual signal bool render (Gdk.GLContext context);
                public virtual signal void resize (int width, int height);
        }
@@ -2357,120 +3362,194 @@ namespace Gtk {
        public abstract class Gesture : Gtk.EventController {
                [CCode (has_construct_function = false)]
                protected Gesture ();
+               [Version (since = "3.14")]
                public bool get_bounding_box (out Gdk.Rectangle rect);
+               [Version (since = "3.14")]
                public bool get_bounding_box_center (out double x, out double y);
+               [Version (since = "3.14")]
                public unowned Gdk.Device? get_device ();
+               [Version (since = "3.14")]
                public GLib.List<weak Gtk.Gesture> get_group ();
                public unowned Gdk.Event? get_last_event (Gdk.EventSequence sequence);
+               [Version (since = "3.14")]
                public unowned Gdk.EventSequence? get_last_updated_sequence ();
+               [Version (since = "3.14")]
                public bool get_point (Gdk.EventSequence? sequence, out double? x = null, out double? y = 
null);
+               [Version (since = "3.14")]
                public Gtk.EventSequenceState get_sequence_state (Gdk.EventSequence sequence);
+               [Version (since = "3.14")]
                public GLib.List<weak Gdk.EventSequence> get_sequences ();
+               [Version (since = "3.14")]
                public unowned Gdk.Window? get_window ();
+               [Version (since = "3.14")]
                public void group (Gtk.Gesture gesture);
+               [Version (since = "3.14")]
                public bool handles_sequence (Gdk.EventSequence sequence);
+               [Version (since = "3.14")]
                public bool is_active ();
+               [Version (since = "3.14")]
                public bool is_grouped_with (Gtk.Gesture other);
+               [Version (since = "3.14")]
                public bool is_recognized ();
+               [Version (since = "3.14")]
                public bool set_sequence_state (Gdk.EventSequence sequence, Gtk.EventSequenceState state);
+               [Version (since = "3.14")]
                public bool set_state (Gtk.EventSequenceState state);
+               [Version (since = "3.14")]
                public void set_window (Gdk.Window? window);
+               [Version (since = "3.14")]
                public void ungroup ();
                [NoAccessorMethod]
+               [Version (since = "3.14")]
                public uint n_points { get; construct; }
+               [Version (since = "3.14")]
                public Gdk.Window window { get; set; }
-               public virtual signal void begin (Gdk.EventSequence p0);
-               public virtual signal void cancel (Gdk.EventSequence p0);
-               public virtual signal void end (Gdk.EventSequence p0);
-               public virtual signal void sequence_state_changed (Gdk.EventSequence p0, 
Gtk.EventSequenceState p1);
-               public virtual signal void update (Gdk.EventSequence p0);
+               [Version (since = "3.14")]
+               public signal void begin (Gdk.EventSequence sequence);
+               [Version (since = "3.14")]
+               public signal void cancel (Gdk.EventSequence sequence);
+               [Version (since = "3.14")]
+               public signal void end (Gdk.EventSequence sequence);
+               [Version (since = "3.14")]
+               public signal void sequence_state_changed (Gdk.EventSequence sequence, Gtk.EventSequenceState 
state);
+               [Version (since = "3.14")]
+               public signal void update (Gdk.EventSequence sequence);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_drag_get_type ()")]
        public class GestureDrag : Gtk.GestureSingle {
                [CCode (has_construct_function = false, type = "GtkGesture*")]
+               [Version (since = "3.14")]
                public GestureDrag (Gtk.Widget widget);
+               [Version (since = "3.14")]
                public bool get_offset (out double? x, out double? y);
+               [Version (since = "3.14")]
                public bool get_start_point (out double? x, out double? y);
-               public virtual signal void drag_begin (double p0, double p1);
-               public virtual signal void drag_end (double p0, double p1);
-               public virtual signal void drag_update (double p0, double p1);
+               [Version (since = "3.14")]
+               public signal void drag_begin (double start_x, double start_y);
+               [Version (since = "3.14")]
+               public signal void drag_end (double offset_x, double offset_y);
+               [Version (since = "3.14")]
+               public signal void drag_update (double offset_x, double offset_y);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_long_press_get_type ()")]
        public class GestureLongPress : Gtk.GestureSingle {
                [CCode (has_construct_function = false, type = "GtkGesture*")]
+               [Version (since = "3.14")]
                public GestureLongPress (Gtk.Widget widget);
                [NoAccessorMethod]
                public double delay_factor { get; set; }
-               public virtual signal void cancelled ();
-               public virtual signal void pressed (double p0, double p1);
+               [Version (since = "3.14")]
+               public signal void cancelled ();
+               [Version (since = "3.14")]
+               public signal void pressed (double x, double y);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_multi_press_get_type ()")]
        public class GestureMultiPress : Gtk.GestureSingle {
                [CCode (has_construct_function = false, type = "GtkGesture*")]
+               [Version (since = "3.14")]
                public GestureMultiPress (Gtk.Widget widget);
+               [Version (since = "3.14")]
                public bool get_area (out Gdk.Rectangle rect);
+               [Version (since = "3.14")]
                public void set_area (Gdk.Rectangle? rect);
-               public virtual signal void pressed (int p0, double p1, double p2);
-               public virtual signal void released (int p0, double p1, double p2);
-               public virtual signal void stopped ();
+               [Version (since = "3.14")]
+               public signal void pressed (int n_press, double x, double y);
+               [Version (since = "3.14")]
+               public signal void released (int n_press, double x, double y);
+               [Version (since = "3.14")]
+               public signal void stopped ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_pan_get_type ()")]
        public class GesturePan : Gtk.GestureDrag {
                [CCode (has_construct_function = false, type = "GtkGesture*")]
+               [Version (since = "3.14")]
                public GesturePan (Gtk.Widget widget, Gtk.Orientation orientation);
+               [Version (since = "3.14")]
                public Gtk.Orientation get_orientation ();
+               [Version (since = "3.14")]
                public void set_orientation (Gtk.Orientation orientation);
+               [Version (since = "3.14")]
                public Gtk.Orientation orientation { get; set; }
-               public virtual signal void pan (Gtk.PanDirection p0, double p1);
+               [Version (since = "3.14")]
+               public signal void pan (Gtk.PanDirection direction, double offset);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_rotate_get_type ()")]
        public class GestureRotate : Gtk.Gesture {
                [CCode (has_construct_function = false, type = "GtkGesture*")]
+               [Version (since = "3.14")]
                public GestureRotate (Gtk.Widget widget);
+               [Version (since = "3.14")]
                public double get_angle_delta ();
-               public virtual signal void angle_changed (double p0, double p1);
+               [Version (since = "3.14")]
+               public signal void angle_changed (double angle, double angle_delta);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_single_get_type ()")]
        public class GestureSingle : Gtk.Gesture {
                [CCode (has_construct_function = false)]
                protected GestureSingle ();
+               [Version (since = "3.14")]
                public uint get_button ();
+               [Version (since = "3.14")]
                public uint get_current_button ();
+               [Version (since = "3.14")]
                public Gdk.EventSequence? get_current_sequence ();
+               [Version (since = "3.14")]
                public bool get_exclusive ();
+               [Version (since = "3.14")]
                public bool get_touch_only ();
+               [Version (since = "3.14")]
                public void set_button (uint button);
+               [Version (since = "3.14")]
                public void set_exclusive (bool exclusive);
+               [Version (since = "3.14")]
                public void set_touch_only (bool touch_only);
+               [Version (since = "3.14")]
                public uint button { get; set; }
+               [Version (since = "3.14")]
                public bool exclusive { get; set; }
+               [Version (since = "3.14")]
                public bool touch_only { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_swipe_get_type ()")]
        public class GestureSwipe : Gtk.GestureSingle {
                [CCode (has_construct_function = false, type = "GtkGesture*")]
+               [Version (since = "3.14")]
                public GestureSwipe (Gtk.Widget widget);
+               [Version (since = "3.14")]
                public bool get_velocity (out double velocity_x, out double velocity_y);
-               public virtual signal void swipe (double p0, double p1);
+               [Version (since = "3.14")]
+               public signal void swipe (double velocity_x, double velocity_y);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_gesture_zoom_get_type ()")]
        public class GestureZoom : Gtk.Gesture {
                [CCode (has_construct_function = false, type = "GtkGesture*")]
+               [Version (since = "3.14")]
                public GestureZoom (Gtk.Widget widget);
+               [Version (since = "3.14")]
                public double get_scale_delta ();
-               public virtual signal void scale_changed (double p0);
+               [Version (since = "3.14")]
+               public signal void scale_changed (double scale);
        }
        [CCode (cheader_filename = "gtk/gtk.h", ref_function = "gtk_gradient_ref", type_id = 
"gtk_gradient_get_type ()", unref_function = "gtk_gradient_unref")]
        [Compact]
+       [Version (deprecated = true, deprecated_since = "3.8")]
        public class Gradient {
+               [Version (since = "3.0")]
                public void add_color_stop (double offset, Gtk.SymbolicColor color);
                [CCode (has_construct_function = false)]
+               [Version (since = "3.0")]
                public Gradient.linear (double x0, double y0, double x1, double y1);
                [CCode (has_construct_function = false)]
+               [Version (since = "3.0")]
                public Gradient.radial (double x0, double y0, double radius0, double x1, double y1, double 
radius1);
+               [Version (since = "3.0")]
+               public Gtk.Gradient @ref ();
+               [Version (since = "3.0")]
                public bool resolve (Gtk.StyleProperties props, out Cairo.Pattern resolved_gradient);
                public Cairo.Pattern resolve_for_context (Gtk.StyleContext context);
                public string to_string ();
+               [Version (since = "3.0")]
+               public void unref ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_grid_get_type ()")]
        public class Grid : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
@@ -2478,21 +3557,31 @@ namespace Gtk {
                public Grid ();
                public void attach (Gtk.Widget child, int left, int top, int width = 1, int height = 1);
                public void attach_next_to (Gtk.Widget child, Gtk.Widget? sibling, Gtk.PositionType side, int 
width = 1, int height = 1);
+               [Version (since = "3.10")]
                public int get_baseline_row ();
+               [Version (since = "3.2")]
                public unowned Gtk.Widget? get_child_at (int left, int top);
                public bool get_column_homogeneous ();
                public uint get_column_spacing ();
+               [Version (since = "3.10")]
                public Gtk.BaselinePosition get_row_baseline_position (int row);
                public bool get_row_homogeneous ();
                public uint get_row_spacing ();
+               [Version (since = "3.2")]
                public void insert_column (int position);
+               [Version (since = "3.2")]
                public void insert_next_to (Gtk.Widget sibling, Gtk.PositionType side);
+               [Version (since = "3.2")]
                public void insert_row (int position);
+               [Version (since = "3.10")]
                public void remove_column (int position);
+               [Version (since = "3.10")]
                public void remove_row (int position);
+               [Version (since = "3.10")]
                public void set_baseline_row (int row);
                public void set_column_homogeneous (bool homogeneous);
                public void set_column_spacing (uint spacing);
+               [Version (since = "3.10")]
                public void set_row_baseline_position (int row, Gtk.BaselinePosition pos);
                public void set_row_homogeneous (bool homogeneous);
                public void set_row_spacing (uint spacing);
@@ -2503,18 +3592,19 @@ namespace Gtk {
                public int row_spacing { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hbox_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "Grid")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Box")]
        public class HBox : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HBox (bool homogeneous, int spacing);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hbutton_box_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "ButtonBox")]
        public class HButtonBox : Gtk.ButtonBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HButtonBox ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hpaned_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "Paned")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Paned")]
        public class HPaned : Gtk.Paned, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HPaned ();
@@ -2522,18 +3612,25 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hsv_get_type ()")]
        public class HSV : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.14")]
                public HSV ();
+               [Version (since = "2.14")]
                public void get_color (out double h, out double s, out double v);
+               [Version (since = "2.14")]
                public void get_metrics (out int size, out int ring_width);
+               [Version (since = "2.14")]
                public bool is_adjusting ();
+               [Version (since = "2.14")]
                public void set_color (double h, double s, double v);
+               [Version (since = "2.14")]
                public void set_metrics (int size, int ring_width);
+               [Version (since = "2.14")]
                public static void to_rgb (double h, double s, double v, out double r, out double g, out 
double b);
                public virtual signal void changed ();
                public virtual signal void move (Gtk.DirectionType type);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hscale_get_type ()")]
-       [Version (deprecated_since = "3.2")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Scale")]
        public class HScale : Gtk.Scale, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HScale (Gtk.Adjustment? adjustment);
@@ -2541,22 +3638,23 @@ namespace Gtk {
                public HScale.with_range (double min, double max, double step);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hscrollbar_get_type ()")]
-       [Version (deprecated_since = "3.2")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Scrollbar")]
        public class HScrollbar : Gtk.Scrollbar, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HScrollbar (Gtk.Adjustment? adjustment);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hseparator_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "Separator")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Separator")]
        public class HSeparator : Gtk.Separator, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HSeparator ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_handle_box_get_type ()")]
-       [Version (deprecated_since = "3.4")]
+       [Version (deprecated = true, deprecated_since = "3.4")]
        public class HandleBox : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HandleBox ();
+               [Version (since = "2.14")]
                public bool get_child_detached ();
                public Gtk.PositionType get_handle_position ();
                public Gtk.ShadowType get_shadow_type ();
@@ -2564,7 +3662,7 @@ namespace Gtk {
                public void set_handle_position (Gtk.PositionType position);
                public void set_shadow_type (Gtk.ShadowType type);
                public void set_snap_edge (Gtk.PositionType edge);
-               public bool child_detached { get; }
+               public virtual bool child_detached { get; }
                public Gtk.PositionType handle_position { get; set; }
                public Gtk.ShadowType shadow_type { get; set; }
                public Gtk.PositionType snap_edge { get; set; }
@@ -2575,25 +3673,43 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_header_bar_get_type ()")]
        public class HeaderBar : Gtk.Container, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public HeaderBar ();
+               [Version (since = "3.10")]
                public unowned Gtk.Widget? get_custom_title ();
+               [Version (since = "3.12")]
                public unowned string get_decoration_layout ();
+               [Version (since = "3.12")]
                public bool get_has_subtitle ();
+               [Version (since = "3.10")]
                public bool get_show_close_button ();
+               [Version (since = "3.10")]
                public unowned string? get_subtitle ();
+               [Version (since = "3.10")]
                public unowned string? get_title ();
+               [Version (since = "3.10")]
                public void pack_end (Gtk.Widget child);
+               [Version (since = "3.10")]
                public void pack_start (Gtk.Widget child);
+               [Version (since = "3.10")]
                public void set_custom_title (Gtk.Widget? title_widget);
+               [Version (since = "3.12")]
                public void set_decoration_layout (string? layout);
+               [Version (since = "3.12")]
                public void set_has_subtitle (bool setting);
+               [Version (since = "3.10")]
                public void set_show_close_button (bool setting);
+               [Version (since = "3.10")]
                public void set_subtitle (string? subtitle);
+               [Version (since = "3.10")]
                public void set_title (string? title);
                public Gtk.Widget custom_title { get; set; }
+               [Version (since = "3.12")]
                public string decoration_layout { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.12")]
                public bool decoration_layout_set { get; set; }
+               [Version (since = "3.12")]
                public bool has_subtitle { get; set; }
                public bool show_close_button { get; set; }
                [NoAccessorMethod]
@@ -2638,12 +3754,15 @@ namespace Gtk {
        public class IMMulticontext : Gtk.IMContext {
                [CCode (has_construct_function = false, type = "GtkIMContext*")]
                public IMMulticontext ();
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public void append_menuitems (Gtk.MenuShell menushell);
+               [Version (since = "2.16")]
                public unowned string get_context_id ();
+               [Version (since = "2.16")]
                public void set_context_id (string context_id);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_icon_factory_get_type ()")]
-       [Version (deprecated_since = "3.10", replacement = "Gtk.IconTheme")]
+       [Version (deprecated = true, deprecated_since = "3.10", replacement = "IconTheme")]
        public class IconFactory : GLib.Object, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                public IconFactory ();
@@ -2656,34 +3775,52 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", copy_function = "gtk_icon_info_copy", free_function = 
"gtk_icon_info_free", type_id = "gtk_icon_info_get_type ()")]
        [Compact]
        public class IconInfo {
-               [CCode (has_construct_function = false)]
-               protected IconInfo ();
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.4")]
                public Gtk.IconInfo copy ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.14")]
                public IconInfo.for_pixbuf (Gtk.IconTheme icon_theme, Gdk.Pixbuf pixbuf);
+               [DestroysInstance]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.4")]
                public void free ();
-               public bool get_attach_points (out Gdk.Point[] points);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
+               public bool get_attach_points ([CCode (array_length_cname = "n_points", array_length_pos = 
1.1)] out Gdk.Point[] points);
+               [Version (since = "3.10")]
                public int get_base_scale ();
+               [Version (since = "2.4")]
                public int get_base_size ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public unowned Gdk.Pixbuf get_builtin_pixbuf ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public unowned string get_display_name ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public bool get_embedded_rect (out Gdk.Rectangle rectangle);
+               [Version (since = "2.4")]
                public unowned string? get_filename ();
+               [Version (since = "3.12")]
                public bool is_symbolic ();
+               [Version (since = "2.4")]
                public Gdk.Pixbuf load_icon () throws GLib.Error;
+               [Version (since = "3.8")]
                public async Gdk.Pixbuf load_icon_async (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               [Version (since = "3.10")]
                public Cairo.Surface load_surface (Gdk.Window? for_window) throws GLib.Error;
+               [Version (since = "3.0")]
                public Gdk.Pixbuf load_symbolic (Gdk.RGBA fg, Gdk.RGBA? success_color = null, Gdk.RGBA? 
warning_color = null, Gdk.RGBA? error_color = null, out bool was_symbolic = null) throws GLib.Error;
+               [Version (since = "3.8")]
                public async Gdk.Pixbuf load_symbolic_async (Gdk.RGBA fg, Gdk.RGBA? success_color = null, 
Gdk.RGBA? warning_color = null, Gdk.RGBA? error_color = null, GLib.Cancellable? cancellable = null, out bool 
was_symbolic = null) throws GLib.Error;
+               [Version (since = "3.0")]
                public Gdk.Pixbuf load_symbolic_for_context (Gtk.StyleContext context, out bool was_symbolic 
= null) throws GLib.Error;
+               [Version (since = "3.8")]
                public async Gdk.Pixbuf load_symbolic_for_context_async (Gtk.StyleContext context, 
GLib.Cancellable? cancellable = null, out bool was_symbolic = null) throws GLib.Error;
-               [Version (deprecated_since = "3.0", replacement = "load_symbolic_for_context")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "3.0")]
                public Gdk.Pixbuf load_symbolic_for_style (Gtk.Style style, Gtk.StateType state, out bool 
was_symbolic = null) throws GLib.Error;
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public void set_raw_coordinates (bool raw_coordinates);
        }
        [CCode (cheader_filename = "gtk/gtk.h", ref_function = "gtk_icon_set_ref", type_id = 
"gtk_icon_set_get_type ()", unref_function = "gtk_icon_set_unref")]
        [Compact]
-       [Version (deprecated_since = "3.10", replacement = "Gtk.IconTheme")]
+       [Version (deprecated = true, deprecated_since = "3.10", replacement = "IconTheme")]
        public class IconSet {
                [CCode (has_construct_function = false)]
                public IconSet ();
@@ -2691,21 +3828,24 @@ namespace Gtk {
                public Gtk.IconSet copy ();
                [CCode (has_construct_function = false)]
                public IconSet.from_pixbuf (Gdk.Pixbuf pixbuf);
-               public void get_sizes (out Gtk.IconSize[] sizes);
-               [Version (deprecated_since = "3.0", replacement = "set_render_icon_pixbuf")]
-               public Gdk.Pixbuf render_icon (Gtk.Style? style, Gtk.TextDirection direction, Gtk.StateType 
state, Gtk.IconSize size, Gtk.Widget? widget, string? detail);
-               [Version (deprecated_since = "3.10")]
-               public Gdk.Pixbuf render_icon_pixbuf (Gtk.StyleContext context, Gtk.IconSize size);
-               [Version (deprecated_since = "3.10")]
-               public Cairo.Surface render_icon_surface (Gtk.StyleContext context, Gtk.IconSize size, int 
scale, Gdk.Window? for_window);
-       }
-       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "gtk_icon_source_copy", type_id = 
"gtk_icon_source_get_type ()")]
+               public void get_sizes ([CCode (array_length_cname = "n_sizes", array_length_pos = 1.1)] out 
Gtk.IconSize[] sizes);
+               public Gtk.IconSet @ref ();
+               [Version (deprecated = true, deprecated_since = "3.0")]
+               public Gdk.Pixbuf render_icon (Gtk.Style? style, Gtk.TextDirection direction, Gtk.StateType 
state, [CCode (type = "GtkIconSize")] Gtk.IconSize size, Gtk.Widget? widget, string? detail);
+               [Version (since = "3.0")]
+               public Gdk.Pixbuf render_icon_pixbuf (Gtk.StyleContext context, [CCode (type = 
"GtkIconSize")] Gtk.IconSize size);
+               [Version (since = "3.10")]
+               public Cairo.Surface render_icon_surface (Gtk.StyleContext context, [CCode (type = 
"GtkIconSize")] Gtk.IconSize size, int scale, Gdk.Window? for_window);
+               public void unref ();
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_icon_source_get_type ()")]
        [Compact]
-       [Version (deprecated_since = "3.10", replacement = "Gtk.IconTheme")]
+       [Version (deprecated = true, deprecated_since = "3.10", replacement = "IconTheme")]
        public class IconSource {
                [CCode (has_construct_function = false)]
                public IconSource ();
                public Gtk.IconSource copy ();
+               public void free ();
                public Gtk.TextDirection get_direction ();
                public bool get_direction_wildcarded ();
                public unowned string get_filename ();
@@ -2720,7 +3860,7 @@ namespace Gtk {
                public void set_filename (string filename);
                public void set_icon_name (string? icon_name);
                public void set_pixbuf (Gdk.Pixbuf pixbuf);
-               public void set_size (Gtk.IconSize size);
+               public void set_size ([CCode (type = "GtkIconSize")] Gtk.IconSize size);
                public void set_size_wildcarded (bool setting);
                public void set_state (Gtk.StateType state);
                public void set_state_wildcarded (bool setting);
@@ -2728,127 +3868,231 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_icon_theme_get_type ()")]
        public class IconTheme : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public IconTheme ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.4")]
                public static void add_builtin_icon (string icon_name, int size, Gdk.Pixbuf pixbuf);
+               [Version (since = "3.14")]
                public void add_resource_path (string path);
+               [Version (since = "2.4")]
                public void append_search_path (string path);
+               [Version (since = "2.12")]
                public Gtk.IconInfo? choose_icon ([CCode (array_length = false, array_null_terminated = 
true)] string[] icon_names, int size, Gtk.IconLookupFlags flags);
+               [Version (since = "3.10")]
                public Gtk.IconInfo? choose_icon_for_scale ([CCode (array_length = false, 
array_null_terminated = true)] string[] icon_names, int size, int scale, Gtk.IconLookupFlags flags);
+               [Version (since = "2.4")]
                public static unowned Gtk.IconTheme get_default ();
+               [Version (since = "2.4")]
                public string? get_example_icon_name ();
+               [Version (since = "2.4")]
                public static unowned Gtk.IconTheme get_for_screen (Gdk.Screen screen);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public int[] get_icon_sizes (string icon_name);
-               public void get_search_path (out string[] path);
+               [Version (since = "2.4")]
+               public void get_search_path ([CCode (array_length_cname = "n_elements", array_length_pos = 
1.1)] out string[] path);
+               [Version (since = "2.4")]
                public bool has_icon (string icon_name);
+               [Version (since = "2.12")]
                public GLib.List<string> list_contexts ();
+               [Version (since = "2.4")]
                public GLib.List<string> list_icons (string? context);
+               [Version (since = "2.4")]
                public Gdk.Pixbuf? load_icon (string icon_name, int size, Gtk.IconLookupFlags flags) throws 
GLib.Error;
+               [Version (since = "3.10")]
                public Gdk.Pixbuf? load_icon_for_scale (string icon_name, int size, int scale, 
Gtk.IconLookupFlags flags) throws GLib.Error;
+               [Version (since = "3.10")]
                public Cairo.Surface? load_surface (string icon_name, int size, int scale, Gdk.Window? 
for_window, Gtk.IconLookupFlags flags) throws GLib.Error;
+               [Version (since = "2.14")]
                public Gtk.IconInfo? lookup_by_gicon (GLib.Icon icon, int size, Gtk.IconLookupFlags flags);
+               [Version (since = "3.10")]
                public Gtk.IconInfo? lookup_by_gicon_for_scale (GLib.Icon icon, int size, int scale, 
Gtk.IconLookupFlags flags);
+               [Version (since = "2.4")]
                public Gtk.IconInfo? lookup_icon (string icon_name, int size, Gtk.IconLookupFlags flags);
+               [Version (since = "3.10")]
                public Gtk.IconInfo? lookup_icon_for_scale (string icon_name, int size, int scale, 
Gtk.IconLookupFlags flags);
+               [Version (since = "2.4")]
                public void prepend_search_path (string path);
+               [Version (since = "2.4")]
                public bool rescan_if_needed ();
+               [Version (since = "2.4")]
                public void set_custom_theme (string? theme_name);
+               [Version (since = "2.4")]
                public void set_screen (Gdk.Screen screen);
-               public void set_search_path (string[] path);
+               [Version (since = "2.4")]
+               public void set_search_path ([CCode (array_length_cname = "n_elements", array_length_pos = 
1.1)] string[] path);
                public virtual signal void changed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_icon_view_get_type ()")]
        public class IconView : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.CellLayout, Gtk.Scrollable 
{
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public IconView ();
+               [Version (since = "2.12")]
                public void convert_widget_to_bin_window_coords (int wx, int wy, out int bx, out int by);
+               [Version (since = "2.8")]
                public Cairo.Surface create_drag_icon (Gtk.TreePath path);
-               public void enable_model_drag_dest (Gtk.TargetEntry[] targets, Gdk.DragAction actions);
-               public void enable_model_drag_source (Gdk.ModifierType start_button_mask, Gtk.TargetEntry[] 
targets, Gdk.DragAction actions);
+               [Version (since = "2.8")]
+               public void enable_model_drag_dest ([CCode (array_length_cname = "n_targets", 
array_length_pos = 1.5)] Gtk.TargetEntry[] targets, Gdk.DragAction actions);
+               [Version (since = "2.8")]
+               public void enable_model_drag_source (Gdk.ModifierType start_button_mask, [CCode 
(array_length_cname = "n_targets", array_length_pos = 2.5)] Gtk.TargetEntry[] targets, Gdk.DragAction 
actions);
+               [Version (since = "3.8")]
                public bool get_activate_on_single_click ();
+               [Version (since = "3.6")]
                public bool get_cell_rect (Gtk.TreePath path, Gtk.CellRenderer? cell, out Gdk.Rectangle rect);
+               [Version (since = "2.6")]
                public int get_column_spacing ();
+               [Version (since = "2.6")]
                public int get_columns ();
+               [Version (since = "2.8")]
                public bool get_cursor (out Gtk.TreePath path, out unowned Gtk.CellRenderer cell);
-               public bool get_dest_item_at_pos (int drag_x, int drag_y, out unowned Gtk.TreePath path, out 
Gtk.IconViewDropPosition pos);
-               public void get_drag_dest_item (out unowned Gtk.TreePath path, out Gtk.IconViewDropPosition 
pos);
-               public bool get_item_at_pos (int x, int y, out unowned Gtk.TreePath path, out unowned 
Gtk.CellRenderer cell);
+               [Version (since = "2.8")]
+               public bool get_dest_item_at_pos (int drag_x, int drag_y, out Gtk.TreePath path, out 
Gtk.IconViewDropPosition pos);
+               [Version (since = "2.8")]
+               public void get_drag_dest_item (out Gtk.TreePath path, out Gtk.IconViewDropPosition pos);
+               [Version (since = "2.8")]
+               public bool get_item_at_pos (int x, int y, out Gtk.TreePath path, out Gtk.CellRenderer cell);
+               [Version (since = "2.22")]
                public int get_item_column (Gtk.TreePath path);
+               [Version (since = "2.6")]
                public Gtk.Orientation get_item_orientation ();
+               [Version (since = "2.18")]
                public int get_item_padding ();
+               [Version (since = "2.22")]
                public int get_item_row (Gtk.TreePath path);
+               [Version (since = "2.6")]
                public int get_item_width ();
+               [Version (since = "2.6")]
                public int get_margin ();
+               [Version (since = "2.6")]
                public int get_markup_column ();
+               [Version (since = "2.6")]
                public unowned Gtk.TreeModel? get_model ();
+               [Version (since = "2.6")]
                public Gtk.TreePath? get_path_at_pos (int x, int y);
+               [Version (since = "2.6")]
                public int get_pixbuf_column ();
+               [Version (since = "2.8")]
                public bool get_reorderable ();
+               [Version (since = "2.6")]
                public int get_row_spacing ();
+               [Version (since = "2.6")]
                public GLib.List<Gtk.TreePath> get_selected_items ();
+               [Version (since = "2.6")]
                public Gtk.SelectionMode get_selection_mode ();
+               [Version (since = "2.6")]
                public int get_spacing ();
+               [Version (since = "2.6")]
                public int get_text_column ();
+               [Version (since = "2.12")]
                public int get_tooltip_column ();
+               [Version (since = "2.12")]
                public bool get_tooltip_context (ref int x, ref int y, bool keyboard_tip, out unowned 
Gtk.TreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter);
+               [Version (since = "2.8")]
                public bool get_visible_range (out Gtk.TreePath start_path, out Gtk.TreePath end_path);
+               [Version (since = "2.6")]
                public bool path_is_selected (Gtk.TreePath path);
+               [Version (since = "2.8")]
                public void scroll_to_path (Gtk.TreePath path, bool use_align, float row_align, float 
col_align);
+               [Version (since = "2.6")]
                public void select_path (Gtk.TreePath path);
+               [Version (since = "2.6")]
                public void selected_foreach (Gtk.IconViewForeachFunc func);
+               [Version (since = "3.8")]
                public void set_activate_on_single_click (bool single);
+               [Version (since = "2.6")]
                public void set_column_spacing (int column_spacing);
+               [Version (since = "2.6")]
                public void set_columns (int columns);
+               [Version (since = "2.8")]
                public void set_cursor (Gtk.TreePath path, Gtk.CellRenderer? cell, bool start_editing);
+               [Version (since = "2.8")]
                public void set_drag_dest_item (Gtk.TreePath? path, Gtk.IconViewDropPosition pos);
+               [Version (since = "2.6")]
                public void set_item_orientation (Gtk.Orientation orientation);
+               [Version (since = "2.18")]
                public void set_item_padding (int item_padding);
+               [Version (since = "2.6")]
                public void set_item_width (int item_width);
+               [Version (since = "2.6")]
                public void set_margin (int margin);
+               [Version (since = "2.6")]
                public void set_markup_column (int column);
+               [Version (since = "2.6")]
                public void set_model (Gtk.TreeModel? model);
+               [Version (since = "2.6")]
                public void set_pixbuf_column (int column);
+               [Version (since = "2.8")]
                public void set_reorderable (bool reorderable);
+               [Version (since = "2.6")]
                public void set_row_spacing (int row_spacing);
+               [Version (since = "2.6")]
                public void set_selection_mode (Gtk.SelectionMode mode);
+               [Version (since = "2.6")]
                public void set_spacing (int spacing);
+               [Version (since = "2.6")]
                public void set_text_column (int column);
+               [Version (since = "2.12")]
                public void set_tooltip_cell (Gtk.Tooltip tooltip, Gtk.TreePath path, Gtk.CellRenderer? cell);
+               [Version (since = "2.12")]
                public void set_tooltip_column (int column);
+               [Version (since = "2.12")]
                public void set_tooltip_item (Gtk.Tooltip tooltip, Gtk.TreePath path);
+               [Version (since = "2.6")]
                public void unselect_path (Gtk.TreePath path);
+               [Version (since = "2.8")]
                public void unset_model_drag_dest ();
+               [Version (since = "2.8")]
                public void unset_model_drag_source ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public IconView.with_area (Gtk.CellArea area);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public IconView.with_model (Gtk.TreeModel model);
+               [Version (since = "3.8")]
                public bool activate_on_single_click { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gtk.CellArea cell_area { owned get; construct; }
+               [Version (since = "2.6")]
                public int column_spacing { get; set; }
+               [Version (since = "2.6")]
                public int columns { get; set; }
+               [Version (since = "2.6")]
                public Gtk.Orientation item_orientation { get; set; }
+               [Version (since = "2.18")]
                public int item_padding { get; set; }
+               [Version (since = "2.6")]
                public int item_width { get; set; }
+               [Version (since = "2.6")]
                public int margin { get; set; }
+               [Version (since = "2.6")]
                public int markup_column { get; set; }
                public Gtk.TreeModel model { get; set; }
+               [Version (since = "2.6")]
                public int pixbuf_column { get; set; }
+               [Version (since = "2.8")]
                public bool reorderable { get; set; }
+               [Version (since = "2.6")]
                public int row_spacing { get; set; }
+               [Version (since = "2.6")]
                public Gtk.SelectionMode selection_mode { get; set; }
+               [Version (since = "2.6")]
                public int spacing { get; set; }
+               [Version (since = "2.6")]
                public int text_column { get; set; }
                public int tooltip_column { get; set; }
                public virtual signal bool activate_cursor_item ();
                [HasEmitter]
                public virtual signal void item_activated (Gtk.TreePath path);
                public virtual signal bool move_cursor (Gtk.MovementStep step, int count);
+               [HasEmitter]
                public virtual signal void select_all ();
                public virtual signal void select_cursor_item ();
                public virtual signal void selection_changed ();
                public virtual signal void toggle_cursor_item ();
+               [HasEmitter]
                public virtual signal void unselect_all ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_icon_view_accessible_get_type 
()")]
@@ -2860,50 +4104,71 @@ namespace Gtk {
        public class Image : Gtk.Misc, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Image ();
+               [Version (since = "2.8")]
                public void clear ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Image.from_animation (Gdk.PixbufAnimation animation);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Image.from_file (string filename);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Image.from_gicon (GLib.Icon icon, Gtk.IconSize size);
+               [Version (since = "2.14")]
+               public Image.from_gicon (GLib.Icon icon, [CCode (type = "GtkIconSize")] Gtk.IconSize size);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Image.from_icon_name (string icon_name, Gtk.IconSize size);
+               [Version (since = "2.6")]
+               public Image.from_icon_name (string icon_name, [CCode (type = "GtkIconSize")] Gtk.IconSize 
size);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Image.from_icon_set (Gtk.IconSet icon_set, Gtk.IconSize size);
+               [Version (deprecated = true, deprecated_since = "3.10")]
+               public Image.from_icon_set (Gtk.IconSet icon_set, [CCode (type = "GtkIconSize")] Gtk.IconSize 
size);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Image.from_pixbuf (Gdk.Pixbuf pixbuf);
+               public Image.from_pixbuf (Gdk.Pixbuf? pixbuf);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.4")]
                public Image.from_resource (string resource_path);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Image.from_stock (string stock_id, Gtk.IconSize size);
+               [Version (deprecated = true, deprecated_since = "3.10")]
+               public Image.from_stock (string stock_id, [CCode (type = "GtkIconSize")] Gtk.IconSize size);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Image.from_surface (Cairo.Surface surface);
+               [Version (since = "3.10")]
+               public Image.from_surface (Cairo.Surface? surface);
                public unowned Gdk.PixbufAnimation? get_animation ();
-               public void get_gicon (out unowned GLib.Icon gicon, out Gtk.IconSize size);
-               public void get_icon_name (out unowned string icon_name, out Gtk.IconSize size);
-               public void get_icon_set (out unowned Gtk.IconSet icon_set, out Gtk.IconSize size);
+               [Version (since = "2.14")]
+               public void get_gicon (out unowned GLib.Icon gicon, [CCode (type = "GtkIconSize*")] out 
Gtk.IconSize size);
+               [Version (since = "2.6")]
+               public void get_icon_name (out unowned string icon_name, [CCode (type = "GtkIconSize*")] out 
Gtk.IconSize size);
+               [Version (deprecated = true, deprecated_since = "3.10")]
+               public void get_icon_set (out unowned Gtk.IconSet icon_set, [CCode (type = "GtkIconSize*")] 
out Gtk.IconSize size);
                public unowned Gdk.Pixbuf? get_pixbuf ();
+               [Version (since = "2.6")]
                public int get_pixel_size ();
-               public void get_stock (out string stock_id, out Gtk.IconSize size);
+               [Version (deprecated = true, deprecated_since = "3.10")]
+               public void get_stock (out unowned string stock_id, [CCode (type = "GtkIconSize*")] out 
Gtk.IconSize size);
                public Gtk.ImageType get_storage_type ();
                public void set_from_animation (Gdk.PixbufAnimation animation);
                public void set_from_file (string? filename);
-               public void set_from_gicon (GLib.Icon icon, Gtk.IconSize size);
-               public void set_from_icon_name (string icon_name, Gtk.IconSize size);
-               public void set_from_icon_set (Gtk.IconSet icon_set, Gtk.IconSize size);
+               [Version (since = "2.14")]
+               public void set_from_gicon (GLib.Icon icon, [CCode (type = "GtkIconSize")] Gtk.IconSize size);
+               [Version (since = "2.6")]
+               public void set_from_icon_name (string icon_name, [CCode (type = "GtkIconSize")] Gtk.IconSize 
size);
+               [Version (deprecated = true, deprecated_since = "3.10")]
+               public void set_from_icon_set (Gtk.IconSet icon_set, [CCode (type = "GtkIconSize")] 
Gtk.IconSize size);
                public void set_from_pixbuf (Gdk.Pixbuf? pixbuf);
                public void set_from_resource (string? resource_path);
-               public void set_from_stock (string stock_id, Gtk.IconSize size);
+               [Version (deprecated = true, deprecated_since = "3.10")]
+               public void set_from_stock (string stock_id, [CCode (type = "GtkIconSize")] Gtk.IconSize 
size);
+               [Version (since = "3.10")]
                public void set_from_surface (Cairo.Surface surface);
+               [Version (since = "2.6")]
                public void set_pixel_size (int pixel_size);
                [NoAccessorMethod]
                public string file { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public GLib.Icon gicon { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.6")]
                public string icon_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public Gtk.IconSet icon_set { owned get; set; }
                [NoAccessorMethod]
                public int icon_size { get; set; }
@@ -2911,15 +4176,19 @@ namespace Gtk {
                public Gdk.Pixbuf pixbuf { owned get; set; }
                [NoAccessorMethod]
                public Gdk.PixbufAnimation pixbuf_animation { owned get; set; }
+               [Version (since = "2.6")]
                public int pixel_size { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.8")]
                public string resource { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string stock { owned get; set; }
                public Gtk.ImageType storage_type { get; }
                [NoAccessorMethod]
                public Cairo.Surface surface { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool use_fallback { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_image_accessible_get_type ()")]
@@ -2933,48 +4202,73 @@ namespace Gtk {
                protected ImageCellAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_image_menu_item_get_type ()")]
-       public class ImageMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       [Version (deprecated = true, deprecated_since = "3.10")]
+       public class ImageMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ImageMenuItem ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ImageMenuItem.from_stock (string stock_id, Gtk.AccelGroup? accel_group);
+               [Version (since = "2.16")]
                public bool get_always_show_image ();
                public unowned Gtk.Widget get_image ();
+               [Version (since = "2.16")]
                public bool get_use_stock ();
+               [Version (since = "2.16")]
                public void set_accel_group (Gtk.AccelGroup accel_group);
+               [Version (since = "2.16")]
                public void set_always_show_image (bool always_show);
                public void set_image (Gtk.Widget? image);
+               [Version (since = "2.16")]
                public void set_use_stock (bool use_stock);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ImageMenuItem.with_label (string label);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ImageMenuItem.with_mnemonic (string label);
+               [Version (since = "2.16")]
                public Gtk.AccelGroup accel_group { set; }
+               [Version (since = "2.16")]
                public bool always_show_image { get; set construct; }
                public Gtk.Widget image { get; set; }
+               [Version (since = "2.16")]
                public bool use_stock { get; set construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_info_bar_get_type ()")]
        public class InfoBar : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.18")]
                public InfoBar ();
+               [Version (since = "2.18")]
                public void add_action_widget (Gtk.Widget child, int response_id);
+               [Version (since = "2.18")]
                public unowned Gtk.Button add_button (string button_text, int response_id);
+               [Version (since = "2.18")]
                public void add_buttons (...);
+               [Version (since = "2.18")]
                public unowned Gtk.Widget get_action_area ();
+               [Version (since = "2.18")]
                public unowned Gtk.Container get_content_area ();
+               [Version (since = "2.18")]
                public Gtk.MessageType get_message_type ();
+               [Version (since = "3.10")]
                public bool get_show_close_button ();
+               [Version (since = "2.18")]
                public void set_default_response (int response_id);
+               [Version (since = "2.18")]
                public void set_message_type (Gtk.MessageType message_type);
+               [Version (since = "2.18")]
                public void set_response_sensitive (int response_id, bool setting);
+               [Version (since = "3.10")]
                public void set_show_close_button (bool setting);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public InfoBar.with_buttons (...);
+               [Version (since = "2.18")]
                public Gtk.MessageType message_type { get; set construct; }
+               [Version (since = "3.10")]
                public bool show_close_button { get; set construct; }
+               [Version (since = "2.18")]
                public virtual signal void close ();
                [HasEmitter]
+               [Version (since = "2.18")]
                public virtual signal void response (int response_id);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_invisible_get_type ()")]
@@ -2982,8 +4276,11 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Invisible ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.2")]
                public Invisible.for_screen (Gdk.Screen screen);
+               [Version (since = "2.2")]
                public unowned Gdk.Screen get_screen ();
+               [Version (since = "2.2")]
                public void set_screen (Gdk.Screen screen);
                public Gdk.Screen screen { get; set; }
        }
@@ -2991,64 +4288,89 @@ namespace Gtk {
        public class Label : Gtk.Misc, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Label (string? str);
+               [Version (since = "2.6")]
                public double get_angle ();
                public unowned Pango.AttrList? get_attributes ();
+               [Version (since = "2.18")]
                public unowned string get_current_uri ();
+               [Version (since = "2.6")]
                public Pango.EllipsizeMode get_ellipsize ();
                public Gtk.Justification get_justify ();
                public unowned string get_label ();
                public unowned Pango.Layout get_layout ();
                public void get_layout_offsets (out int x, out int y);
                public bool get_line_wrap ();
+               [Version (since = "2.10")]
                public Pango.WrapMode get_line_wrap_mode ();
+               [Version (since = "3.10")]
                public int get_lines ();
+               [Version (since = "2.6")]
                public int get_max_width_chars ();
                public uint get_mnemonic_keyval ();
                public unowned Gtk.Widget? get_mnemonic_widget ();
                public bool get_selectable ();
                public bool get_selection_bounds (out int start, out int end);
+               [Version (since = "2.6")]
                public bool get_single_line_mode ();
                public unowned string get_text ();
+               [Version (since = "2.18")]
                public bool get_track_visited_links ();
                public bool get_use_markup ();
                public bool get_use_underline ();
+               [Version (since = "2.6")]
                public int get_width_chars ();
+               [Version (since = "3.16")]
                public float get_xalign ();
+               [Version (since = "3.16")]
                public float get_yalign ();
                public void select_region (int start_offset, int end_offset);
+               [Version (since = "2.6")]
                public void set_angle (double angle);
                public void set_attributes (Pango.AttrList? attrs);
+               [Version (since = "2.6")]
                public void set_ellipsize (Pango.EllipsizeMode mode);
                public void set_justify (Gtk.Justification jtype);
                public void set_label (string str);
                public void set_line_wrap (bool wrap);
+               [Version (since = "2.10")]
                public void set_line_wrap_mode (Pango.WrapMode wrap_mode);
+               [Version (since = "3.10")]
                public void set_lines (int lines);
                public void set_markup (string str);
                public void set_markup_with_mnemonic (string str);
+               [Version (since = "2.6")]
                public void set_max_width_chars (int n_chars);
                public void set_mnemonic_widget (Gtk.Widget? widget);
                public void set_pattern (string pattern);
                public void set_selectable (bool setting);
+               [Version (since = "2.6")]
                public void set_single_line_mode (bool single_line_mode);
                public void set_text (string str);
                public void set_text_with_mnemonic (string str);
+               [Version (since = "2.18")]
                public void set_track_visited_links (bool track_links);
                public void set_use_markup (bool setting);
                public void set_use_underline (bool setting);
+               [Version (since = "2.6")]
                public void set_width_chars (int n_chars);
+               [Version (since = "3.16")]
                public void set_xalign (float xalign);
+               [Version (since = "3.16")]
                public void set_yalign (float yalign);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Label.with_mnemonic (string? str);
+               [Version (since = "2.6")]
                public double angle { get; set; }
                public Pango.AttrList attributes { get; set; }
                [NoAccessorMethod]
                public int cursor_position { get; }
+               [Version (since = "2.6")]
                public Pango.EllipsizeMode ellipsize { get; set; }
                public Gtk.Justification justify { get; set; }
                public string label { get; set; }
+               [Version (since = "3.10")]
                public int lines { get; set; }
+               [Version (since = "2.6")]
                public int max_width_chars { get; set; }
                public uint mnemonic_keyval { get; }
                public Gtk.Widget mnemonic_widget { get; set; }
@@ -3056,25 +4378,33 @@ namespace Gtk {
                public bool selectable { get; set; }
                [NoAccessorMethod]
                public int selection_bound { get; }
+               [Version (since = "2.6")]
                public bool single_line_mode { get; set; }
+               [Version (since = "2.18")]
                public bool track_visited_links { get; set; }
                public bool use_markup { get; set; }
                public bool use_underline { get; set; }
+               [Version (since = "2.6")]
                public int width_chars { get; set; }
                [NoAccessorMethod]
                public bool wrap { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public Pango.WrapMode wrap_mode { get; set; }
+               [Version (since = "3.16")]
                public float xalign { get; set; }
+               [Version (since = "3.16")]
                public float yalign { get; set; }
-               public virtual signal void activate_current_link ();
+               [Version (since = "2.18")]
+               public signal void activate_current_link ();
+               [Version (since = "2.18")]
                public virtual signal bool activate_link (string uri);
                public virtual signal void copy_clipboard ();
                public virtual signal void move_cursor (Gtk.MovementStep step, int count, bool 
extend_selection);
                public virtual signal void populate_popup (Gtk.Menu menu);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_label_accessible_get_type ()")]
-       public class LabelAccessible : Gtk.WidgetAccessible, Atk.Component, Atk.Text, Atk.Hypertext {
+       public class LabelAccessible : Gtk.WidgetAccessible, Atk.Component, Atk.Hypertext, Atk.Text {
                [CCode (has_construct_function = false)]
                protected LabelAccessible ();
        }
@@ -3086,14 +4416,19 @@ namespace Gtk {
        public class Layout : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Scrollable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Layout (Gtk.Adjustment? hadjustment = null, Gtk.Adjustment? vadjustment = null);
+               [Version (since = "2.14")]
                public unowned Gdk.Window get_bin_window ();
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public unowned Gtk.Adjustment get_hadjustment ();
                public void get_size (out uint width, out uint height);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public unowned Gtk.Adjustment get_vadjustment ();
                public void move (Gtk.Widget child_widget, int x, int y);
                public void put (Gtk.Widget child_widget, int x, int y);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_hadjustment (Gtk.Adjustment? adjustment);
                public void set_size (uint width, uint height);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_vadjustment (Gtk.Adjustment? adjustment);
                [NoAccessorMethod]
                public uint height { get; set; }
@@ -3103,27 +4438,48 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_level_bar_get_type ()")]
        public class LevelBar : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.6")]
                public LevelBar ();
+               [Version (since = "3.6")]
                public void add_offset_value (string name, double value);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.6")]
                public LevelBar.for_interval (double min_value, double max_value);
+               [Version (since = "3.8")]
                public bool get_inverted ();
+               [Version (since = "3.6")]
                public double get_max_value ();
+               [Version (since = "3.6")]
                public double get_min_value ();
+               [Version (since = "3.6")]
                public Gtk.LevelBarMode get_mode ();
+               [Version (since = "3.6")]
                public bool get_offset_value (string? name, out double value);
+               [Version (since = "3.6")]
                public double get_value ();
+               [Version (since = "3.6")]
                public void remove_offset_value (string? name);
+               [Version (since = "3.8")]
                public void set_inverted (bool inverted);
+               [Version (since = "3.6")]
                public void set_max_value (double value);
+               [Version (since = "3.6")]
                public void set_min_value (double value);
+               [Version (since = "3.6")]
                public void set_mode (Gtk.LevelBarMode mode);
+               [Version (since = "3.6")]
                public void set_value (double value);
+               [Version (since = "3.8")]
                public bool inverted { get; set; }
+               [Version (since = "3.6")]
                public double max_value { get; set; }
+               [Version (since = "3.6")]
                public double min_value { get; set; }
+               [Version (since = "3.6")]
                public Gtk.LevelBarMode mode { get; set; }
+               [Version (since = "3.6")]
                public double value { get; set; }
+               [Version (since = "3.6")]
                public virtual signal void offset_changed (string name);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_level_bar_accessible_get_type 
()")]
@@ -3132,64 +4488,103 @@ namespace Gtk {
                protected LevelBarAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_link_button_get_type ()")]
-       public class LinkButton : Gtk.Button, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, Gtk.Activatable 
{
+       public class LinkButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable 
{
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public LinkButton (string uri);
+               [Version (since = "2.10")]
                public unowned string get_uri ();
+               [Version (since = "2.14")]
                public bool get_visited ();
+               [Version (since = "2.10")]
                public void set_uri (string uri);
+               [Version (since = "2.14")]
                public void set_visited (bool visited);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public LinkButton.with_label (string uri, string? label);
+               [Version (since = "2.10")]
                public string uri { get; set; }
+               [Version (since = "2.14")]
                public bool visited { get; set; }
                public virtual signal bool activate_link ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_link_button_accessible_get_type 
()")]
-       public class LinkButtonAccessible : Gtk.ButtonAccessible, Atk.Component, Atk.Action, Atk.Image, 
Atk.HyperlinkImpl {
+       public class LinkButtonAccessible : Gtk.ButtonAccessible, Atk.Action, Atk.Component, 
Atk.HyperlinkImpl, Atk.Image {
                [CCode (has_construct_function = false)]
                protected LinkButtonAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_list_box_get_type ()")]
        public class ListBox : Gtk.Container, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public ListBox ();
+               [Version (since = "3.16")]
                public void bind_model (GLib.ListModel? model, owned Gtk.ListBoxCreateWidgetFunc? 
create_widget_func);
+               [Version (since = "3.10")]
                public void drag_highlight_row (Gtk.ListBoxRow row);
+               [Version (since = "3.10")]
                public void drag_unhighlight_row ();
+               [Version (since = "3.10")]
                public bool get_activate_on_single_click ();
+               [Version (since = "3.10")]
                public unowned Gtk.Adjustment get_adjustment ();
+               [Version (since = "3.10")]
                public unowned Gtk.ListBoxRow? get_row_at_index (int index_);
+               [Version (since = "3.10")]
                public unowned Gtk.ListBoxRow? get_row_at_y (int y);
+               [Version (since = "3.10")]
                public unowned Gtk.ListBoxRow get_selected_row ();
+               [Version (since = "3.14")]
                public GLib.List<weak Gtk.ListBoxRow> get_selected_rows ();
+               [Version (since = "3.10")]
                public Gtk.SelectionMode get_selection_mode ();
+               [Version (since = "3.10")]
                public void insert (Gtk.Widget child, int position);
+               [Version (since = "3.10")]
                public void invalidate_filter ();
+               [Version (since = "3.10")]
                public void invalidate_headers ();
+               [Version (since = "3.10")]
                public void invalidate_sort ();
+               [Version (since = "3.10")]
                public void prepend (Gtk.Widget child);
+               [Version (since = "3.10")]
                public void select_row (Gtk.ListBoxRow? row);
+               [Version (since = "3.14")]
                public void selected_foreach (Gtk.ListBoxForeachFunc func);
+               [Version (since = "3.10")]
                public void set_activate_on_single_click (bool single);
+               [Version (since = "3.10")]
                public void set_adjustment (Gtk.Adjustment? adjustment);
+               [Version (since = "3.10")]
                public void set_filter_func (owned Gtk.ListBoxFilterFunc? filter_func);
+               [Version (since = "3.10")]
                public void set_header_func (owned Gtk.ListBoxUpdateHeaderFunc? update_header);
+               [Version (since = "3.10")]
                public void set_placeholder (Gtk.Widget? placeholder);
+               [Version (since = "3.10")]
                public void set_selection_mode (Gtk.SelectionMode mode);
+               [Version (since = "3.10")]
                public void set_sort_func (owned Gtk.ListBoxSortFunc? sort_func);
+               [Version (since = "3.14")]
                public void unselect_row (Gtk.ListBoxRow row);
                public bool activate_on_single_click { get; set; }
                public Gtk.SelectionMode selection_mode { get; set; }
                public virtual signal void activate_cursor_row ();
                public virtual signal void move_cursor (Gtk.MovementStep step, int count);
+               [Version (since = "3.10")]
                public virtual signal void row_activated (Gtk.ListBoxRow row);
+               [Version (since = "3.10")]
                public virtual signal void row_selected (Gtk.ListBoxRow? row);
                [HasEmitter]
+               [Version (since = "3.14")]
                public virtual signal void select_all ();
+               [Version (since = "3.14")]
                public virtual signal void selected_rows_changed ();
                public virtual signal void toggle_cursor_row ();
                [HasEmitter]
+               [Version (since = "3.14")]
                public virtual signal void unselect_all ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_list_box_accessible_get_type 
()")]
@@ -3200,17 +4595,29 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_list_box_row_get_type ()")]
        public class ListBoxRow : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public ListBoxRow ();
+               [Version (since = "3.10")]
                public void changed ();
+               [Version (since = "3.14")]
                public bool get_activatable ();
+               [Version (since = "3.10")]
                public unowned Gtk.Widget? get_header ();
+               [Version (since = "3.10")]
                public int get_index ();
+               [Version (since = "3.14")]
                public bool get_selectable ();
+               [Version (since = "3.14")]
                public bool is_selected ();
+               [Version (since = "3.14")]
                public void set_activatable (bool activatable);
+               [Version (since = "3.10")]
                public void set_header (Gtk.Widget? header);
+               [Version (since = "3.14")]
                public void set_selectable (bool selectable);
+               [Version (since = "3.14")]
                public bool activatable { get; set; }
+               [Version (since = "3.14")]
                public bool selectable { get; set; }
                public virtual signal void activate ();
        }
@@ -3220,7 +4627,7 @@ namespace Gtk {
                protected ListBoxRowAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_list_store_get_type ()")]
-       public class ListStore : GLib.Object, Gtk.TreeModel, Gtk.TreeDragSource, Gtk.TreeDragDest, 
Gtk.TreeSortable, Gtk.Buildable {
+       public class ListStore : GLib.Object, Gtk.Buildable, Gtk.TreeDragDest, Gtk.TreeDragSource, 
Gtk.TreeModel, Gtk.TreeSortable {
                [CCode (has_construct_function = false, sentinel = "-1")]
                public ListStore (int n_columns, ...);
                public void append (out Gtk.TreeIter iter);
@@ -3229,29 +4636,40 @@ namespace Gtk {
                public void insert_after (out Gtk.TreeIter iter, Gtk.TreeIter? sibling);
                public void insert_before (out Gtk.TreeIter iter, Gtk.TreeIter? sibling);
                [CCode (sentinel = "-1")]
+               [Version (since = "2.6")]
                public void insert_with_values (out Gtk.TreeIter iter, int position, ...);
-               public void insert_with_valuesv (out Gtk.TreeIter iter, int position, [CCode 
(array_length_pos = 4.1)] int[] columns, [CCode (array_length_pos = 4.1)] GLib.Value[] values);
+               [Version (since = "2.6")]
+               public void insert_with_valuesv (out Gtk.TreeIter iter, int position, [CCode 
(array_length_cname = "n_values", array_length_pos = 4.1)] int[] columns, [CCode (array_length_cname = 
"n_values", array_length_pos = 4.1)] GLib.Value[] values);
+               [Version (since = "2.2")]
                public bool iter_is_valid (Gtk.TreeIter iter);
+               [Version (since = "2.2")]
                public void move_after (ref Gtk.TreeIter iter, Gtk.TreeIter? position);
+               [Version (since = "2.2")]
                public void move_before (ref Gtk.TreeIter iter, Gtk.TreeIter? position);
                [CCode (cname = "gtk_list_store_newv", has_construct_function = false)]
-               public ListStore.newv ([CCode (array_length_pos = 0.9)] GLib.Type[] types);
+               public ListStore.newv ([CCode (array_length_cname = "n_columns", array_length_pos = 0.5)] 
GLib.Type[] types);
                public void prepend (out Gtk.TreeIter iter);
                public bool remove (Gtk.TreeIter iter);
-               public void reorder ([CCode (array_length = false)] int[] new_order);
+               [Version (since = "2.2")]
+               public void reorder ([CCode (array_length = false, array_null_terminated = true)] int[] 
new_order);
                [CCode (sentinel = "-1")]
                public void @set (Gtk.TreeIter iter, ...);
-               public void set_column_types ([CCode (array_length_pos = 0.9)] GLib.Type[] types);
-               public void set_valist (Gtk.TreeIter iter, va_list var_args);
+               public void set_column_types ([CCode (array_length_cname = "n_columns", array_length_pos = 
0.5)] GLib.Type[] types);
+               public void set_valist (Gtk.TreeIter iter, [CCode (type = "va_list")] va_list var_args);
                public void set_value (Gtk.TreeIter iter, int column, GLib.Value value);
-               public void set_valuesv (Gtk.TreeIter iter, [CCode (array_length_pos = 3.1)] int[] columns, 
[CCode (array_length_pos = 3.1)] GLib.Value[] values);
+               [Version (since = "2.12")]
+               public void set_valuesv (Gtk.TreeIter iter, [CCode (array_length_cname = "n_values", 
array_length_pos = 3.1)] int[] columns, [CCode (array_length_cname = "n_values", array_length_pos = 3.1)] 
GLib.Value[] values);
+               [Version (since = "2.2")]
                public void swap (Gtk.TreeIter a, Gtk.TreeIter b);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_lock_button_get_type ()")]
-       public class LockButton : Gtk.Button, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, Gtk.Activatable 
{
+       public class LockButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable 
{
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.2")]
                public LockButton (GLib.Permission? permission);
+               [Version (since = "3.2")]
                public unowned GLib.Permission get_permission ();
+               [Version (since = "3.2")]
                public void set_permission (GLib.Permission? permission);
                public GLib.Permission permission { get; set; }
                [NoAccessorMethod]
@@ -3266,7 +4684,7 @@ namespace Gtk {
                public string tooltip_unlock { owned get; set construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_lock_button_accessible_get_type 
()")]
-       public class LockButtonAccessible : Gtk.ButtonAccessible, Atk.Component, Atk.Action, Atk.Image {
+       public class LockButtonAccessible : Gtk.ButtonAccessible, Atk.Action, Atk.Component, Atk.Image {
                [CCode (has_construct_function = false)]
                protected LockButtonAccessible ();
        }
@@ -3274,45 +4692,67 @@ namespace Gtk {
        public class Menu : Gtk.MenuShell, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Menu ();
+               [Version (since = "2.4")]
                public void attach (Gtk.Widget child, uint left_attach, uint right_attach, uint top_attach, 
uint bottom_attach);
                public void attach_to_widget (Gtk.Widget attach_widget, [CCode (scope = "async")] 
Gtk.MenuDetachFunc? detacher);
                public void detach ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.4")]
                public Menu.from_model (GLib.MenuModel model);
                public unowned Gtk.AccelGroup get_accel_group ();
+               [Version (since = "2.14")]
                public unowned string get_accel_path ();
                public unowned Gtk.Widget get_active ();
                public unowned Gtk.Widget get_attach_widget ();
+               [Version (since = "2.6")]
                public static unowned GLib.List<Gtk.Menu> get_for_attach_widget (Gtk.Widget widget);
+               [Version (since = "2.14")]
                public int get_monitor ();
+               [Version (since = "2.18")]
                public bool get_reserve_toggle_size ();
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool get_tearoff_state ();
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public unowned string get_title ();
                public void place_on_monitor (Gdk.Monitor monitor);
                public void popdown ();
-               public void popup (Gtk.Widget? parent_menu_shell, Gtk.Widget? parent_menu_item, [CCode (scope 
= "async")] Gtk.MenuPositionFunc? func, uint button, uint32 activate_time);
-               public void popup_for_device (Gdk.Device? device, Gtk.Widget parent_menu_shell, Gtk.Widget 
parent_menu_item, owned Gtk.MenuPositionFunc? func, uint button, uint32 activate_time);
+               public void popup (Gtk.Widget? parent_menu_shell, Gtk.Widget? parent_menu_item, [CCode 
(delegate_target_pos = 3.5, scope = "async")] Gtk.MenuPositionFunc? func, uint button, uint32 activate_time);
+               [Version (since = "3.0")]
+               public void popup_for_device (Gdk.Device? device, Gtk.Widget? parent_menu_shell, Gtk.Widget? 
parent_menu_item, [CCode (delegate_target_pos = 4.33333, destroy_notify_pos = 4.66667)] owned 
Gtk.MenuPositionFunc? func, uint button, uint32 activate_time);
                public void reorder_child (Gtk.Widget child, int position);
                public void reposition ();
                public void set_accel_group (Gtk.AccelGroup? accel_group);
                public void set_accel_path (string? accel_path);
                public void set_active (uint index);
+               [Version (since = "2.4")]
                public void set_monitor (int monitor_num);
+               [Version (since = "2.18")]
                public void set_reserve_toggle_size (bool reserve_toggle_size);
+               [Version (since = "2.2")]
                public void set_screen (Gdk.Screen? screen);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public void set_tearoff_state (bool torn_off);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public void set_title (string title);
+               [Version (since = "2.14")]
                public Gtk.AccelGroup accel_group { get; set; }
+               [Version (since = "2.14")]
                public string accel_path { get; set; }
+               [Version (since = "2.14")]
                public int active { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public Gtk.Widget attach_widget { owned get; set; }
+               [Version (since = "2.14")]
                public int monitor { get; set; }
+               [Version (since = "2.18")]
                public bool reserve_toggle_size { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public bool tearoff_state { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string tearoff_title { owned get; set; }
-               public virtual signal void move_scroll (Gtk.ScrollType p0);
+               public signal void move_scroll (Gtk.ScrollType scroll_type);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_menu_accessible_get_type ()")]
        public class MenuAccessible : Gtk.MenuShellAccessible, Atk.Component, Atk.Selection {
@@ -3324,73 +4764,113 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public MenuBar ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.4")]
                public MenuBar.from_model (GLib.MenuModel model);
+               [Version (since = "2.8")]
                public Gtk.PackDirection get_child_pack_direction ();
+               [Version (since = "2.8")]
                public Gtk.PackDirection get_pack_direction ();
+               [Version (since = "2.8")]
                public void set_child_pack_direction (Gtk.PackDirection child_pack_dir);
+               [Version (since = "2.8")]
                public void set_pack_direction (Gtk.PackDirection pack_dir);
+               [Version (since = "2.8")]
                public Gtk.PackDirection child_pack_direction { get; set; }
+               [Version (since = "2.8")]
                public Gtk.PackDirection pack_direction { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_menu_button_get_type ()")]
-       public class MenuButton : Gtk.ToggleButton, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable {
+       public class MenuButton : Gtk.ToggleButton, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.6")]
                public MenuButton ();
+               [Version (since = "3.6")]
                public unowned Gtk.Widget? get_align_widget ();
+               [Version (since = "3.6")]
                public Gtk.ArrowType get_direction ();
+               [Version (since = "3.6")]
                public unowned GLib.MenuModel? get_menu_model ();
+               [Version (since = "3.12")]
                public unowned Gtk.Popover? get_popover ();
+               [Version (since = "3.6")]
                public unowned Gtk.Menu? get_popup ();
+               [Version (since = "3.12")]
                public bool get_use_popover ();
+               [Version (since = "3.6")]
                public void set_align_widget (Gtk.Widget? align_widget);
+               [Version (since = "3.6")]
                public void set_direction (Gtk.ArrowType direction);
+               [Version (since = "3.6")]
                public void set_menu_model (GLib.MenuModel? menu_model);
+               [Version (since = "3.12")]
                public void set_popover (Gtk.Widget? popover);
+               [Version (since = "3.6")]
                public void set_popup (Gtk.Widget? menu);
+               [Version (since = "3.12")]
                public void set_use_popover (bool use_popover);
+               [Version (since = "3.6")]
                public Gtk.Container align_widget { get; set; }
+               [Version (since = "3.6")]
                public Gtk.ArrowType direction { get; set; }
+               [Version (since = "3.6")]
                public GLib.MenuModel menu_model { get; set; }
+               [Version (since = "3.12")]
                public Gtk.Popover popover { get; set; }
+               [Version (since = "3.6")]
                public Gtk.Menu popup { get; set; }
+               [Version (since = "3.12")]
                public bool use_popover { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_menu_button_accessible_get_type 
()")]
-       public class MenuButtonAccessible : Gtk.ToggleButtonAccessible, Atk.Component, Atk.Action, Atk.Image {
+       public class MenuButtonAccessible : Gtk.ToggleButtonAccessible, Atk.Action, Atk.Component, Atk.Image {
                [CCode (has_construct_function = false)]
                protected MenuButtonAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_menu_item_get_type ()")]
-       public class MenuItem : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, Gtk.Actionable {
+       public class MenuItem : Gtk.Bin, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public MenuItem ();
+               [Version (since = "2.14")]
                public unowned string? get_accel_path ();
+               [Version (since = "2.16")]
                public virtual unowned string get_label ();
+               [Version (since = "3.0")]
                public bool get_reserve_indicator ();
-               [Version (deprecated_since = "3.2", replacement = "Widget.get_hexpand and Widget.get_halign")]
+               [Version (deprecated = true, deprecated_since = "3.2", replacement = "Widget.get_hexpand and 
Widget.get_halign")]
                public bool get_right_justified ();
                public unowned Gtk.Widget? get_submenu ();
+               [Version (since = "2.16")]
                public bool get_use_underline ();
                public void set_accel_path (string? accel_path);
+               [Version (since = "2.16")]
                public virtual void set_label (string label);
+               [Version (since = "3.0")]
                public void set_reserve_indicator (bool reserve);
-               [Version (deprecated_since = "3.2", replacement = "Widget.set_hexpand and Widget.set_halign")]
+               [Version (deprecated = true, deprecated_since = "3.2", replacement = "Widget.set_hexpand and 
Widget.set_halign")]
                public void set_right_justified (bool right_justified);
-               public void set_submenu (Gtk.Widget? submenu);
+               public void set_submenu (Gtk.Menu? submenu);
+               [Version (since = "2.16")]
                public void set_use_underline (bool setting);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public MenuItem.with_label (string label);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public MenuItem.with_mnemonic (string label);
+               [Version (since = "2.14")]
                public string accel_path { get; set; }
+               [Version (since = "2.16")]
                public string label { get; set; }
+               [Version (since = "2.14")]
                public bool right_justified { get; set; }
+               [Version (since = "2.12")]
                public Gtk.Menu submenu { get; set; }
+               [Version (since = "2.16")]
                public bool use_underline { get; set; }
                [HasEmitter]
                public virtual signal void activate ();
                public virtual signal void activate_item ();
+               [HasEmitter]
                public virtual signal void deselect ();
+               [HasEmitter]
                public virtual signal void select ();
                [HasEmitter]
                public virtual signal void toggle_size_allocate (int allocation);
@@ -3398,7 +4878,7 @@ namespace Gtk {
                public virtual signal void toggle_size_request (void* requisition);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_menu_item_accessible_get_type 
()")]
-       public class MenuItemAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.Action, Atk.Selection {
+       public class MenuItemAccessible : Gtk.ContainerAccessible, Atk.Action, Atk.Component, Atk.Selection {
                [CCode (has_construct_function = false)]
                protected MenuItemAccessible ();
        }
@@ -3407,28 +4887,37 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected MenuShell ();
                public void activate_item (Gtk.Widget menu_item, bool force_deactivate);
-               public void append ([CCode (type = "GtkWidget*")] Gtk.MenuItem child);
+               public void append (Gtk.MenuItem child);
+               [Version (since = "3.6")]
                public void bind_model (GLib.MenuModel? model, string? action_namespace, bool 
with_separators);
                public void deselect ();
+               [Version (since = "3.0")]
                public unowned Gtk.Widget get_parent_shell ();
                [NoWrapper]
                public virtual int get_popup_delay ();
+               [Version (since = "3.0")]
                public unowned Gtk.Widget get_selected_item ();
+               [Version (since = "2.8")]
                public bool get_take_focus ();
                public void prepend (Gtk.Widget child);
+               [Version (since = "2.2")]
                public void select_first (bool search_sensitive);
                public virtual void select_item (Gtk.Widget menu_item);
+               [Version (since = "2.8")]
                public void set_take_focus (bool take_focus);
+               [Version (since = "2.8")]
                public bool take_focus { get; set; }
                public virtual signal void activate_current (bool force_hide);
                [HasEmitter]
                public virtual signal void cancel ();
-               public virtual signal void cycle_focus (Gtk.DirectionType p0);
+               public signal void cycle_focus (Gtk.DirectionType direction);
                [HasEmitter]
                public virtual signal void deactivate ();
                [HasEmitter]
+               [Version (since = "3.2")]
                public virtual signal void insert (Gtk.Widget child, int position);
                public virtual signal void move_current (Gtk.MenuDirectionType direction);
+               [Version (since = "2.12")]
                public virtual signal bool move_selected (int distance);
                public virtual signal void selection_done ();
        }
@@ -3438,14 +4927,20 @@ namespace Gtk {
                protected MenuShellAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_menu_tool_button_get_type ()")]
-       public class MenuToolButton : Gtk.ToolButton, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       public class MenuToolButton : Gtk.ToolButton, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (since = "2.6")]
                public MenuToolButton (Gtk.Widget? icon_widget, string? label);
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
                public MenuToolButton.from_stock (string stock_id);
+               [Version (since = "2.6")]
                public unowned Gtk.Widget get_menu ();
+               [Version (since = "2.12")]
                public void set_arrow_tooltip_markup (string markup);
+               [Version (since = "2.12")]
                public void set_arrow_tooltip_text (string text);
+               [Version (since = "2.6")]
                public void set_menu (Gtk.Widget menu);
                public Gtk.Menu menu { get; set; }
                public virtual signal void show_menu ();
@@ -3454,34 +4949,47 @@ namespace Gtk {
        public class MessageDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                [PrintfFormat]
-               public MessageDialog (Gtk.Window? parent, Gtk.DialogFlags flags, Gtk.MessageType type, 
Gtk.ButtonsType buttons, string message_format, ...);
+               public MessageDialog (Gtk.Window? parent, Gtk.DialogFlags flags, Gtk.MessageType type, 
Gtk.ButtonsType buttons, string? message_format, ...);
                [PrintfFormat]
+               [Version (since = "2.6")]
                public void format_secondary_markup (string message_format, ...);
                [PrintfFormat]
-               public void format_secondary_text (string message_format, ...);
+               [Version (since = "2.6")]
+               public void format_secondary_text (string? message_format, ...);
+               [Version (deprecated = true, deprecated_since = "3.12", since = "2.14")]
                public unowned Gtk.Widget get_image ();
+               [Version (since = "2.22")]
                public unowned Gtk.Widget get_message_area ();
+               [Version (deprecated = true, deprecated_since = "3.12", since = "2.10")]
                public void set_image (Gtk.Widget image);
+               [Version (since = "2.4")]
                public void set_markup (string str);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                [PrintfFormat]
-               public MessageDialog.with_markup (Gtk.Window? parent, Gtk.DialogFlags flags, Gtk.MessageType 
type, Gtk.ButtonsType buttons, string message_format, ...);
-               [NoAccessorMethod]
+               [Version (since = "2.4")]
+               public MessageDialog.with_markup (Gtk.Window? parent, Gtk.DialogFlags flags, Gtk.MessageType 
type, Gtk.ButtonsType buttons, string? message_format, ...);
                public Gtk.ButtonsType buttons { construct; }
+               [Version (deprecated = true, deprecated_since = "3.12", since = "2.10")]
                public Gtk.Widget image { get; set; }
+               [Version (since = "2.22")]
                public Gtk.Widget message_area { get; }
                [NoAccessorMethod]
                public Gtk.MessageType message_type { get; set construct; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public string secondary_text { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool secondary_use_markup { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public string text { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool use_markup { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_misc_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.14")]
        public abstract class Misc : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                protected Misc ();
@@ -3498,60 +5006,90 @@ namespace Gtk {
                [NoAccessorMethod]
                public int ypad { get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public class ModelButton : Gtk.Button, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable {
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_model_button_get_type ()")]
+       public class ModelButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.16")]
                public ModelButton ();
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public bool active { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public bool centered { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public GLib.Icon icon { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public bool iconic { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public bool inverted { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public string menu_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public Gtk.ButtonRole role { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public string text { owned get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_mount_operation_get_type ()")]
        public class MountOperation : GLib.MountOperation {
                [CCode (has_construct_function = false, type = "GMountOperation*")]
+               [Version (since = "2.14")]
                public MountOperation (Gtk.Window? parent);
+               [Version (since = "2.14")]
                public unowned Gtk.Window get_parent ();
+               [Version (since = "2.14")]
                public unowned Gdk.Screen get_screen ();
+               [Version (since = "2.14")]
                public void set_parent (Gtk.Window? parent);
+               [Version (since = "2.14")]
                public void set_screen (Gdk.Screen screen);
                [NoAccessorMethod]
                public bool is_showing { get; }
                public Gtk.Window parent { get; set; }
                public Gdk.Screen screen { get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_native_dialog_get_type ()")]
        public abstract class NativeDialog : GLib.Object {
                [CCode (has_construct_function = false)]
                protected NativeDialog ();
+               [Version (since = "3.20")]
                public void destroy ();
+               [Version (since = "3.20")]
                public bool get_modal ();
-               public unowned string get_title ();
-               public unowned Gtk.Window get_transient_for ();
+               [Version (since = "3.20")]
+               public unowned string? get_title ();
+               [Version (since = "3.20")]
+               public unowned Gtk.Window? get_transient_for ();
+               [Version (since = "3.20")]
                public bool get_visible ();
+               [Version (since = "3.20")]
                public virtual void hide ();
+               [Version (since = "3.20")]
                public int run ();
+               [Version (since = "3.20")]
                public void set_modal (bool modal);
+               [Version (since = "3.20")]
                public void set_title (string title);
-               public void set_transient_for (Gtk.Window parent);
+               [Version (since = "3.20")]
+               public void set_transient_for (Gtk.Window? parent);
+               [Version (since = "3.20")]
                public virtual void show ();
+               [Version (since = "3.20")]
                public bool modal { get; set; }
-               public string? title { get; set; }
-               public Gtk.Window? transient_for { get; set construct; }
+               [Version (since = "3.20")]
+               public string title { get; set; }
+               [Version (since = "3.20")]
+               public Gtk.Window transient_for { get; set construct; }
                [NoAccessorMethod]
+               [Version (since = "3.20")]
                public bool visible { get; set; }
+               [Version (since = "3.20")]
                public virtual signal void response (int response_id);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_notebook_get_type ()")]
@@ -3560,28 +5098,35 @@ namespace Gtk {
                public Notebook ();
                public int append_page (Gtk.Widget child, Gtk.Widget? tab_label = null);
                public int append_page_menu (Gtk.Widget child, Gtk.Widget? tab_label, Gtk.Widget? menu_label);
+               [Version (since = "3.16")]
                public void detach_tab (Gtk.Widget child);
+               [Version (since = "2.20")]
                public unowned Gtk.Widget? get_action_widget (Gtk.PackType pack_type);
                public int get_current_page ();
+               [Version (since = "2.24")]
                public unowned string? get_group_name ();
                public unowned Gtk.Widget? get_menu_label (Gtk.Widget child);
                public unowned string? get_menu_label_text (Gtk.Widget child);
+               [Version (since = "2.2")]
                public int get_n_pages ();
                public unowned Gtk.Widget? get_nth_page (int page_num);
                public bool get_scrollable ();
                public bool get_show_border ();
                public bool get_show_tabs ();
+               [Version (since = "2.10")]
                public bool get_tab_detachable (Gtk.Widget child);
-               [Version (deprecated_since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.22")]
                public uint16 get_tab_hborder ();
                public unowned Gtk.Widget get_tab_label (Gtk.Widget child);
                public unowned string? get_tab_label_text (Gtk.Widget child);
                public Gtk.PositionType get_tab_pos ();
+               [Version (since = "2.10")]
                public bool get_tab_reorderable (Gtk.Widget child);
-               [Version (deprecated_since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.22")]
                public uint16 get_tab_vborder ();
                public int insert_page (Gtk.Widget child, Gtk.Widget? tab_label, int position);
                [CCode (vfunc_name = "insert_page")]
+               [NoWrapper]
                public virtual int insert_page_menu (Gtk.Widget child, Gtk.Widget? tab_label, Gtk.Widget? 
menu_label, int position);
                public void next_page ();
                public int page_num (Gtk.Widget child);
@@ -3592,21 +5137,26 @@ namespace Gtk {
                public void prev_page ();
                public void remove_page (int page_num);
                public void reorder_child (Gtk.Widget child, int position);
+               [Version (since = "2.20")]
                public void set_action_widget (Gtk.Widget widget, Gtk.PackType pack_type);
                public void set_current_page (int page_num);
+               [Version (since = "2.24")]
                public void set_group_name (string? group_name);
                public void set_menu_label (Gtk.Widget child, Gtk.Widget? menu_label);
                public void set_menu_label_text (Gtk.Widget child, string menu_text);
                public void set_scrollable (bool scrollable);
                public void set_show_border (bool show_border);
                public void set_show_tabs (bool show_tabs);
+               [Version (since = "2.10")]
                public void set_tab_detachable (Gtk.Widget child, bool detachable);
                public void set_tab_label (Gtk.Widget child, Gtk.Widget? tab_label);
                public void set_tab_label_text (Gtk.Widget child, string tab_text);
                public void set_tab_pos (Gtk.PositionType pos);
+               [Version (since = "2.10")]
                public void set_tab_reorderable (Gtk.Widget child, bool reorderable);
                [NoAccessorMethod]
                public bool enable_popup { get; set; }
+               [Version (since = "2.24")]
                public string group_name { get; set; }
                [NoAccessorMethod]
                public int page { get; set; }
@@ -3615,11 +5165,15 @@ namespace Gtk {
                public bool show_tabs { get; set; }
                public Gtk.PositionType tab_pos { get; set; }
                public virtual signal bool change_current_page (int offset);
-               public virtual signal unowned Gtk.Notebook create_window (Gtk.Widget page, int x, int y);
+               [Version (since = "2.12")]
+               public signal unowned Gtk.Notebook create_window (Gtk.Widget page, int x, int y);
                public virtual signal bool focus_tab (Gtk.NotebookTab type);
                public virtual signal void move_focus_out (Gtk.DirectionType direction);
+               [Version (since = "2.10")]
                public virtual signal void page_added (Gtk.Widget child, uint page_num);
+               [Version (since = "2.10")]
                public virtual signal void page_removed (Gtk.Widget child, uint page_num);
+               [Version (since = "2.10")]
                public virtual signal void page_reordered (Gtk.Widget child, uint page_num);
                public virtual signal bool reorder_tab (Gtk.DirectionType direction, bool move_to_last);
                public virtual signal bool select_page (bool move_focus);
@@ -3637,20 +5191,33 @@ namespace Gtk {
                public void invalidate ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_numerable_icon_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.14")]
        public class NumerableIcon : GLib.EmblemedIcon, GLib.Icon {
                [CCode (has_construct_function = false, type = "GIcon*")]
+               [Version (since = "3.0")]
                public NumerableIcon (GLib.Icon base_icon);
+               [Version (since = "3.0")]
                public unowned GLib.Icon get_background_gicon ();
+               [Version (since = "3.0")]
                public unowned string get_background_icon_name ();
+               [Version (since = "3.0")]
                public int get_count ();
+               [Version (since = "3.0")]
                public unowned string get_label ();
+               [Version (since = "3.0")]
                public unowned Gtk.StyleContext get_style_context ();
+               [Version (since = "3.0")]
                public void set_background_gicon (GLib.Icon? icon);
+               [Version (since = "3.0")]
                public void set_background_icon_name (string? icon_name);
+               [Version (since = "3.0")]
                public void set_count (int count);
+               [Version (since = "3.0")]
                public void set_label (string? label);
+               [Version (since = "3.0")]
                public void set_style_context (Gtk.StyleContext style);
                [CCode (has_construct_function = false, type = "GIcon*")]
+               [Version (since = "3.0")]
                public NumerableIcon.with_style_context (GLib.Icon base_icon, Gtk.StyleContext context);
                [NoAccessorMethod]
                public GLib.Icon background_icon { owned get; set; }
@@ -3662,79 +5229,126 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_offscreen_window_get_type ()")]
        public class OffscreenWindow : Gtk.Window, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.20")]
                public OffscreenWindow ();
+               [Version (since = "2.20")]
                public Gdk.Pixbuf? get_pixbuf ();
+               [Version (since = "2.20")]
                public unowned Cairo.Surface? get_surface ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_overlay_get_type ()")]
        public class Overlay : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.2")]
                public Overlay ();
+               [Version (since = "3.2")]
                public void add_overlay (Gtk.Widget widget);
+               [Version (since = "3.18")]
                public bool get_overlay_pass_through (Gtk.Widget widget);
                public void reorder_overlay (Gtk.Widget child, int position);
+               [Version (since = "3.18")]
                public void set_overlay_pass_through (Gtk.Widget widget, bool pass_through);
                public virtual signal bool get_child_position (Gtk.Widget widget, out Gdk.Rectangle 
allocation);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_page_setup_get_type ()")]
        public class PageSetup : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public PageSetup ();
+               [Version (since = "2.10")]
                public Gtk.PageSetup copy ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public PageSetup.from_file (string file_name) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public PageSetup.from_key_file (GLib.KeyFile key_file, string? group_name) throws GLib.Error;
+               [Version (since = "2.10")]
                public double get_bottom_margin (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_left_margin (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public Gtk.PageOrientation get_orientation ();
+               [Version (since = "2.10")]
                public double get_page_height (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_page_width (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_paper_height (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public unowned Gtk.PaperSize get_paper_size ();
+               [Version (since = "2.10")]
                public double get_paper_width (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_right_margin (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_top_margin (Gtk.Unit unit);
+               [Version (since = "2.14")]
                public bool load_file (string file_name) throws GLib.Error;
+               [Version (since = "2.14")]
                public bool load_key_file (GLib.KeyFile key_file, string? group_name) throws GLib.Error;
+               [Version (since = "2.10")]
                public void set_bottom_margin (double margin, Gtk.Unit unit);
+               [Version (since = "2.10")]
                public void set_left_margin (double margin, Gtk.Unit unit);
+               [Version (since = "2.10")]
                public void set_orientation (Gtk.PageOrientation orientation);
+               [Version (since = "2.10")]
                public void set_paper_size (Gtk.PaperSize size);
+               [Version (since = "2.10")]
                public void set_paper_size_and_default_margins (Gtk.PaperSize size);
+               [Version (since = "2.10")]
                public void set_right_margin (double margin, Gtk.Unit unit);
+               [Version (since = "2.10")]
                public void set_top_margin (double margin, Gtk.Unit unit);
+               [Version (since = "2.12")]
                public bool to_file (string file_name) throws GLib.Error;
+               [Version (since = "2.12")]
                public void to_key_file (GLib.KeyFile key_file, string group_name);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_paned_get_type ()")]
        public class Paned : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public Paned (Gtk.Orientation orientation);
                public void add1 (Gtk.Widget child);
                public void add2 (Gtk.Widget child);
+               [Version (since = "2.4")]
                public unowned Gtk.Widget? get_child1 ();
+               [Version (since = "2.4")]
                public unowned Gtk.Widget? get_child2 ();
+               [Version (since = "2.20")]
                public unowned Gdk.Window get_handle_window ();
                public int get_position ();
+               [Version (since = "3.16")]
                public bool get_wide_handle ();
                public void pack1 (Gtk.Widget child, bool resize, bool shrink);
                public void pack2 (Gtk.Widget child, bool resize, bool shrink);
                public void set_position (int position);
+               [Version (since = "3.16")]
                public void set_wide_handle (bool wide);
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public int max_position { get; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public int min_position { get; }
                public int position { get; set; }
                [NoAccessorMethod]
                public bool position_set { get; set; }
+               [Version (since = "3.16")]
                public bool wide_handle { get; set; }
+               [Version (since = "2.0")]
                public virtual signal bool accept_position ();
+               [Version (since = "2.0")]
                public virtual signal bool cancel_position ();
+               [Version (since = "2.0")]
                public virtual signal bool cycle_child_focus (bool reverse);
+               [Version (since = "2.0")]
                public virtual signal bool cycle_handle_focus (bool reverse);
+               [Version (since = "2.0")]
                public virtual signal bool move_handle (Gtk.ScrollType scroll);
+               [Version (since = "2.0")]
                public virtual signal bool toggle_handle_focus ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_paned_accessible_get_type ()")]
@@ -3742,68 +5356,117 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected PanedAccessible ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "gtk_paper_size_copy", type_id = 
"gtk_paper_size_get_type ()")]
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_paper_size_get_type ()")]
        [Compact]
        public class PaperSize {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public PaperSize (string? name);
+               [Version (since = "2.10")]
                public Gtk.PaperSize copy ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public PaperSize.custom (string name, string display_name, double width, double height, 
Gtk.Unit unit);
+               [Version (since = "2.10")]
+               public void free ();
                [CCode (has_construct_function = false)]
+               [Version (since = "3.16")]
                public PaperSize.from_ipp (string ipp_name, double width, double height);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public PaperSize.from_key_file (GLib.KeyFile key_file, string group_name) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public PaperSize.from_ppd (string ppd_name, string ppd_display_name, double width, double 
height);
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               [Version (since = "2.10")]
                public static unowned string get_default ();
+               [Version (since = "2.10")]
                public double get_default_bottom_margin (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_default_left_margin (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_default_right_margin (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public double get_default_top_margin (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public unowned string get_display_name ();
+               [Version (since = "2.10")]
                public double get_height (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public unowned string get_name ();
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               [Version (since = "2.12")]
                public static GLib.List<Gtk.PaperSize> get_paper_sizes (bool include_custom);
+               [Version (since = "2.10")]
                public unowned string get_ppd_name ();
+               [Version (since = "2.10")]
                public double get_width (Gtk.Unit unit);
                public bool is_custom ();
+               [Version (since = "2.10")]
                public bool is_equal (Gtk.PaperSize size2);
                public bool is_ipp ();
+               [Version (since = "2.10")]
                public void set_size (double width, double height, Gtk.Unit unit);
+               [Version (since = "2.12")]
                public void to_key_file (GLib.KeyFile key_file, string group_name);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_places_sidebar_get_type ()")]
        public class PlacesSidebar : Gtk.ScrolledWindow, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public PlacesSidebar ();
+               [Version (since = "3.10")]
                public void add_shortcut (GLib.File location);
+               [Version (since = "3.12")]
                public bool get_local_only ();
+               [Version (since = "3.10")]
                public GLib.File? get_location ();
+               [Version (since = "3.10")]
                public GLib.File? get_nth_bookmark (int n);
+               [Version (since = "3.10")]
                public Gtk.PlacesOpenFlags get_open_flags ();
+               [Version (deprecated = true, deprecated_since = "3.18")]
                public bool get_show_connect_to_server ();
+               [Version (since = "3.10")]
                public bool get_show_desktop ();
+               [Version (since = "3.14")]
                public bool get_show_enter_location ();
+               [Version (since = "3.18")]
                public bool get_show_other_locations ();
+               [Version (since = "3.18")]
                public bool get_show_recent ();
+               [Version (since = "3.18")]
                public bool get_show_trash ();
+               [Version (since = "3.10")]
                public GLib.SList<GLib.File> list_shortcuts ();
+               [Version (since = "3.10")]
                public void remove_shortcut (GLib.File location);
+               [Version (since = "3.18")]
                public void set_drop_targets_visible (bool visible, Gdk.DragContext context);
+               [Version (since = "3.12")]
                public void set_local_only (bool local_only);
+               [Version (since = "3.10")]
                public void set_location (GLib.File? location);
+               [Version (since = "3.10")]
                public void set_open_flags (Gtk.PlacesOpenFlags flags);
+               [Version (deprecated = true, deprecated_since = "3.18", since = "3.10")]
                public void set_show_connect_to_server (bool show_connect_to_server);
+               [Version (since = "3.10")]
                public void set_show_desktop (bool show_desktop);
+               [Version (since = "3.14")]
                public void set_show_enter_location (bool show_enter_location);
+               [Version (since = "3.18")]
                public void set_show_other_locations (bool show_other_locations);
+               [Version (since = "3.18")]
                public void set_show_recent (bool show_recent);
+               [Version (since = "3.18")]
                public void set_show_trash (bool show_trash);
                public bool local_only { get; set; }
                public GLib.File location { owned get; set; }
                public Gtk.PlacesOpenFlags open_flags { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.18")]
                public bool populate_all { get; set; }
                public bool show_connect_to_server { get; set; }
                public bool show_desktop { get; set; }
@@ -3811,59 +5474,95 @@ namespace Gtk {
                public bool show_other_locations { get; set; }
                public bool show_recent { get; set; }
                public bool show_trash { get; set; }
-               public virtual signal int drag_action_ask (int p0);
-               public virtual signal int drag_action_requested (Gdk.DragContext p0, GLib.File p1, 
GLib.List<GLib.File> p2);
-               public virtual signal void drag_perform_drop (GLib.File p0, GLib.List<GLib.File> p1, int p2);
-               public virtual signal void mount (GLib.MountOperation p0);
-               public virtual signal void open_location (GLib.File p0, Gtk.PlacesOpenFlags p1);
-               public virtual signal void populate_popup (Gtk.Menu p0, GLib.File? p1, GLib.Volume? p2);
-               public virtual signal void show_error_message (string p0, string p1);
-               [CCode (cname = "show_other_locations")]
-               [Version (experimental = true)]
-               public virtual signal void show_other_locations_requested ();
-               public virtual signal void show_other_locations_with_flags (Gtk.PlacesOpenFlags p0);
-               public virtual signal void unmount (GLib.MountOperation p0);
-       }
-       [CCode (cheader_filename = "gtk/gtkx.h", type_id = "gtk_plug_get_type ()")]
+               [Version (since = "3.10")]
+               public signal int drag_action_ask (int actions);
+               [Version (since = "3.10")]
+               public signal int drag_action_requested (Gdk.DragContext context, GLib.File dest_file, 
GLib.List<GLib.File> source_file_list);
+               [Version (since = "3.10")]
+               public signal void drag_perform_drop (GLib.File dest_file, GLib.List<GLib.File> 
source_file_list, int action);
+               [Version (since = "3.20")]
+               public signal void mount (GLib.MountOperation mount_operation);
+               [Version (since = "3.10")]
+               public signal void open_location (GLib.File location, Gtk.PlacesOpenFlags open_flags);
+               [Version (since = "3.10")]
+               public signal void populate_popup (Gtk.Widget container, GLib.File? selected_item, 
GLib.Volume? selected_volume);
+               [Version (since = "3.10")]
+               public signal void show_error_message (string primary, string secondary);
+               [Version (deprecated = true, deprecated_since = "3.20", since = "3.18")]
+               public signal void show_other_locations_requested ();
+               [Version (since = "3.20")]
+               public signal void show_other_locations_with_flags (Gtk.PlacesOpenFlags open_flags);
+               [Version (since = "3.20")]
+               public signal void unmount (GLib.MountOperation mount_operation);
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_plug_get_type ()")]
        public class Plug : Gtk.Window, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Plug (X.Window socket_id);
                public void @construct (X.Window socket_id);
+               [Version (since = "2.2")]
                public void construct_for_display (Gdk.Display display, X.Window socket_id);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.2")]
                public Plug.for_display (Gdk.Display display, X.Window socket_id);
+               [Version (since = "2.14")]
                public bool get_embedded ();
                public X.Window get_id ();
+               [Version (since = "2.14")]
                public unowned Gdk.Window? get_socket_window ();
-               public bool embedded { get; }
+               [Version (since = "2.12")]
+               public virtual bool embedded { get; }
+               [Version (since = "2.14")]
                public Gdk.Window socket_window { get; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_popover_get_type ()")]
        public class Popover : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.12")]
                public Popover (Gtk.Widget? relative_to);
+               [Version (since = "3.12")]
                public void bind_model (GLib.MenuModel? model, string? action_namespace);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.12")]
                public Popover.from_model (Gtk.Widget? relative_to, GLib.MenuModel model);
+               [Version (since = "3.20")]
                public Gtk.PopoverConstraint get_constrain_to ();
+               [Version (since = "3.18")]
                public unowned Gtk.Widget? get_default_widget ();
+               [Version (since = "3.12")]
                public bool get_modal ();
                public bool get_pointing_to (out Gdk.Rectangle rect);
                public Gtk.PositionType get_position ();
+               [Version (since = "3.12")]
                public unowned Gtk.Widget get_relative_to ();
+               [Version (since = "3.16")]
                public bool get_transitions_enabled ();
+               [Version (since = "3.20")]
                public void set_constrain_to (Gtk.PopoverConstraint constraint);
+               [Version (since = "3.18")]
                public void set_default_widget (Gtk.Widget? widget);
+               [Version (since = "3.12")]
                public void set_modal (bool modal);
+               [Version (since = "3.12")]
                public void set_pointing_to (Gdk.Rectangle rect);
+               [Version (since = "3.12")]
                public void set_position (Gtk.PositionType position);
+               [Version (since = "3.12")]
                public void set_relative_to (Gtk.Widget? relative_to);
+               [Version (since = "3.16")]
                public void set_transitions_enabled (bool transitions_enabled);
+               [Version (since = "3.20")]
                public Gtk.PopoverConstraint constrain_to { get; set; }
+               [Version (since = "3.12")]
                public bool modal { get; set; }
+               [NoAccessorMethod]
+               [Version (since = "3.12")]
                public Gdk.Rectangle pointing_to { get; set; }
+               [Version (since = "3.12")]
                public Gtk.PositionType position { get; set; }
+               [Version (since = "3.12")]
                public Gtk.Widget relative_to { get; set; }
+               [Version (since = "3.16")]
                public bool transitions_enabled { get; set; }
                public virtual signal void closed ();
        }
@@ -3872,10 +5571,12 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected PopoverAccessible ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_popover_menu_get_type ()")]
        public class PopoverMenu : Gtk.Popover, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.16")]
                public PopoverMenu ();
+               [Version (since = "3.16")]
                public void open_submenu (string name);
                [NoAccessorMethod]
                public string visible_submenu { owned get; set; }
@@ -3884,192 +5585,343 @@ namespace Gtk {
        public class PrintContext : GLib.Object {
                [CCode (has_construct_function = false)]
                protected PrintContext ();
+               [Version (since = "2.10")]
                public Pango.Context create_pango_context ();
+               [Version (since = "2.10")]
                public Pango.Layout create_pango_layout ();
+               [Version (since = "2.10")]
                public unowned Cairo.Context get_cairo_context ();
+               [Version (since = "2.10")]
                public double get_dpi_x ();
+               [Version (since = "2.10")]
                public double get_dpi_y ();
+               [Version (since = "2.20")]
                public bool get_hard_margins (out double top, out double bottom, out double left, out double 
right);
+               [Version (since = "2.10")]
                public double get_height ();
+               [Version (since = "2.10")]
                public unowned Gtk.PageSetup get_page_setup ();
+               [Version (since = "2.10")]
                public unowned Pango.FontMap get_pango_fontmap ();
+               [Version (since = "2.10")]
                public double get_width ();
+               [Version (since = "2.10")]
                public void set_cairo_context (Cairo.Context cr, double dpi_x, double dpi_y);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_print_operation_get_type ()")]
        public class PrintOperation : GLib.Object, Gtk.PrintOperationPreview {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public PrintOperation ();
+               [Version (since = "2.10")]
                public void cancel ();
+               [Version (since = "2.16")]
                public void draw_page_finish ();
+               [Version (since = "2.10")]
                public unowned Gtk.PageSetup get_default_page_setup ();
+               [Version (since = "2.18")]
                public bool get_embed_page_setup ();
+               [Version (since = "2.10")]
                public void get_error () throws GLib.Error;
+               [Version (since = "2.18")]
                public bool get_has_selection ();
+               [Version (since = "2.18")]
                public int get_n_pages_to_print ();
+               [Version (since = "2.10")]
                public unowned Gtk.PrintSettings get_print_settings ();
+               [Version (since = "2.10")]
                public Gtk.PrintStatus get_status ();
+               [Version (since = "2.10")]
                public unowned string get_status_string ();
+               [Version (since = "2.18")]
                public bool get_support_selection ();
+               [Version (since = "2.10")]
                public bool is_finished ();
+               [Version (since = "2.10")]
                public Gtk.PrintOperationResult run (Gtk.PrintOperationAction action, Gtk.Window? parent) 
throws GLib.Error;
+               [Version (since = "2.10")]
                public void set_allow_async (bool allow_async);
+               [Version (since = "2.10")]
                public void set_current_page (int current_page);
+               [Version (since = "2.10")]
                public void set_custom_tab_label (string? label);
+               [Version (since = "2.10")]
                public void set_default_page_setup (Gtk.PageSetup? default_page_setup);
+               [Version (since = "2.16")]
                public void set_defer_drawing ();
+               [Version (since = "2.18")]
                public void set_embed_page_setup (bool embed);
+               [Version (since = "2.10")]
                public void set_export_filename (string filename);
+               [Version (since = "2.18")]
                public void set_has_selection (bool has_selection);
+               [Version (since = "2.10")]
                public void set_job_name (string job_name);
+               [Version (since = "2.10")]
                public void set_n_pages (int n_pages);
+               [Version (since = "2.10")]
                public void set_print_settings (Gtk.PrintSettings? print_settings);
+               [Version (since = "2.10")]
                public void set_show_progress (bool show_progress);
+               [Version (since = "2.18")]
                public void set_support_selection (bool support_selection);
+               [Version (since = "2.10")]
                public void set_track_print_status (bool track_status);
+               [Version (since = "2.10")]
                public void set_unit (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public void set_use_full_page (bool full_page);
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool allow_async { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public int current_page { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public string custom_tab_label { owned get; set; }
+               [Version (since = "2.10")]
                public Gtk.PageSetup default_page_setup { get; set; }
+               [Version (since = "2.18")]
                public bool embed_page_setup { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public string export_filename { owned get; set; }
+               [Version (since = "2.18")]
                public bool has_selection { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public string job_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public int n_pages { get; set; }
+               [Version (since = "2.18")]
                public int n_pages_to_print { get; }
+               [Version (since = "2.10")]
                public Gtk.PrintSettings print_settings { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool show_progress { get; set; }
+               [Version (since = "2.10")]
                public Gtk.PrintStatus status { get; }
+               [Version (since = "2.10")]
                public string status_string { get; }
+               [Version (since = "2.18")]
                public bool support_selection { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool track_print_status { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public Gtk.Unit unit { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool use_full_page { get; set; }
+               [Version (since = "2.10")]
                public virtual signal void begin_print (Gtk.PrintContext context);
-               public virtual signal unowned GLib.Object create_custom_widget ();
+               [Version (since = "2.10")]
+               public signal unowned GLib.Object create_custom_widget ();
+               [Version (since = "2.10")]
                public virtual signal void custom_widget_apply (Gtk.Widget widget);
+               [Version (since = "2.10")]
                public virtual signal void done (Gtk.PrintOperationResult result);
+               [Version (since = "2.10")]
                public virtual signal void draw_page (Gtk.PrintContext context, int page_nr);
+               [Version (since = "2.10")]
                public virtual signal void end_print (Gtk.PrintContext context);
+               [Version (since = "2.10")]
                public virtual signal bool paginate (Gtk.PrintContext context);
+               [Version (since = "2.10")]
                public virtual signal bool preview (Gtk.PrintOperationPreview preview, Gtk.PrintContext 
context, Gtk.Window? parent);
+               [Version (since = "2.10")]
                public virtual signal void request_page_setup (Gtk.PrintContext context, int page_nr, 
Gtk.PageSetup setup);
+               [Version (since = "2.10")]
                public virtual signal void status_changed ();
+               [Version (since = "2.18")]
                public virtual signal void update_custom_widget (Gtk.Widget widget, Gtk.PageSetup setup, 
Gtk.PrintSettings settings);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_print_settings_get_type ()")]
        public class PrintSettings : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public PrintSettings ();
+               [Version (since = "2.10")]
                public Gtk.PrintSettings copy ();
+               [Version (since = "2.10")]
                public void @foreach (Gtk.PrintSettingsFunc func);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public PrintSettings.from_file (string file_name) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public PrintSettings.from_key_file (GLib.KeyFile key_file, string? group_name) throws 
GLib.Error;
+               [Version (since = "2.10")]
                public unowned string @get (string key);
+               [Version (since = "2.10")]
                public bool get_bool (string key);
+               [Version (since = "2.10")]
                public bool get_collate ();
+               [Version (since = "2.10")]
                public unowned string get_default_source ();
+               [Version (since = "2.10")]
                public unowned string get_dither ();
+               [Version (since = "2.10")]
                public double get_double (string key);
+               [Version (since = "2.10")]
                public double get_double_with_default (string key, double def);
+               [Version (since = "2.10")]
                public Gtk.PrintDuplex get_duplex ();
+               [Version (since = "2.10")]
                public unowned string get_finishings ();
+               [Version (since = "2.10")]
                public int get_int (string key);
+               [Version (since = "2.10")]
                public int get_int_with_default (string key, int def);
+               [Version (since = "2.10")]
                public double get_length (string key, Gtk.Unit unit);
+               [Version (since = "2.10")]
                public unowned string get_media_type ();
+               [Version (since = "2.10")]
                public int get_n_copies ();
+               [Version (since = "2.10")]
                public int get_number_up ();
+               [Version (since = "2.14")]
                public Gtk.NumberUpLayout get_number_up_layout ();
+               [Version (since = "2.10")]
                public Gtk.PageOrientation get_orientation ();
+               [Version (since = "2.10")]
                public unowned string get_output_bin ();
+               [CCode (array_length_pos = 0.1)]
+               [Version (since = "2.10")]
                public Gtk.PageRange[] get_page_ranges ();
+               [Version (since = "2.10")]
                public Gtk.PageSet get_page_set ();
+               [Version (since = "2.10")]
                public double get_paper_height (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public Gtk.PaperSize get_paper_size ();
+               [Version (since = "2.10")]
                public double get_paper_width (Gtk.Unit unit);
+               [Version (since = "2.10")]
                public Gtk.PrintPages get_print_pages ();
+               [Version (since = "2.10")]
                public unowned string get_printer ();
+               [Version (since = "2.16")]
                public double get_printer_lpi ();
+               [Version (since = "2.10")]
                public Gtk.PrintQuality get_quality ();
+               [Version (since = "2.10")]
                public int get_resolution ();
+               [Version (since = "2.16")]
                public int get_resolution_x ();
+               [Version (since = "2.16")]
                public int get_resolution_y ();
+               [Version (since = "2.10")]
                public bool get_reverse ();
+               [Version (since = "2.10")]
                public double get_scale ();
+               [Version (since = "2.10")]
                public bool get_use_color ();
+               [Version (since = "2.10")]
                public bool has_key (string key);
+               [Version (since = "2.14")]
                public bool load_file (string file_name) throws GLib.Error;
+               [Version (since = "2.14")]
                public bool load_key_file (GLib.KeyFile key_file, string? group_name) throws GLib.Error;
+               [Version (since = "2.10")]
                public void @set (string key, string? value);
+               [Version (since = "2.10")]
                public void set_bool (string key, bool value);
+               [Version (since = "2.10")]
                public void set_collate (bool collate);
+               [Version (since = "2.10")]
                public void set_default_source (string default_source);
+               [Version (since = "2.10")]
                public void set_dither (string dither);
+               [Version (since = "2.10")]
                public void set_double (string key, double value);
+               [Version (since = "2.10")]
                public void set_duplex (Gtk.PrintDuplex duplex);
+               [Version (since = "2.10")]
                public void set_finishings (string finishings);
+               [Version (since = "2.10")]
                public void set_int (string key, int value);
+               [Version (since = "2.10")]
                public void set_length (string key, double value, Gtk.Unit unit);
+               [Version (since = "2.10")]
                public void set_media_type (string media_type);
+               [Version (since = "2.10")]
                public void set_n_copies (int num_copies);
+               [Version (since = "2.10")]
                public void set_number_up (int number_up);
+               [Version (since = "2.14")]
                public void set_number_up_layout (Gtk.NumberUpLayout number_up_layout);
+               [Version (since = "2.10")]
                public void set_orientation (Gtk.PageOrientation orientation);
+               [Version (since = "2.10")]
                public void set_output_bin (string output_bin);
-               public void set_page_ranges ([CCode (array_length_pos = 1.1)] Gtk.PageRange[] page_ranges);
+               [Version (since = "2.10")]
+               public void set_page_ranges ([CCode (array_length_cname = "num_ranges", array_length_pos = 
1.1)] Gtk.PageRange[] page_ranges);
+               [Version (since = "2.10")]
                public void set_page_set (Gtk.PageSet page_set);
+               [Version (since = "2.10")]
                public void set_paper_height (double height, Gtk.Unit unit);
+               [Version (since = "2.10")]
                public void set_paper_size (Gtk.PaperSize paper_size);
+               [Version (since = "2.10")]
                public void set_paper_width (double width, Gtk.Unit unit);
+               [Version (since = "2.10")]
                public void set_print_pages (Gtk.PrintPages pages);
+               [Version (since = "2.10")]
                public void set_printer (string printer);
+               [Version (since = "2.16")]
                public void set_printer_lpi (double lpi);
+               [Version (since = "2.10")]
                public void set_quality (Gtk.PrintQuality quality);
+               [Version (since = "2.10")]
                public void set_resolution (int resolution);
+               [Version (since = "2.16")]
                public void set_resolution_xy (int resolution_x, int resolution_y);
+               [Version (since = "2.10")]
                public void set_reverse (bool reverse);
+               [Version (since = "2.10")]
                public void set_scale (double scale);
+               [Version (since = "2.10")]
                public void set_use_color (bool use_color);
+               [Version (since = "2.12")]
                public bool to_file (string file_name) throws GLib.Error;
+               [Version (since = "2.12")]
                public void to_key_file (GLib.KeyFile key_file, string group_name);
+               [Version (since = "2.10")]
                public void unset (string key);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_progress_bar_get_type ()")]
        public class ProgressBar : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ProgressBar ();
+               [Version (since = "2.6")]
                public Pango.EllipsizeMode get_ellipsize ();
                public double get_fraction ();
                public bool get_inverted ();
                public double get_pulse_step ();
+               [Version (since = "3.0")]
                public bool get_show_text ();
                public unowned string? get_text ();
                public void pulse ();
+               [Version (since = "2.6")]
                public void set_ellipsize (Pango.EllipsizeMode mode);
                public void set_fraction (double fraction);
                public void set_inverted (bool inverted);
                public void set_pulse_step (double fraction);
+               [Version (since = "3.0")]
                public void set_show_text (bool show_text);
                public void set_text (string? text);
+               [Version (since = "2.6")]
                public Pango.EllipsizeMode ellipsize { get; set; }
                public double fraction { get; set; }
                public bool inverted { get; set; }
                public double pulse_step { get; set; }
+               [Version (since = "3.0")]
                public bool show_text { get; set; }
                public string text { get; set; }
        }
@@ -4079,28 +5931,39 @@ namespace Gtk {
                protected ProgressBarAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_radio_action_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public class RadioAction : Gtk.ToggleAction, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public RadioAction (string name, string? label, string? tooltip, string? stock_id, int value);
+               [Version (since = "2.4")]
                public int get_current_value ();
+               [Version (since = "2.4")]
                public unowned GLib.SList<Gtk.RadioAction> get_group ();
+               [Version (since = "3.0")]
                public void join_group (Gtk.RadioAction? group_source);
+               [Version (since = "2.10")]
                public void set_current_value (int current_value);
+               [Version (since = "2.4")]
                public void set_group (GLib.SList<Gtk.RadioAction>? group);
+               [Version (since = "2.10")]
                public int current_value { get; set; }
-               [NoAccessorMethod]
+               [Version (since = "2.4")]
                public Gtk.RadioAction group { set; }
                [NoAccessorMethod]
+               [Version (since = "2.4")]
                public int value { get; set; }
+               [Version (since = "2.4")]
                public virtual signal void changed (Gtk.RadioAction current);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_radio_button_get_type ()")]
-       public class RadioButton : Gtk.CheckButton, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable {
+       public class RadioButton : Gtk.CheckButton, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public RadioButton (GLib.SList<Gtk.RadioButton>? group);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public RadioButton.from_widget (Gtk.RadioButton? radio_group_member);
                public unowned GLib.SList<Gtk.RadioButton> get_group ();
+               [Version (since = "3.0")]
                public void join_group (Gtk.RadioButton? group_source);
                public void set_group (GLib.SList<Gtk.RadioButton>? group);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
@@ -4111,52 +5974,64 @@ namespace Gtk {
                public RadioButton.with_mnemonic (GLib.SList<Gtk.RadioButton>? group, string label);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public RadioButton.with_mnemonic_from_widget (Gtk.RadioButton? radio_group_member, string 
label);
-               [NoAccessorMethod]
                public Gtk.RadioButton group { set; }
+               [Version (since = "2.4")]
                public virtual signal void group_changed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = 
"gtk_radio_button_accessible_get_type ()")]
-       public class RadioButtonAccessible : Gtk.ToggleButtonAccessible, Atk.Component, Atk.Action, Atk.Image 
{
+       public class RadioButtonAccessible : Gtk.ToggleButtonAccessible, Atk.Action, Atk.Component, Atk.Image 
{
                [CCode (has_construct_function = false)]
                protected RadioButtonAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_radio_menu_item_get_type ()")]
-       public class RadioMenuItem : Gtk.CheckMenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       public class RadioMenuItem : Gtk.CheckMenuItem, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public RadioMenuItem (GLib.SList<Gtk.RadioMenuItem>? group);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.4")]
                public RadioMenuItem.from_widget (Gtk.RadioMenuItem? group);
                public unowned GLib.SList<Gtk.RadioMenuItem> get_group ();
+               [Version (since = "3.18")]
                public void join_group (Gtk.RadioMenuItem? group_source);
                public void set_group (GLib.SList<Gtk.RadioMenuItem>? group);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public RadioMenuItem.with_label (GLib.SList<Gtk.RadioMenuItem>? group, string label);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public RadioMenuItem.with_label_from_widget (Gtk.RadioMenuItem? group, string label);
+               [Version (since = "2.4")]
+               public RadioMenuItem.with_label_from_widget (Gtk.RadioMenuItem? group, string? label);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public RadioMenuItem.with_mnemonic (GLib.SList<Gtk.RadioMenuItem>? group, string label);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public RadioMenuItem.with_mnemonic_from_widget (Gtk.RadioMenuItem? group, string label);
+               [Version (since = "2.4")]
+               public RadioMenuItem.with_mnemonic_from_widget (Gtk.RadioMenuItem? group, string? label);
+               [Version (since = "2.8")]
                public Gtk.RadioMenuItem group { set; }
                public virtual signal void group_changed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = 
"gtk_radio_menu_item_accessible_get_type ()")]
-       public class RadioMenuItemAccessible : Gtk.CheckMenuItemAccessible, Atk.Component, Atk.Action, 
Atk.Selection {
+       public class RadioMenuItemAccessible : Gtk.CheckMenuItemAccessible, Atk.Action, Atk.Component, 
Atk.Selection {
                [CCode (has_construct_function = false)]
                protected RadioMenuItemAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_radio_tool_button_get_type ()")]
-       public class RadioToolButton : Gtk.ToggleToolButton, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       public class RadioToolButton : Gtk.ToggleToolButton, Atk.Implementor, Gtk.Actionable, 
Gtk.Activatable, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
-               public RadioToolButton (GLib.SList<Gtk.RadioToolButton>? group);
+               [Version (since = "2.4")]
+               public RadioToolButton (GLib.SList<Gtk.RadioButton>? group);
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
-               public RadioToolButton.from_stock (GLib.SList<Gtk.RadioToolButton>? group, string stock_id);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
+               public RadioToolButton.from_stock (GLib.SList<Gtk.RadioButton>? group, string stock_id);
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (since = "2.4")]
                public RadioToolButton.from_widget (Gtk.RadioToolButton? group);
-               public unowned GLib.SList<Gtk.RadioToolButton>? get_group ();
-               public void set_group (GLib.SList<Gtk.RadioToolButton>? group);
+               [Version (since = "2.4")]
+               public unowned GLib.SList<Gtk.RadioButton> get_group ();
+               [Version (since = "2.4")]
+               public void set_group (GLib.SList<Gtk.RadioButton>? group);
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public RadioToolButton.with_stock_from_widget (Gtk.RadioToolButton? group, string stock_id);
+               [Version (since = "2.4")]
                public Gtk.RadioToolButton group { set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_range_get_type ()")]
@@ -4164,46 +6039,71 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected Range ();
                public unowned Gtk.Adjustment get_adjustment ();
+               [Version (since = "2.12")]
                public double get_fill_level ();
+               [Version (since = "2.18")]
                public bool get_flippable ();
                public bool get_inverted ();
+               [Version (since = "2.10")]
                public Gtk.SensitivityType get_lower_stepper_sensitivity ();
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.20")]
                public int get_min_slider_size ();
                [NoWrapper]
-               public virtual void get_range_border (Gtk.Border border_);
+               public virtual Gtk.Border get_range_border ();
+               [Version (since = "2.20")]
                public Gdk.Rectangle get_range_rect ();
                [NoWrapper]
                public virtual void get_range_size_request (Gtk.Orientation orientation, out int minimum, out 
int natural);
+               [Version (since = "2.12")]
                public bool get_restrict_to_fill_level ();
+               [Version (since = "2.24")]
                public int get_round_digits ();
+               [Version (since = "2.12")]
                public bool get_show_fill_level ();
+               [Version (since = "2.20")]
                public void get_slider_range (out int slider_start, out int slider_end);
+               [Version (since = "2.20")]
                public bool get_slider_size_fixed ();
+               [Version (since = "2.10")]
                public Gtk.SensitivityType get_upper_stepper_sensitivity ();
                public double get_value ();
                public void set_adjustment (Gtk.Adjustment adjustment);
+               [Version (since = "2.12")]
                public void set_fill_level (double fill_level);
+               [Version (since = "2.18")]
                public void set_flippable (bool flippable);
                public void set_increments (double step, double page);
                public void set_inverted (bool setting);
+               [Version (since = "2.10")]
                public void set_lower_stepper_sensitivity (Gtk.SensitivityType sensitivity);
+               [Version (deprecated = true, deprecated_since = "3.20", since = "2.20")]
                public void set_min_slider_size (int min_size);
                public void set_range (double min, double max);
+               [Version (since = "2.12")]
                public void set_restrict_to_fill_level (bool restrict_to_fill_level);
+               [Version (since = "2.24")]
                public void set_round_digits (int round_digits);
+               [Version (since = "2.12")]
                public void set_show_fill_level (bool show_fill_level);
+               [Version (since = "2.20")]
                public void set_slider_size_fixed (bool size_fixed);
+               [Version (since = "2.10")]
                public void set_upper_stepper_sensitivity (Gtk.SensitivityType sensitivity);
                public void set_value (double value);
                public Gtk.Adjustment adjustment { get; set construct; }
+               [Version (since = "2.12")]
                public double fill_level { get; set; }
                public bool inverted { get; set; }
                public Gtk.SensitivityType lower_stepper_sensitivity { get; set; }
+               [Version (since = "2.12")]
                public bool restrict_to_fill_level { get; set; }
+               [Version (since = "2.24")]
                public int round_digits { get; set; }
+               [Version (since = "2.12")]
                public bool show_fill_level { get; set; }
                public Gtk.SensitivityType upper_stepper_sensitivity { get; set; }
                public virtual signal void adjust_bounds (double new_value);
+               [Version (since = "2.6")]
                public virtual signal bool change_value (Gtk.ScrollType scroll, double new_value);
                public virtual signal void move_slider (Gtk.ScrollType scroll);
                public virtual signal void value_changed ();
@@ -4217,44 +6117,28 @@ namespace Gtk {
        [Compact]
        public class RcContext {
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       [Compact]
-       public class RcProperty {
-               public weak string origin;
-               public GLib.Quark property_name;
-               public GLib.Quark type_name;
-               public GLib.Value value;
-               public static bool parse_border (GLib.ParamSpec pspec, GLib.StringBuilder gstring, GLib.Value 
property_value);
-               public static bool parse_color (GLib.ParamSpec pspec, GLib.StringBuilder gstring, GLib.Value 
property_value);
-               public static bool parse_enum (GLib.ParamSpec pspec, GLib.StringBuilder gstring, GLib.Value 
property_value);
-               public static bool parse_flags (GLib.ParamSpec pspec, GLib.StringBuilder gstring, GLib.Value 
property_value);
-               public static bool parse_requisition (GLib.ParamSpec pspec, GLib.StringBuilder gstring, 
GLib.Value property_value);
-       }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_rc_style_get_type ()")]
-       [Version (deprecated_since = "3.0", replacement = "CssProvider")]
        public class RcStyle : GLib.Object {
                [CCode (array_length = false)]
-               public weak Gdk.Color[] @base;
+               public weak Gdk.Color @base[5];
                [CCode (array_length = false)]
-               public weak Gdk.Color[] bg;
+               public weak Gdk.Color bg[5];
                [CCode (array_length = false)]
-               public weak string[] bg_pixmap_name;
+               public weak string bg_pixmap_name[5];
                [CCode (array_length = false)]
-               public weak Gtk.RcFlags[] color_flags;
-               public uint engine_specified;
+               public weak Gtk.RcFlags color_flags[5];
                [CCode (array_length = false)]
-               public weak Gdk.Color[] fg;
+               public weak Gdk.Color fg[5];
                public weak Pango.FontDescription font_desc;
-               public weak GLib.SList icon_factories;
                public weak string name;
-               public weak GLib.Array rc_properties;
-               public weak GLib.SList rc_style_lists;
                [CCode (array_length = false)]
-               public weak Gdk.Color[] text;
+               public weak Gdk.Color text[5];
                public int xthickness;
                public int ythickness;
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public RcStyle ();
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public Gtk.RcStyle copy ();
                [NoWrapper]
                public virtual Gtk.RcStyle create_rc_style ();
@@ -4268,81 +6152,116 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_recent_action_get_type ()")]
        public class RecentAction : Gtk.Action, Gtk.Buildable, Gtk.RecentChooser {
                [CCode (has_construct_function = false, type = "GtkAction*")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public RecentAction (string name, string? label, string? tooltip, string? stock_id);
                [CCode (has_construct_function = false, type = "GtkAction*")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public RecentAction.for_manager (string name, string? label, string? tooltip, string? 
stock_id, Gtk.RecentManager? manager);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public bool get_show_numbers ();
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public void set_show_numbers (bool show_numbers);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool show_numbers { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_recent_chooser_dialog_get_type ()")]
        public class RecentChooserDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable, Gtk.RecentChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public RecentChooserDialog (string? title, Gtk.Window? parent, ...);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public RecentChooserDialog.for_manager (string? title, Gtk.Window? parent, Gtk.RecentManager 
manager, ...);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_recent_chooser_menu_get_type ()")]
-       public class RecentChooserMenu : Gtk.Menu, Atk.Implementor, Gtk.Buildable, Gtk.RecentChooser, 
Gtk.Activatable {
+       public class RecentChooserMenu : Gtk.Menu, Atk.Implementor, Gtk.Activatable, Gtk.Buildable, 
Gtk.RecentChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public RecentChooserMenu ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public RecentChooserMenu.for_manager (Gtk.RecentManager manager);
+               [Version (since = "2.10")]
                public bool get_show_numbers ();
+               [Version (since = "2.10")]
                public void set_show_numbers (bool show_numbers);
+               [Version (since = "2.10")]
                public bool show_numbers { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_recent_chooser_widget_get_type ()")]
        public class RecentChooserWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, 
Gtk.RecentChooser {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public RecentChooserWidget ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public RecentChooserWidget.for_manager (Gtk.RecentManager manager);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_recent_filter_get_type ()")]
        public class RecentFilter : GLib.InitiallyUnowned, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public RecentFilter ();
+               [Version (since = "2.10")]
                public void add_age (int days);
+               [Version (since = "2.10")]
                public void add_application (string application);
+               [Version (since = "2.10")]
                public void add_custom (Gtk.RecentFilterFlags needed, owned Gtk.RecentFilterFunc func);
+               [Version (since = "2.10")]
                public void add_group (string group);
+               [Version (since = "2.10")]
                public void add_mime_type (string mime_type);
+               [Version (since = "2.10")]
                public void add_pattern (string pattern);
+               [Version (since = "2.10")]
                public void add_pixbuf_formats ();
+               [Version (since = "2.10")]
                public bool filter (Gtk.RecentFilterInfo filter_info);
+               [CCode (cname = "gtk_recent_filter_get_name")]
+               [Version (since = "2.10")]
+               public unowned string? get_filter_name ();
+               [Version (since = "2.10")]
                public Gtk.RecentFilterFlags get_needed ();
+               [CCode (cname = "gtk_recent_filter_set_name")]
+               [Version (since = "2.10")]
+               public void set_filter_name (string name);
        }
        [CCode (cheader_filename = "gtk/gtk.h", ref_function = "gtk_recent_info_ref", type_id = 
"gtk_recent_info_get_type ()", unref_function = "gtk_recent_info_unref")]
        [Compact]
+       [Version (since = "2.10")]
        public class RecentInfo {
                public GLib.AppInfo create_app_info (string? app_name) throws GLib.Error;
                public bool exists ();
-               public ulong get_added ();
+               public time_t get_added ();
                public int get_age ();
-               public bool get_application_info (string app_name, out unowned string app_exec, out uint 
count, out ulong time_);
-               [CCode (array_length_type = "gsize")]
+               public bool get_application_info (string app_name, out unowned string app_exec, out uint 
count, [CCode (type = "time_t*")] out time_t time_);
+               [CCode (array_length_pos = 0.1, array_length_type = "gsize", array_null_terminated = true)]
                public string[] get_applications ();
                public unowned string get_description ();
                public unowned string get_display_name ();
-               public GLib.Icon? get_gicon ();
-               [CCode (array_length_type = "gsize")]
+               [Version (since = "2.22")]
+               public GLib.Icon get_gicon ();
+               [CCode (array_length_pos = 0.1, array_length_type = "gsize", array_null_terminated = true)]
                public string[] get_groups ();
-               public Gdk.Pixbuf? get_icon (int size);
+               public Gdk.Pixbuf get_icon (int size);
                public unowned string get_mime_type ();
-               public ulong get_modified ();
+               public time_t get_modified ();
                public bool get_private_hint ();
                public string get_short_name ();
                public unowned string get_uri ();
-               public string? get_uri_display ();
-               public ulong get_visited ();
+               public string get_uri_display ();
+               public time_t get_visited ();
                public bool has_application (string app_name);
                public bool has_group (string group_name);
                public bool is_local ();
                public string last_application ();
                public bool match (Gtk.RecentInfo info_b);
+               public Gtk.RecentInfo @ref ();
+               public void unref ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_recent_manager_get_type ()")]
+       [Version (since = "2.10")]
        public class RecentManager : GLib.Object {
                [CCode (has_construct_function = false)]
                public RecentManager ();
@@ -4371,13 +6290,21 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_revealer_get_type ()")]
        public class Revealer : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public Revealer ();
+               [Version (since = "3.10")]
                public bool get_child_revealed ();
+               [Version (since = "3.10")]
                public bool get_reveal_child ();
+               [Version (since = "3.10")]
                public uint get_transition_duration ();
+               [Version (since = "3.10")]
                public Gtk.RevealerTransitionType get_transition_type ();
+               [Version (since = "3.10")]
                public void set_reveal_child (bool reveal_child);
+               [Version (since = "3.10")]
                public void set_transition_duration (uint duration);
+               [Version (since = "3.10")]
                public void set_transition_type (Gtk.RevealerTransitionType transition);
                public bool child_revealed { get; }
                public bool reveal_child { get; set construct; }
@@ -4387,23 +6314,31 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_scale_get_type ()")]
        public class Scale : Gtk.Range, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public Scale (Gtk.Orientation orientation, Gtk.Adjustment? adjustment);
+               [Version (since = "2.16")]
                public void add_mark (double value, Gtk.PositionType position, string? markup);
+               [Version (since = "2.16")]
                public void clear_marks ();
                public int get_digits ();
                public bool get_draw_value ();
+               [Version (since = "3.4")]
                public bool get_has_origin ();
+               [Version (since = "2.4")]
                public unowned Pango.Layout? get_layout ();
+               [Version (since = "2.4")]
                public virtual void get_layout_offsets (out int x, out int y);
                public Gtk.PositionType get_value_pos ();
                public void set_digits (int digits);
                public void set_draw_value (bool draw_value);
+               [Version (since = "3.4")]
                public void set_has_origin (bool has_origin);
                public void set_value_pos (Gtk.PositionType pos);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public Scale.with_range (Gtk.Orientation orientation, double min, double max, double step);
                public int digits { get; set; }
-               public bool draw_value { get; set; }
+               public virtual bool draw_value { get; set; }
                public bool has_origin { get; set; }
                public Gtk.PositionType value_pos { get; set; }
                public virtual signal string format_value (double value);
@@ -4414,78 +6349,116 @@ namespace Gtk {
                protected ScaleAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_scale_button_get_type ()")]
-       public class ScaleButton : Gtk.Button, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable, Gtk.Orientable {
+       public class ScaleButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public ScaleButton (Gtk.IconSize size, double min = 0.0, double max = 100.0, double step = 
2.0, [CCode (array_length = false, array_null_terminated = true)] string[]? icons = null);
+               [Version (since = "2.12")]
+               public ScaleButton ([CCode (type = "GtkIconSize")] Gtk.IconSize size, double min = 0.0, 
double max = 100.0, double step = 2.0, [CCode (array_length = false, array_null_terminated = true)] string[]? 
icons = null);
+               [Version (since = "2.12")]
                public unowned Gtk.Adjustment get_adjustment ();
-               public unowned Gtk.Widget get_minus_button ();
-               public unowned Gtk.Widget get_plus_button ();
+               [Version (since = "2.14")]
+               public unowned Gtk.Button get_minus_button ();
+               [Version (since = "2.14")]
+               public unowned Gtk.Button get_plus_button ();
+               [Version (since = "2.14")]
                public unowned Gtk.Widget get_popup ();
+               [Version (since = "2.12")]
                public double get_value ();
+               [Version (since = "2.12")]
                public void set_adjustment (Gtk.Adjustment adjustment);
+               [Version (since = "2.12")]
                public void set_icons ([CCode (array_length = false, array_null_terminated = true)] string[] 
icons);
+               [Version (since = "2.12")]
                public void set_value (double value);
                public Gtk.Adjustment adjustment { get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public string[] icons { owned get; set; }
                [NoAccessorMethod]
                public Gtk.IconSize size { get; set; }
                public double value { get; set; }
-               public virtual signal void popdown ();
-               public virtual signal void popup ();
+               [Version (since = "2.12")]
+               public signal void popdown ();
+               [Version (since = "2.12")]
+               public signal void popup ();
+               [Version (since = "2.12")]
                public virtual signal void value_changed (double value);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = 
"gtk_scale_button_accessible_get_type ()")]
-       public class ScaleButtonAccessible : Gtk.ButtonAccessible, Atk.Component, Atk.Action, Atk.Image, 
Atk.Value {
+       public class ScaleButtonAccessible : Gtk.ButtonAccessible, Atk.Action, Atk.Component, Atk.Image, 
Atk.Value {
                [CCode (has_construct_function = false)]
                protected ScaleButtonAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_scrollbar_get_type ()")]
        public class Scrollbar : Gtk.Range, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public Scrollbar (Gtk.Orientation orientation, Gtk.Adjustment? adjustment);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_scrolled_window_get_type ()")]
        public class ScrolledWindow : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ScrolledWindow (Gtk.Adjustment? hadjustment, Gtk.Adjustment? vadjustment);
+               [Version (deprecated = true, deprecated_since = "3.8")]
                public void add_with_viewport (Gtk.Widget child);
+               [Version (since = "3.4")]
                public bool get_capture_button_press ();
                public unowned Gtk.Adjustment get_hadjustment ();
+               [Version (since = "2.8")]
                public unowned Gtk.Widget get_hscrollbar ();
+               [Version (since = "3.4")]
                public bool get_kinetic_scrolling ();
+               [Version (since = "3.22")]
                public int get_max_content_height ();
+               [Version (since = "3.22")]
                public int get_max_content_width ();
+               [Version (since = "3.0")]
                public int get_min_content_height ();
+               [Version (since = "3.0")]
                public int get_min_content_width ();
+               [Version (since = "3.16")]
                public bool get_overlay_scrolling ();
                public Gtk.CornerType get_placement ();
                public void get_policy (out Gtk.PolicyType hscrollbar_policy, out Gtk.PolicyType 
vscrollbar_policy);
                public Gtk.ShadowType get_shadow_type ();
                public unowned Gtk.Adjustment get_vadjustment ();
+               [Version (since = "2.8")]
                public unowned Gtk.Widget get_vscrollbar ();
+               [Version (since = "3.4")]
                public void set_capture_button_press (bool capture_button_press);
                public void set_hadjustment (Gtk.Adjustment hadjustment);
+               [Version (since = "3.4")]
                public void set_kinetic_scrolling (bool kinetic_scrolling);
+               [Version (since = "3.22")]
                public void set_max_content_height (int height);
+               [Version (since = "3.22")]
                public void set_max_content_width (int width);
+               [Version (since = "3.0")]
                public void set_min_content_height (int height);
+               [Version (since = "3.0")]
                public void set_min_content_width (int width);
+               [Version (since = "3.16")]
                public void set_overlay_scrolling (bool overlay_scrolling);
                public void set_placement (Gtk.CornerType window_placement);
                public void set_policy (Gtk.PolicyType hscrollbar_policy, Gtk.PolicyType vscrollbar_policy);
                public void set_shadow_type (Gtk.ShadowType type);
                public void set_vadjustment (Gtk.Adjustment vadjustment);
+               [Version (since = "2.10")]
                public void unset_placement ();
                public Gtk.Adjustment hadjustment { get; set construct; }
                [NoAccessorMethod]
                public Gtk.PolicyType hscrollbar_policy { get; set; }
+               [Version (since = "3.4")]
                public bool kinetic_scrolling { get; set; }
+               [Version (since = "3.22")]
                public int max_content_height { get; set; }
+               [Version (since = "3.22")]
                public int max_content_width { get; set; }
+               [Version (since = "3.0")]
                public int min_content_height { get; set; }
+               [Version (since = "3.0")]
                public int min_content_width { get; set; }
+               [Version (since = "3.16")]
                public bool overlay_scrolling { get; set; }
                public Gtk.ShadowType shadow_type { get; set; }
                public Gtk.Adjustment vadjustment { get; set construct; }
@@ -4494,9 +6467,12 @@ namespace Gtk {
                [NoAccessorMethod]
                public Gtk.CornerType window_placement { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public bool window_placement_set { get; set; }
-               public virtual signal void edge_overshot (Gtk.PositionType p0);
-               public virtual signal void edge_reached (Gtk.PositionType p0);
+               [Version (since = "3.16")]
+               public signal void edge_overshot (Gtk.PositionType pos);
+               [Version (since = "3.16")]
+               public signal void edge_reached (Gtk.PositionType pos);
                public virtual signal void move_focus_out (Gtk.DirectionType direction);
                public virtual signal bool scroll_child (Gtk.ScrollType scroll, bool horizontal);
        }
@@ -4508,69 +6484,103 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_search_bar_get_type ()")]
        public class SearchBar : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public SearchBar ();
+               [Version (since = "3.10")]
                public void connect_entry (Gtk.Entry entry);
+               [Version (since = "3.10")]
                public bool get_search_mode ();
+               [Version (since = "3.10")]
                public bool get_show_close_button ();
+               [Version (since = "3.10")]
                public bool handle_event (Gdk.Event event);
+               [Version (since = "3.10")]
                public void set_search_mode (bool search_mode);
+               [Version (since = "3.10")]
                public void set_show_close_button (bool visible);
                [NoAccessorMethod]
                public bool search_mode_enabled { get; set; }
                public bool show_close_button { get; set construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_search_entry_get_type ()")]
-       public class SearchEntry : Gtk.Entry, Atk.Implementor, Gtk.Buildable, Gtk.Editable, Gtk.CellEditable {
+       public class SearchEntry : Gtk.Entry, Atk.Implementor, Gtk.Buildable, Gtk.CellEditable, Gtk.Editable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.6")]
                public SearchEntry ();
+               [Version (since = "3.16")]
                public bool handle_event (Gdk.Event event);
+               [Version (since = "3.16")]
                public virtual signal void next_match ();
+               [Version (since = "3.16")]
                public virtual signal void previous_match ();
+               [Version (since = "3.10")]
                public virtual signal void search_changed ();
+               [Version (since = "3.16")]
                public virtual signal void stop_search ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "gtk_selection_data_copy", type_id = 
"gtk_selection_data_get_type ()")]
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_selection_data_get_type ()")]
        [Compact]
        public class SelectionData {
                public Gtk.SelectionData copy ();
+               public void free ();
                [CCode (array_length = false)]
-               public unowned uchar[] get_data ();
+               [Version (since = "2.14")]
+               public unowned uint8[] get_data ();
+               [Version (since = "2.14")]
                public Gdk.Atom get_data_type ();
-               public unowned uchar[] get_data_with_length ();
+               [CCode (array_length_pos = 0.1)]
+               [Version (since = "3.0")]
+               public unowned uint8[] get_data_with_length ();
+               [Version (since = "2.14")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "2.14")]
                public int get_format ();
+               [Version (since = "2.14")]
                public int get_length ();
+               [Version (since = "2.6")]
                public Gdk.Pixbuf? get_pixbuf ();
+               [Version (since = "2.16")]
                public Gdk.Atom get_selection ();
+               [Version (since = "2.14")]
                public Gdk.Atom get_target ();
-               public bool get_targets (out Gdk.Atom[] targets);
+               public bool get_targets ([CCode (array_length_cname = "n_atoms", array_length_pos = 1.1)] out 
Gdk.Atom[] targets);
                public string? get_text ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.6")]
                public string[] get_uris ();
-               public void @set (Gdk.Atom type, int format, uchar[] data);
+               public void @set (Gdk.Atom type, int format, [CCode (array_length_cname = "length", 
array_length_pos = 3.1)] uint8[] data);
+               [Version (since = "2.6")]
                public bool set_pixbuf (Gdk.Pixbuf pixbuf);
                public bool set_text (string str, int len);
+               [Version (since = "2.6")]
                public bool set_uris ([CCode (array_length = false, array_null_terminated = true)] string[] 
uris);
+               [Version (since = "2.6")]
                public bool targets_include_image (bool writable);
+               [Version (since = "2.10")]
                public bool targets_include_rich_text (Gtk.TextBuffer buffer);
                public bool targets_include_text ();
+               [Version (since = "2.10")]
                public bool targets_include_uri ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_separator_get_type ()")]
        public class Separator : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public Separator (Gtk.Orientation orientation);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_separator_menu_item_get_type ()")]
-       public class SeparatorMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       public class SeparatorMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public SeparatorMenuItem ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_separator_tool_item_get_type ()")]
-       public class SeparatorToolItem : Gtk.ToolItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class SeparatorToolItem : Gtk.ToolItem, Atk.Implementor, Gtk.Activatable, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (since = "2.4")]
                public SeparatorToolItem ();
+               [Version (since = "2.4")]
                public bool get_draw ();
+               [Version (since = "2.4")]
                public void set_draw (bool draw);
                public bool draw { get; set; }
        }
@@ -4578,46 +6588,65 @@ namespace Gtk {
        public class Settings : GLib.Object, Gtk.StyleProvider {
                [CCode (has_construct_function = false)]
                protected Settings ();
-               public static unowned Gtk.Settings get_default ();
+               public static unowned Gtk.Settings? get_default ();
+               [Version (since = "2.2")]
                public static unowned Gtk.Settings get_for_screen (Gdk.Screen screen);
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public static void install_property (GLib.ParamSpec pspec);
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public static void install_property_parser (GLib.ParamSpec pspec, Gtk.RcPropertyParser 
parser);
+               [Version (since = "3.20")]
                public void reset_property (string name);
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public void set_double_property (string name, double v_double, string origin);
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public void set_long_property (string name, long v_long, string origin);
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public void set_property_value (string name, Gtk.SettingsValue svalue);
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public void set_string_property (string name, string v_string, string origin);
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.10")]
                public GLib.HashTable<string,Gdk.Color> color_hash { owned get; }
                [NoAccessorMethod]
                public bool gtk_alternative_button_order { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public bool gtk_alternative_sort_arrows { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool gtk_application_prefer_dark_theme { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.20")]
                public bool gtk_auto_mnemonics { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public bool gtk_button_images { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool gtk_can_change_accels { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string gtk_color_palette { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.10")]
                public string gtk_color_scheme { owned get; set; }
                [NoAccessorMethod]
                public bool gtk_cursor_blink { get; set; }
                [NoAccessorMethod]
                public int gtk_cursor_blink_time { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public int gtk_cursor_blink_timeout { get; set; }
                [NoAccessorMethod]
                public string gtk_cursor_theme_name { owned get; set; }
                [NoAccessorMethod]
                public int gtk_cursor_theme_size { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.12")]
                public string gtk_decoration_layout { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.12")]
                public bool gtk_dialogs_use_header { get; set; }
                [NoAccessorMethod]
                public int gtk_dnd_drag_threshold { get; set; }
@@ -4626,80 +6655,109 @@ namespace Gtk {
                [NoAccessorMethod]
                public int gtk_double_click_time { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public bool gtk_enable_accels { get; set; }
                [NoAccessorMethod]
                public bool gtk_enable_animations { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public bool gtk_enable_event_sounds { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public bool gtk_enable_input_feedback_sounds { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public bool gtk_enable_mnemonics { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.4")]
                public bool gtk_enable_primary_paste { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.14")]
                public bool gtk_enable_tooltips { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public uint gtk_entry_password_hint_timeout { get; set; }
                [NoAccessorMethod]
                public bool gtk_entry_select_on_focus { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public bool gtk_error_bell { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string gtk_fallback_icon_theme { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string gtk_file_chooser_backend { owned get; set; }
                [NoAccessorMethod]
                public string gtk_font_name { owned get; set; }
                [NoAccessorMethod]
                public uint gtk_fontconfig_timestamp { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string gtk_icon_sizes { owned get; set; }
                [NoAccessorMethod]
                public string gtk_icon_theme_name { owned get; set; }
                [NoAccessorMethod]
                public string gtk_im_module { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public Gtk.IMPreeditStyle gtk_im_preedit_style { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public Gtk.IMStatusStyle gtk_im_status_style { get; set; }
                [NoAccessorMethod]
                public string gtk_key_theme_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public bool gtk_keynav_cursor_only { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.20")]
                public bool gtk_keynav_use_caret { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public bool gtk_keynav_wrap_around { get; set; }
                [NoAccessorMethod]
                public bool gtk_label_select_on_focus { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.14")]
                public uint gtk_long_press_time { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string gtk_menu_bar_accel { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public int gtk_menu_bar_popup_delay { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool gtk_menu_images { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public int gtk_menu_popdown_delay { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public int gtk_menu_popup_delay { get; set; }
                [NoAccessorMethod]
                public string gtk_modules { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.6")]
                public bool gtk_primary_button_warps_slider { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public string gtk_print_backends { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public string gtk_print_preview_command { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.8")]
                public bool gtk_recent_files_enabled { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public int gtk_recent_files_limit { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public int gtk_recent_files_max_age { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public Gtk.CornerType gtk_scrolled_window_placement { get; set; }
                [NoAccessorMethod]
                public bool gtk_shell_shows_app_menu { get; set; }
@@ -4708,41 +6766,56 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool gtk_shell_shows_menubar { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool gtk_show_input_method_menu { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public bool gtk_show_unicode_menu { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public string gtk_sound_theme_name { owned get; set; }
                [NoAccessorMethod]
                public bool gtk_split_cursor { get; set; }
                [NoAccessorMethod]
                public string gtk_theme_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public int gtk_timeout_expand { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public int gtk_timeout_initial { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public int gtk_timeout_repeat { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.14")]
                public string gtk_titlebar_double_click { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.14")]
                public string gtk_titlebar_middle_click { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.14")]
                public string gtk_titlebar_right_click { owned get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public Gtk.IconSize gtk_toolbar_icon_size { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public Gtk.ToolbarStyle gtk_toolbar_style { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public int gtk_tooltip_browse_mode_timeout { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public int gtk_tooltip_browse_timeout { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
                public int gtk_tooltip_timeout { get; set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "Gdk.Event.get_source_device")]
+               [Version (deprecated = true, deprecated_since = "3.4.", since = "2.10")]
                public bool gtk_touchscreen_mode { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "3.2")]
                public Gtk.PolicyType gtk_visible_focus { get; set; }
                [NoAccessorMethod]
                public int gtk_xft_antialias { get; set; }
@@ -4755,7 +6828,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public string gtk_xft_rgba { owned get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_shortcuts_group_get_type ()")]
        public class ShortcutsGroup : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false)]
                protected ShortcutsGroup ();
@@ -4770,7 +6843,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public string view { owned get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_shortcuts_section_get_type ()")]
        public class ShortcutsSection : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false)]
                protected ShortcutsSection ();
@@ -4782,9 +6855,9 @@ namespace Gtk {
                public string title { owned get; set; }
                [NoAccessorMethod]
                public string view_name { owned get; set; }
-               public virtual signal bool change_current_page (int p0);
+               public signal bool change_current_page (int object);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_shortcuts_shortcut_get_type ()")]
        public class ShortcutsShortcut : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false)]
                protected ShortcutsShortcut ();
@@ -4793,6 +6866,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public string accelerator { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.22")]
                public string action_name { owned get; set; }
                [NoAccessorMethod]
                public Gtk.TextDirection direction { get; set; }
@@ -4811,7 +6885,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public Gtk.SizeGroup title_size_group { set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_shortcuts_window_get_type ()")]
        public class ShortcutsWindow : Gtk.Window, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                protected ShortcutsWindow ();
@@ -4827,27 +6901,32 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                public SizeGroup (Gtk.SizeGroupMode mode);
                public void add_widget (Gtk.Widget widget);
+               [Version (deprecated = true, deprecated_since = "3.22", since = "2.8")]
                public bool get_ignore_hidden ();
                public Gtk.SizeGroupMode get_mode ();
+               [Version (since = "2.10")]
                public unowned GLib.SList<Gtk.Widget> get_widgets ();
                public void remove_widget (Gtk.Widget widget);
+               [Version (deprecated = true, deprecated_since = "3.22", since = "2.8")]
                public void set_ignore_hidden (bool ignore_hidden);
                public void set_mode (Gtk.SizeGroupMode mode);
+               [Version (deprecated = true, deprecated_since = "3.22", since = "2.8")]
                public bool ignore_hidden { get; set; }
                public Gtk.SizeGroupMode mode { get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtkx.h", type_id = "gtk_socket_get_type ()")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_socket_get_type ()")]
        public class Socket : Gtk.Container, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Socket ();
                public void add_id (X.Window window);
                public X.Window get_id ();
+               [Version (since = "2.14")]
                public unowned Gdk.Window? get_plug_window ();
                public virtual signal void plug_added ();
                public virtual signal bool plug_removed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_spin_button_get_type ()")]
-       public class SpinButton : Gtk.Entry, Atk.Implementor, Gtk.Buildable, Gtk.Editable, Gtk.CellEditable, 
Gtk.Orientable {
+       public class SpinButton : Gtk.Entry, Atk.Implementor, Gtk.Buildable, Gtk.CellEditable, Gtk.Editable, 
Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public SpinButton (Gtk.Adjustment? adjustment, double climb_rate, uint digits);
                public void configure (Gtk.Adjustment? adjustment, double climb_rate, uint digits);
@@ -4887,18 +6966,22 @@ namespace Gtk {
                public virtual signal int input (out double new_value);
                public virtual signal bool output ();
                public virtual signal void value_changed ();
+               [Version (since = "2.10")]
                public virtual signal void wrapped ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_spin_button_accessible_get_type 
()")]
-       public class SpinButtonAccessible : Gtk.EntryAccessible, Atk.Component, Atk.EditableText, Atk.Text, 
Atk.Action, Atk.Value {
+       public class SpinButtonAccessible : Gtk.EntryAccessible, Atk.Action, Atk.Component, Atk.EditableText, 
Atk.Text, Atk.Value {
                [CCode (has_construct_function = false)]
                protected SpinButtonAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_spinner_get_type ()")]
        public class Spinner : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.20")]
                public Spinner ();
+               [Version (since = "2.20")]
                public void start ();
+               [Version (since = "2.20")]
                public void stop ();
                [NoAccessorMethod]
                public bool active { get; set; }
@@ -4911,132 +6994,212 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_stack_get_type ()")]
        public class Stack : Gtk.Container, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public Stack ();
+               [Version (since = "3.10")]
                public void add_named (Gtk.Widget child, string name);
+               [Version (since = "3.10")]
                public void add_titled (Gtk.Widget child, string name, string title);
+               [Version (since = "3.12")]
                public unowned Gtk.Widget? get_child_by_name (string name);
+               [Version (since = "3.16")]
                public bool get_hhomogeneous ();
+               [Version (since = "3.10")]
                public bool get_homogeneous ();
+               [Version (since = "3.18")]
                public bool get_interpolate_size ();
+               [Version (since = "3.10")]
                public uint get_transition_duration ();
+               [Version (since = "3.12")]
                public bool get_transition_running ();
+               [Version (since = "3.10")]
                public Gtk.StackTransitionType get_transition_type ();
+               [Version (since = "3.16")]
                public bool get_vhomogeneous ();
+               [Version (since = "3.10")]
                public unowned Gtk.Widget? get_visible_child ();
+               [Version (since = "3.10")]
                public unowned string? get_visible_child_name ();
+               [Version (since = "3.16")]
                public void set_hhomogeneous (bool hhomogeneous);
+               [Version (since = "3.10")]
                public void set_homogeneous (bool homogeneous);
+               [Version (since = "3.18")]
                public void set_interpolate_size (bool interpolate_size);
+               [Version (since = "3.10")]
                public void set_transition_duration (uint duration);
+               [Version (since = "3.10")]
                public void set_transition_type (Gtk.StackTransitionType transition);
+               [Version (since = "3.16")]
                public void set_vhomogeneous (bool vhomogeneous);
+               [Version (since = "3.10")]
                public void set_visible_child (Gtk.Widget child);
+               [Version (since = "3.10")]
                public void set_visible_child_full (string name, Gtk.StackTransitionType transition);
+               [Version (since = "3.10")]
                public void set_visible_child_name (string name);
+               [Version (since = "3.16")]
                public bool hhomogeneous { get; set; }
                public bool homogeneous { get; set; }
                public bool interpolate_size { get; set; }
                public uint transition_duration { get; set; }
                public bool transition_running { get; }
                public Gtk.StackTransitionType transition_type { get; set; }
+               [Version (since = "3.16")]
                public bool vhomogeneous { get; set; }
                public Gtk.Widget visible_child { get; set; }
                public string visible_child_name { get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_stack_accessible_get_type ()")]
        public class StackAccessible : Gtk.ContainerAccessible, Atk.Component {
                [CCode (has_construct_function = false)]
                protected StackAccessible ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_stack_sidebar_get_type ()")]
        public class StackSidebar : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.16")]
                public StackSidebar ();
-               public unowned Gtk.Stack get_stack ();
+               [Version (since = "3.16")]
+               public unowned Gtk.Stack? get_stack ();
+               [Version (since = "3.16")]
                public void set_stack (Gtk.Stack stack);
                public Gtk.Stack stack { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_stack_switcher_get_type ()")]
        public class StackSwitcher : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.10")]
                public StackSwitcher ();
+               [Version (since = "3.10")]
                public unowned Gtk.Stack? get_stack ();
+               [Version (since = "3.10")]
                public void set_stack (Gtk.Stack? stack);
                [NoAccessorMethod]
+               [Version (since = "3.20")]
                public int icon_size { get; set; }
                public Gtk.Stack stack { get; set construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_status_icon_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.14")]
        public class StatusIcon : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public StatusIcon ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public StatusIcon.from_file (string filename);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.14")]
                public StatusIcon.from_gicon (GLib.Icon icon);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public StatusIcon.from_icon_name (string icon_name);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.10")]
                public StatusIcon.from_pixbuf (Gdk.Pixbuf pixbuf);
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public StatusIcon.from_stock (string stock_id);
+               [Version (since = "2.10")]
                public bool get_geometry (out unowned Gdk.Screen screen, out Gdk.Rectangle area, out 
Gtk.Orientation orientation);
+               [Version (since = "2.14")]
                public unowned GLib.Icon get_gicon ();
+               [Version (since = "2.16")]
                public bool get_has_tooltip ();
+               [Version (since = "2.10")]
                public unowned string get_icon_name ();
+               [Version (since = "2.10")]
                public unowned Gdk.Pixbuf get_pixbuf ();
+               [Version (since = "2.12")]
                public unowned Gdk.Screen get_screen ();
+               [Version (since = "2.10")]
                public int get_size ();
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public unowned string get_stock ();
+               [Version (since = "2.10")]
                public Gtk.ImageType get_storage_type ();
+               [Version (since = "2.18")]
                public unowned string get_title ();
+               [Version (since = "2.16")]
                public string get_tooltip_markup ();
+               [Version (since = "2.16")]
                public string get_tooltip_text ();
+               [Version (since = "2.10")]
                public bool get_visible ();
+               [Version (since = "2.14")]
                public uint32 get_x11_window_id ();
+               [Version (since = "2.10")]
                public bool is_embedded ();
-               [CCode (instance_pos = -1)]
-               public void position_menu (Gtk.Menu menu, ref int x, ref int y, out bool push_in);
+               [Version (since = "2.10")]
+               public static void position_menu (Gtk.Menu menu, ref int x, ref int y, out bool push_in, 
Gtk.StatusIcon user_data);
+               [Version (since = "2.10")]
                public void set_from_file (string filename);
+               [Version (since = "2.14")]
                public void set_from_gicon (GLib.Icon icon);
+               [Version (since = "2.10")]
                public void set_from_icon_name (string icon_name);
-               public void set_from_pixbuf (Gdk.Pixbuf pixbuf);
+               [Version (since = "2.10")]
+               public void set_from_pixbuf (Gdk.Pixbuf? pixbuf);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.10")]
                public void set_from_stock (string stock_id);
+               [Version (since = "2.16")]
                public void set_has_tooltip (bool has_tooltip);
+               [Version (since = "2.20")]
                public void set_name (string name);
+               [Version (since = "2.12")]
                public void set_screen (Gdk.Screen screen);
+               [Version (since = "2.18")]
                public void set_title (string title);
-               public void set_tooltip_markup (string markup);
+               [Version (since = "2.16")]
+               public void set_tooltip_markup (string? markup);
+               [Version (since = "2.16")]
                public void set_tooltip_text (string text);
+               [Version (since = "2.10")]
                public void set_visible (bool visible);
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public bool embedded { get; }
                [NoAccessorMethod]
                public string file { set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public GLib.Icon gicon { owned get; set; }
+               [Version (since = "2.16")]
                public bool has_tooltip { get; set; }
                [NoAccessorMethod]
                public string icon_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public Gtk.Orientation orientation { get; }
                [NoAccessorMethod]
                public Gdk.Pixbuf pixbuf { owned get; set; }
                public Gdk.Screen screen { get; set; }
                public int size { get; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string stock { owned get; set; }
                public Gtk.ImageType storage_type { get; }
+               [Version (since = "2.18")]
                public string title { get; set; }
+               [Version (since = "2.16")]
                public string tooltip_markup { owned get; set; }
+               [Version (since = "2.16")]
                public string tooltip_text { owned get; set; }
                public bool visible { get; set; }
+               [Version (since = "2.10")]
                public virtual signal void activate ();
+               [Version (since = "2.14")]
                public virtual signal bool button_press_event (Gdk.EventButton event);
+               [Version (since = "2.14")]
                public virtual signal bool button_release_event (Gdk.EventButton event);
+               [Version (since = "2.10")]
                public virtual signal void popup_menu (uint button, uint activate_time);
+               [Version (since = "2.16")]
                public virtual signal bool query_tooltip (int x, int y, bool keyboard_mode, Gtk.Tooltip 
tooltip);
+               [Version (since = "2.16")]
                public virtual signal bool scroll_event (Gdk.EventScroll event);
+               [Version (since = "2.10")]
                public virtual signal bool size_changed (int size);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_statusbar_get_type ()")]
@@ -5044,10 +7207,12 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Statusbar ();
                public uint get_context_id (string context_description);
-               public unowned Gtk.Container get_message_area ();
+               [Version (since = "2.20")]
+               public unowned Gtk.Box get_message_area ();
                public void pop (uint context_id);
                public uint push (uint context_id, string text);
                public void remove (uint context_id, uint message_id);
+               [Version (since = "2.22")]
                public void remove_all (uint context_id);
                public virtual signal void text_popped (uint context_id, string text);
                public virtual signal void text_pushed (uint context_id, string text);
@@ -5057,42 +7222,35 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected StatusbarAccessible ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "StyleContext")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_style_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "StyleContext")]
        public class Style : GLib.Object {
-               public int attach_count;
                [CCode (array_length = false)]
-               public weak Cairo.Pattern[] background;
+               public weak Cairo.Pattern background[5];
                [CCode (array_length = false)]
-               public Gdk.Color[] @base;
+               public Gdk.Color @base[5];
                [CCode (array_length = false)]
-               public Gdk.Color[] bg;
+               public Gdk.Color bg[5];
                public Gdk.Color black;
                [CCode (array_length = false)]
-               public Gdk.Color[] dark;
+               public Gdk.Color dark[5];
                [CCode (array_length = false)]
-               public Gdk.Color[] fg;
+               public Gdk.Color fg[5];
                public weak Pango.FontDescription font_desc;
-               public weak GLib.SList icon_factories;
                [CCode (array_length = false)]
-               public Gdk.Color[] light;
+               public Gdk.Color light[5];
                [CCode (array_length = false)]
-               public Gdk.Color[] mid;
-               public weak GLib.Array property_cache;
-               public weak Gtk.RcStyle rc_style;
-               public weak GLib.SList styles;
+               public Gdk.Color mid[5];
                [CCode (array_length = false)]
-               public Gdk.Color[] text;
+               public Gdk.Color text[5];
                [CCode (array_length = false)]
-               public Gdk.Color[] text_aa;
-               public weak Gdk.Visual visual;
+               public Gdk.Color text_aa[5];
                public Gdk.Color white;
                public int xthickness;
                public int ythickness;
                [CCode (has_construct_function = false)]
                public Style ();
                public void apply_default_background (Cairo.Context cr, Gdk.Window window, Gtk.StateType 
state_type, int x, int y, int width, int height);
-               public unowned Gtk.Style attach (Gdk.Window window);
                [NoWrapper]
                public virtual Gtk.Style clone ();
                public Gtk.Style copy ();
@@ -5140,118 +7298,201 @@ namespace Gtk {
                public virtual void draw_tab (Cairo.Context cr, Gtk.StateType state_type, Gtk.ShadowType 
shadow_type, Gtk.Widget widget, string detail, int x, int y, int width, int height);
                [NoWrapper]
                public virtual void draw_vline (Cairo.Context cr, Gtk.StateType state_type, Gtk.Widget 
widget, string detail, int y1_, int y2_, int x);
+               [Version (since = "2.16")]
                public void @get (GLib.Type widget_type, ...);
+               [Version (since = "2.16")]
                public void get_style_property (GLib.Type widget_type, string property_name, out GLib.Value 
value);
-               public void get_valist (GLib.Type widget_type, string first_property_name, void* var_args);
+               [Version (since = "2.16")]
+               public void get_valist (GLib.Type widget_type, string first_property_name, [CCode (type = 
"va_list")] va_list var_args);
+               [Version (since = "3.0")]
                public bool has_context ();
                [NoWrapper]
                public virtual void init_from_rc (Gtk.RcStyle rc_style);
+               [Version (since = "2.10")]
                public bool lookup_color (string color_name, out Gdk.Color color);
                public unowned Gtk.IconSet lookup_icon_set (string stock_id);
-               public virtual Gdk.Pixbuf render_icon (Gtk.IconSource source, Gtk.TextDirection direction, 
Gtk.StateType state, Gtk.IconSize size, Gtk.Widget? widget, string? detail);
+               public virtual Gdk.Pixbuf render_icon (Gtk.IconSource source, Gtk.TextDirection direction, 
Gtk.StateType state, int size, Gtk.Widget? widget, string? detail);
                public virtual void set_background (Gdk.Window window, Gtk.StateType state_type);
                [NoAccessorMethod]
                public Gtk.StyleContext context { owned get; construct; }
+               [Version (since = "2.4")]
                public virtual signal void realize ();
+               [Version (since = "2.4")]
                public virtual signal void unrealize ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_style_context_get_type ()")]
        public class StyleContext : GLib.Object {
                [CCode (has_construct_function = false)]
                public StyleContext ();
+               [Version (since = "3.0")]
                public void add_class (string class_name);
+               [Version (since = "3.0")]
                public void add_provider (Gtk.StyleProvider provider, uint priority);
+               [Version (since = "3.0")]
                public static void add_provider_for_screen (Gdk.Screen screen, Gtk.StyleProvider provider, 
uint priority);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void add_region (string region_name, Gtk.RegionFlags flags);
+               [Version (deprecated = true, deprecated_since = "3.6", since = "3.0")]
                public void cancel_animations (void* region_id);
+               [Version (since = "3.0")]
                public void @get (Gtk.StateFlags state, ...);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public Gdk.RGBA get_background_color (Gtk.StateFlags state);
+               [Version (since = "3.0")]
                public Gtk.Border get_border (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public Gdk.RGBA get_border_color (Gtk.StateFlags state);
+               [Version (since = "3.0")]
                public Gdk.RGBA get_color (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public Gtk.TextDirection get_direction ();
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public unowned Pango.FontDescription get_font (Gtk.StateFlags state);
+               [Version (since = "3.8")]
                public unowned Gdk.FrameClock? get_frame_clock ();
+               [Version (since = "3.0")]
                public Gtk.JunctionSides get_junction_sides ();
+               [Version (since = "3.0")]
                public Gtk.Border get_margin (Gtk.StateFlags state);
+               [Version (since = "3.0")]
                public Gtk.Border get_padding (Gtk.StateFlags state);
+               [Version (since = "3.4")]
                public unowned Gtk.StyleContext? get_parent ();
+               [Version (since = "3.0")]
                public unowned Gtk.WidgetPath get_path ();
+               [Version (since = "3.0")]
                public GLib.Value get_property (string property, Gtk.StateFlags state);
+               [Version (since = "3.10")]
                public int get_scale ();
                public unowned Gdk.Screen get_screen ();
-               public unowned Gtk.CssSection get_section (string property);
+               public unowned Gtk.CssSection? get_section (string property);
+               [Version (since = "3.0")]
                public Gtk.StateFlags get_state ();
+               [Version (since = "3.0")]
                public void get_style (...);
                public void get_style_property (string property_name, GLib.Value value);
-               public void get_style_valist (va_list args);
-               public void get_valist (Gtk.StateFlags state, va_list args);
+               [Version (since = "3.0")]
+               public void get_style_valist ([CCode (type = "va_list")] va_list args);
+               [Version (since = "3.0")]
+               public void get_valist (Gtk.StateFlags state, [CCode (type = "va_list")] va_list args);
+               [Version (since = "3.0")]
                public bool has_class (string class_name);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool has_region (string region_name, out Gtk.RegionFlags flags_return);
+               [Version (deprecated = true, deprecated_since = "3.12", since = "3.0")]
                public void invalidate ();
+               [Version (since = "3.0")]
                public GLib.List<weak string> list_classes ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public GLib.List<weak string> list_regions ();
                public bool lookup_color (string color_name, out Gdk.RGBA color);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public unowned Gtk.IconSet lookup_icon_set (string stock_id);
+               [Version (deprecated = true, deprecated_since = "3.6", since = "3.0")]
                public void notify_state_change (Gdk.Window window, void* region_id, Gtk.StateType state, 
bool state_value);
+               [Version (deprecated = true, deprecated_since = "3.6", since = "3.0")]
                public void pop_animatable_region ();
+               [Version (deprecated = true, deprecated_since = "3.6", since = "3.0")]
                public void push_animatable_region (void* region_id);
+               [Version (since = "3.0")]
                public void remove_class (string class_name);
+               [Version (since = "3.0")]
                public void remove_provider (Gtk.StyleProvider provider);
+               [Version (since = "3.0")]
                public static void remove_provider_for_screen (Gdk.Screen screen, Gtk.StyleProvider provider);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void remove_region (string region_name);
-               [CCode (cname = "gtk_render_activity")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_activity", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_activity (Cairo.Context cr, double x, double y, double width, double 
height);
-               [CCode (cname = "gtk_render_arrow")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_arrow", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_arrow (Cairo.Context cr, double angle, double x, double y, double size);
-               [CCode (cname = "gtk_render_background")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_background", instance_pos = 0.5)]
+               [Version (since = "3.0.")]
                public void render_background (Cairo.Context cr, double x, double y, double width, double 
height);
-               [CCode (cname = "gtk_render_background_get_clip")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_background_get_clip", 
instance_pos = 0.5)]
+               [Version (since = "3.20")]
                public Gdk.Rectangle render_background_get_clip (double x, double y, double width, double 
height);
-               [CCode (cname = "gtk_render_check")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_check", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_check (Cairo.Context cr, double x, double y, double width, double height);
-               [CCode (cname = "gtk_render_expander")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_expander", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_expander (Cairo.Context cr, double x, double y, double width, double 
height);
-               [CCode (cname = "gtk_render_extension")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_extension", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_extension (Cairo.Context cr, double x, double y, double width, double 
height, Gtk.PositionType gap_side);
-               [CCode (cname = "gtk_render_focus")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_focus", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_focus (Cairo.Context cr, double x, double y, double width, double height);
-               [CCode (cname = "gtk_render_frame")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_frame", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_frame (Cairo.Context cr, double x, double y, double width, double height);
-               [CCode (cname = "gtk_render_frame_gap")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_frame_gap", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_frame_gap (Cairo.Context cr, double x, double y, double width, double 
height, Gtk.PositionType gap_side, double xy0_gap, double xy1_gap);
-               [CCode (cname = "gtk_render_handle")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_handle", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_handle (Cairo.Context cr, double x, double y, double width, double height);
-               [CCode (cname = "gtk_render_icon")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_icon", instance_pos = 0.5)]
+               [Version (since = "3.2")]
                public void render_icon (Cairo.Context cr, Gdk.Pixbuf pixbuf, double x, double y);
-               [CCode (cname = "gtk_render_icon_pixbuf")]
-               public Gdk.Pixbuf render_icon_pixbuf (Gtk.IconSource source, Gtk.IconSize size);
-               [CCode (cname = "gtk_render_layout")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_icon_pixbuf", instance_pos = 0.5)]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "3.0")]
+               public Gdk.Pixbuf render_icon_pixbuf (Gtk.IconSource source, [CCode (type = "GtkIconSize")] 
Gtk.IconSize size);
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_icon_surface", instance_pos = 
0.5)]
+               [Version (since = "3.10")]
+               public void render_icon_surface (Cairo.Context cr, Cairo.Surface surface, double x, double y);
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_insertion_cursor", instance_pos = 
0.5)]
+               [Version (since = "3.4")]
+               public void render_insertion_cursor (Cairo.Context cr, double x, double y, Pango.Layout 
layout, int index, Pango.Direction direction);
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_layout", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_layout (Cairo.Context cr, double x, double y, Pango.Layout layout);
-               [CCode (cname = "gtk_render_line")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_line", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_line (Cairo.Context cr, double x0, double y0, double x1, double y1);
-               [CCode (cname = "gtk_render_option")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_option", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_option (Cairo.Context cr, double x, double y, double width, double height);
-               [CCode (cname = "gtk_render_slider")]
+               [CCode (cheader_filename = "gtk/gtk.h", cname = "gtk_render_slider", instance_pos = 0.5)]
+               [Version (since = "3.0")]
                public void render_slider (Cairo.Context cr, double x, double y, double width, double height, 
Gtk.Orientation orientation);
+               [Version (since = "3.0")]
                public static void reset_widgets (Gdk.Screen screen);
+               [Version (since = "3.0")]
                public void restore ();
+               [Version (since = "3.0")]
                public void save ();
+               [Version (deprecated = true, deprecated_since = "3.6", since = "3.0")]
                public void scroll_animations (Gdk.Window window, int dx, int dy);
+               [Version (deprecated = true, deprecated_since = "3.18", since = "3.0")]
                public void set_background (Gdk.Window window);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public void set_direction (Gtk.TextDirection direction);
+               [Version (since = "3.8")]
                public void set_frame_clock (Gdk.FrameClock frame_clock);
+               [Version (since = "3.0")]
                public void set_junction_sides (Gtk.JunctionSides sides);
+               [Version (since = "3.4")]
                public void set_parent (Gtk.StyleContext? parent);
+               [Version (since = "3.0")]
                public void set_path (Gtk.WidgetPath path);
+               [Version (since = "3.10")]
                public void set_scale (int scale);
+               [Version (since = "3.0")]
                public void set_screen (Gdk.Screen screen);
+               [Version (since = "3.0")]
                public void set_state (Gtk.StateFlags flags);
+               [Version (deprecated = true, deprecated_since = "3.6", since = "3.0")]
                public bool state_is_running (Gtk.StateType state, out double progress);
+               [Version (since = "3.20")]
                public string to_string (Gtk.StyleContextPrintFlags flags);
                public Gtk.TextDirection direction { get; set; }
                [NoAccessorMethod]
                public Gdk.FrameClock paint_clock { owned get; set; }
+               [Version (since = "3.4")]
                public Gtk.StyleContext parent { get; set; }
                public Gdk.Screen screen { get; set; }
                public virtual signal void changed ();
@@ -5259,36 +7500,57 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_style_properties_get_type ()")]
        public class StyleProperties : GLib.Object, Gtk.StyleProvider {
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public StyleProperties ();
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public void clear ();
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void @get (Gtk.StateFlags state, ...);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public bool get_property (string property, Gtk.StateFlags state, out GLib.Value value);
-               public void get_valist (Gtk.StateFlags state, va_list args);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
+               public void get_valist (Gtk.StateFlags state, [CCode (type = "va_list")] va_list args);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public unowned Gtk.SymbolicColor lookup_color (string name);
-               public static bool lookup_property (string property_name, out unowned Gtk.StylePropertyParser 
parse_func, out unowned GLib.ParamSpec pspec);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
+               public static bool lookup_property (string property_name, out Gtk.StylePropertyParser 
parse_func, out unowned GLib.ParamSpec pspec);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public void map_color (string name, Gtk.SymbolicColor color);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void merge (Gtk.StyleProperties props_to_merge, bool replace);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public static void register_property (Gtk.StylePropertyParser? parse_func, GLib.ParamSpec 
pspec);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void @set (Gtk.StateFlags state, ...);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void set_property (string property, Gtk.StateFlags state, GLib.Value value);
-               public void set_valist (Gtk.StateFlags state, va_list args);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
+               public void set_valist (Gtk.StateFlags state, [CCode (type = "va_list")] va_list args);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void unset_property (string property, Gtk.StateFlags state);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_switch_get_type ()")]
-       public class Switch : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, Gtk.Activatable {
+       public class Switch : Gtk.Widget, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.0")]
                public Switch ();
+               [Version (since = "3.0")]
                public bool get_active ();
+               [Version (since = "3.14")]
                public bool get_state ();
+               [Version (since = "3.0")]
                public void set_active (bool is_active);
+               [Version (since = "3.14")]
                public void set_state (bool state);
                public bool active { get; set; }
+               [Version (since = "3.14")]
                public bool state { get; set; }
                public virtual signal void activate ();
+               [Version (since = "3.14")]
                public virtual signal bool state_set (bool state);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_switch_accessible_get_type ()")]
-       public class SwitchAccessible : Gtk.WidgetAccessible, Atk.Component, Atk.Action {
+       public class SwitchAccessible : Gtk.WidgetAccessible, Atk.Action, Atk.Component {
                [CCode (has_construct_function = false)]
                protected SwitchAccessible ();
        }
@@ -5296,22 +7558,34 @@ namespace Gtk {
        [Compact]
        public class SymbolicColor {
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public SymbolicColor.alpha (Gtk.SymbolicColor color, double factor);
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public SymbolicColor.literal (Gdk.RGBA color);
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public SymbolicColor.mix (Gtk.SymbolicColor color1, Gtk.SymbolicColor color2, double factor);
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public SymbolicColor.name (string name);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
+               public Gtk.SymbolicColor @ref ();
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public bool resolve (Gtk.StyleProperties? props, out Gdk.RGBA resolved_color);
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public SymbolicColor.shade (Gtk.SymbolicColor color, double factor);
+               [Version (deprecated = true, deprecated_since = "3.8")]
                public string to_string ();
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
+               public void unref ();
                [CCode (has_construct_function = false)]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.4")]
                public SymbolicColor.win32 (string theme_class, int id);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_table_get_type ()")]
-       [Version (deprecated_since = "3.4", replacement = "Grid")]
+       [Version (deprecated = true, deprecated_since = "3.4", replacement = "Grid")]
        public class Table : Gtk.Container, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Table (uint rows, uint columns, bool homogeneous);
@@ -5322,6 +7596,7 @@ namespace Gtk {
                public uint get_default_row_spacing ();
                public bool get_homogeneous ();
                public uint get_row_spacing (uint row);
+               [Version (since = "2.22")]
                public void get_size (out uint rows, out uint columns);
                public void resize (uint rows, uint columns);
                public void set_col_spacing (uint column, uint spacing);
@@ -5343,26 +7618,25 @@ namespace Gtk {
        [Compact]
        public class TargetList {
                [CCode (has_construct_function = false)]
-               public TargetList (Gtk.TargetEntry[]? targets);
+               public TargetList ([CCode (array_length_cname = "ntargets", array_length_pos = 1.1, 
array_length_type = "guint")] Gtk.TargetEntry[]? targets);
                public void add (Gdk.Atom target, uint flags, uint info);
+               [Version (since = "2.6")]
                public void add_image_targets (uint info, bool writable);
+               [Version (since = "2.10")]
                public void add_rich_text_targets (uint info, bool deserializable, Gtk.TextBuffer buffer);
-               public void add_table (Gtk.TargetEntry[] targets);
+               public void add_table ([CCode (array_length_cname = "ntargets", array_length_pos = 1.1, 
array_length_type = "guint")] Gtk.TargetEntry[] targets);
+               [Version (since = "2.6")]
                public void add_text_targets (uint info);
+               [Version (since = "2.6")]
                public void add_uri_targets (uint info);
                public bool find (Gdk.Atom target, out uint info);
+               public Gtk.TargetList @ref ();
                public void remove (Gdk.Atom target);
-       }
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       [Compact]
-       public class TargetPair {
-               public uint flags;
-               public uint info;
-               public Gdk.Atom target;
+               public void unref ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tearoff_menu_item_get_type ()")]
-       [Version (deprecated_since = "3.4")]
-       public class TearoffMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       [Version (deprecated = true, deprecated_since = "3.4")]
+       public class TearoffMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public TearoffMenuItem ();
        }
@@ -5373,8 +7647,8 @@ namespace Gtk {
                public uint bg_full_height;
                public Gtk.TextDirection direction;
                public uint editable;
-               public Pango.FontDescription font;
-               public string font_features;
+               public weak Pango.FontDescription font;
+               public weak string font_features;
                public double font_scale;
                public int indent;
                public uint invisible;
@@ -5383,19 +7657,18 @@ namespace Gtk {
                public int left_margin;
                public int letter_spacing;
                public uint no_fallback;
-               public Gdk.Color pg_bg_color;
-               public Gdk.RGBA pg_bg_rgba;
                public int pixels_above_lines;
                public int pixels_below_lines;
                public int pixels_inside_wrap;
-               public uint refcount;
                public int right_margin;
-               public Pango.TabArray tabs;
+               public weak Pango.TabArray tabs;
                public Gtk.WrapMode wrap_mode;
                [CCode (has_construct_function = false)]
                public TextAttributes ();
                public Gtk.TextAttributes copy ();
                public void copy_values (Gtk.TextAttributes dest);
+               public Gtk.TextAttributes @ref ();
+               public void unref ();
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
        [Compact]
@@ -5405,9 +7678,11 @@ namespace Gtk {
        public class TextBuffer : GLib.Object {
                [CCode (has_construct_function = false)]
                public TextBuffer (Gtk.TextTagTable? table);
+               [Version (since = "2.12")]
                public void add_mark (Gtk.TextMark mark, Gtk.TextIter where);
                public void add_selection_clipboard (Gtk.Clipboard clipboard);
                public void apply_tag_by_name (string name, Gtk.TextIter start, Gtk.TextIter end);
+               [Version (since = "2.6")]
                public bool backspace (Gtk.TextIter iter, bool interactive, bool default_editable);
                public void copy_clipboard (Gtk.Clipboard clipboard);
                public unowned Gtk.TextChildAnchor create_child_anchor (Gtk.TextIter iter);
@@ -5419,14 +7694,21 @@ namespace Gtk {
                public void delete_mark (Gtk.TextMark mark);
                public void delete_mark_by_name (string name);
                public bool delete_selection (bool interactive, bool default_editable);
-               public bool deserialize (Gtk.TextBuffer content_buffer, Gdk.Atom format, Gtk.TextIter iter, 
[CCode (array_length_type = "gsize")] uint8[] data) throws GLib.Error;
+               [Version (since = "2.10")]
+               public bool deserialize (Gtk.TextBuffer content_buffer, Gdk.Atom format, Gtk.TextIter iter, 
[CCode (array_length_cname = "length", array_length_pos = 4.1, array_length_type = "gsize")] uint8[] data) 
throws GLib.Error;
+               [Version (since = "2.10")]
                public bool deserialize_get_can_create_tags (Gdk.Atom format);
+               [Version (since = "2.10")]
                public void deserialize_set_can_create_tags (Gdk.Atom format, bool can_create_tags);
                public void get_bounds (out Gtk.TextIter start, out Gtk.TextIter end);
                public int get_char_count ();
+               [Version (since = "2.10")]
                public unowned Gtk.TargetList get_copy_target_list ();
+               [CCode (array_length_pos = 0.1)]
+               [Version (since = "2.10")]
                public Gdk.Atom[] get_deserialize_formats ();
                public void get_end_iter (out Gtk.TextIter iter);
+               [Version (since = "2.10")]
                public bool get_has_selection ();
                public unowned Gtk.TextMark get_insert ();
                public void get_iter_at_child_anchor (out Gtk.TextIter iter, Gtk.TextChildAnchor anchor);
@@ -5438,9 +7720,12 @@ namespace Gtk {
                public int get_line_count ();
                public unowned Gtk.TextMark? get_mark (string name);
                public bool get_modified ();
+               [Version (since = "2.10")]
                public unowned Gtk.TargetList get_paste_target_list ();
                public unowned Gtk.TextMark get_selection_bound ();
                public bool get_selection_bounds (out Gtk.TextIter start, out Gtk.TextIter end);
+               [CCode (array_length_pos = 0.1)]
+               [Version (since = "2.10")]
                public Gdk.Atom[] get_serialize_formats ();
                public string get_slice (Gtk.TextIter start, Gtk.TextIter end, bool include_hidden_chars);
                public void get_start_iter (out Gtk.TextIter iter);
@@ -5450,6 +7735,7 @@ namespace Gtk {
                public void insert_at_cursor (string text, int len);
                public bool insert_interactive (ref Gtk.TextIter iter, string text, int len, bool 
default_editable);
                public bool insert_interactive_at_cursor (string text, int len, bool default_editable);
+               [Version (since = "3.16")]
                public void insert_markup (ref Gtk.TextIter iter, string markup, int len);
                public void insert_range (ref Gtk.TextIter iter, Gtk.TextIter start, Gtk.TextIter end);
                public bool insert_range_interactive (ref Gtk.TextIter iter, Gtk.TextIter start, Gtk.TextIter 
end, bool default_editable);
@@ -5459,27 +7745,40 @@ namespace Gtk {
                public void move_mark_by_name (string name, Gtk.TextIter where);
                public void paste_clipboard (Gtk.Clipboard clipboard, Gtk.TextIter? override_location, bool 
default_editable);
                public void place_cursor (Gtk.TextIter where);
+               [Version (since = "2.10")]
                public Gdk.Atom register_deserialize_format (string mime_type, owned 
Gtk.TextBufferDeserializeFunc function);
+               [Version (since = "2.10")]
                public Gdk.Atom register_deserialize_tagset (string? tagset_name);
+               [Version (since = "2.10")]
                public Gdk.Atom register_serialize_format (string mime_type, owned 
Gtk.TextBufferSerializeFunc function);
+               [Version (since = "2.10")]
                public Gdk.Atom register_serialize_tagset (string? tagset_name);
                public void remove_all_tags (Gtk.TextIter start, Gtk.TextIter end);
                public void remove_selection_clipboard (Gtk.Clipboard clipboard);
                public void remove_tag_by_name (string name, Gtk.TextIter start, Gtk.TextIter end);
+               [Version (since = "2.4")]
                public void select_range (Gtk.TextIter ins, Gtk.TextIter bound);
-               [CCode (array_length_type = "gsize")]
+               [CCode (array_length_pos = 4.1, array_length_type = "gsize")]
+               [Version (since = "2.10")]
                public uint8[] serialize (Gtk.TextBuffer content_buffer, Gdk.Atom format, Gtk.TextIter start, 
Gtk.TextIter end);
                public void set_modified (bool setting);
                public void set_text (string text, int len = -1);
+               [Version (since = "2.10")]
                public void unregister_deserialize_format (Gdk.Atom format);
+               [Version (since = "2.10")]
                public void unregister_serialize_format (Gdk.Atom format);
+               [Version (since = "2.10")]
                public Gtk.TargetList copy_target_list { get; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public int cursor_position { get; }
+               [Version (since = "2.10")]
                public bool has_selection { get; }
+               [Version (since = "2.10")]
                public Gtk.TargetList paste_target_list { get; }
                public Gtk.TextTagTable tag_table { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.8")]
                public string text { owned get; set; }
                [HasEmitter]
                public virtual signal void apply_tag (Gtk.TextTag tag, Gtk.TextIter start, Gtk.TextIter end);
@@ -5497,6 +7796,7 @@ namespace Gtk {
                public virtual signal void mark_deleted (Gtk.TextMark mark);
                public virtual signal void mark_set (Gtk.TextIter location, Gtk.TextMark mark);
                public virtual signal void modified_changed ();
+               [Version (since = "2.16")]
                public virtual signal void paste_done (Gtk.Clipboard clipboard);
                [HasEmitter]
                public virtual signal void remove_tag (Gtk.TextTag tag, Gtk.TextIter start, Gtk.TextIter end);
@@ -5508,7 +7808,6 @@ namespace Gtk {
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_text_child_anchor_get_type ()")]
        public class TextChildAnchor : GLib.Object {
-               public void* segment;
                [CCode (has_construct_function = false)]
                public TextChildAnchor ();
                public bool get_deleted ();
@@ -5516,8 +7815,8 @@ namespace Gtk {
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_text_mark_get_type ()")]
        public class TextMark : GLib.Object {
-               public void* segment;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public TextMark (string? name, bool left_gravity = false);
                public unowned Gtk.TextBuffer get_buffer ();
                public bool get_deleted ();
@@ -5532,10 +7831,12 @@ namespace Gtk {
        public class TextTag : GLib.Object {
                [CCode (has_construct_function = false)]
                public TextTag (string? name = null);
+               [Version (since = "3.20")]
                public void changed (bool size_changed);
                public int get_priority ();
                public void set_priority (int priority);
                [NoAccessorMethod]
+               [Version (since = "2.12")]
                public bool accumulative_margin { get; set; }
                [NoAccessorMethod]
                public string background { set; }
@@ -5544,9 +7845,10 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool background_full_height_set { get; set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "background_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "background_rgba")]
                public Gdk.Color background_gdk { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.2")]
                public Gdk.RGBA background_rgba { get; set; }
                [NoAccessorMethod]
                public bool background_set { get; set; }
@@ -5557,6 +7859,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool editable_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public bool fallback { get; set; }
                [NoAccessorMethod]
                public bool fallback_set { get; set; }
@@ -5569,15 +7872,17 @@ namespace Gtk {
                [NoAccessorMethod]
                public Pango.FontDescription font_desc { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.18")]
                public string font_features { owned get; set; }
                [NoAccessorMethod]
                public bool font_features_set { get; set; }
                [NoAccessorMethod]
                public string foreground { set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "foreground_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = "foreground_rgba")]
                public Gdk.Color foreground_gdk { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.2")]
                public Gdk.RGBA foreground_rgba { get; set; }
                [NoAccessorMethod]
                public bool foreground_set { get; set; }
@@ -5586,6 +7891,7 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool indent_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.8")]
                public bool invisible { get; set; }
                [NoAccessorMethod]
                public bool invisible_set { get; set; }
@@ -5602,17 +7908,20 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool left_margin_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public int letter_spacing { get; set; }
                [NoAccessorMethod]
                public bool letter_spacing_set { get; set; }
                [NoAccessorMethod]
                public string name { owned get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.8")]
                public string paragraph_background { set; }
                [NoAccessorMethod]
-               [Version (deprecated_since = "3.4", replacement = "paragraph_background_rgba")]
+               [Version (deprecated = true, deprecated_since = "3.4", replacement = 
"paragraph_background_rgba", since = "2.8")]
                public Gdk.Color paragraph_background_gdk { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.2")]
                public Gdk.RGBA paragraph_background_rgba { get; set; }
                [NoAccessorMethod]
                public bool paragraph_background_set { get; set; }
@@ -5653,8 +7962,10 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool strikethrough { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public Gdk.RGBA strikethrough_rgba { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public bool strikethrough_rgba_set { get; set; }
                [NoAccessorMethod]
                public bool strikethrough_set { get; set; }
@@ -5669,8 +7980,10 @@ namespace Gtk {
                [NoAccessorMethod]
                public Pango.Underline underline { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public Gdk.RGBA underline_rgba { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public bool underline_rgba_set { get; set; }
                [NoAccessorMethod]
                public bool underline_set { get; set; }
@@ -5717,66 +8030,87 @@ namespace Gtk {
                public virtual void draw_layer (Gtk.TextViewLayer layer, Cairo.Context cr);
                public bool forward_display_line (Gtk.TextIter iter);
                public bool forward_display_line_end (Gtk.TextIter iter);
+               [Version (since = "2.4")]
                public bool get_accepts_tab ();
                public int get_border_window_size (Gtk.TextWindowType type);
+               [Version (since = "3.18")]
                public int get_bottom_margin ();
                public unowned Gtk.TextBuffer get_buffer ();
+               [Version (since = "3.0")]
                public void get_cursor_locations (Gtk.TextIter? iter, out Gdk.Rectangle strong, out 
Gdk.Rectangle @weak);
                public bool get_cursor_visible ();
                public Gtk.TextAttributes get_default_attributes ();
                public bool get_editable ();
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.22")]
                public unowned Gtk.Adjustment get_hadjustment ();
                public int get_indent ();
+               [Version (since = "3.6")]
                public Gtk.InputHints get_input_hints ();
+               [Version (since = "3.6")]
                public Gtk.InputPurpose get_input_purpose ();
                public bool get_iter_at_location (out Gtk.TextIter iter, int x, int y);
+               [Version (since = "2.6")]
                public bool get_iter_at_position (out Gtk.TextIter iter, out int trailing, int x, int y);
                public void get_iter_location (Gtk.TextIter iter, out Gdk.Rectangle location);
                public Gtk.Justification get_justification ();
                public int get_left_margin ();
                public void get_line_at_y (out Gtk.TextIter target_iter, int y, out int line_top);
                public void get_line_yrange (Gtk.TextIter iter, out int y, out int height);
+               [Version (since = "3.16")]
                public bool get_monospace ();
+               [Version (since = "2.4")]
                public bool get_overwrite ();
                public int get_pixels_above_lines ();
                public int get_pixels_below_lines ();
                public int get_pixels_inside_wrap ();
                public int get_right_margin ();
                public Pango.TabArray? get_tabs ();
+               [Version (since = "3.18")]
                public int get_top_margin ();
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.22")]
                public unowned Gtk.Adjustment get_vadjustment ();
                public void get_visible_rect (out Gdk.Rectangle visible_rect);
                public unowned Gdk.Window? get_window (Gtk.TextWindowType win);
                public Gtk.TextWindowType get_window_type (Gdk.Window window);
                public Gtk.WrapMode get_wrap_mode ();
+               [Version (since = "2.22")]
                public bool im_context_filter_keypress (Gdk.EventKey event);
                public void move_child (Gtk.Widget child, int xpos, int ypos);
                public bool move_mark_onscreen (Gtk.TextMark mark);
                public bool move_visually (Gtk.TextIter iter, int count);
                public bool place_cursor_onscreen ();
+               [Version (since = "3.20")]
                public void reset_cursor_blink ();
+               [Version (since = "2.22")]
                public void reset_im_context ();
                public void scroll_mark_onscreen (Gtk.TextMark mark);
                public bool scroll_to_iter (Gtk.TextIter iter, double within_margin, bool use_align, double 
xalign, double yalign);
                public void scroll_to_mark (Gtk.TextMark mark, double within_margin, bool use_align, double 
xalign, double yalign);
+               [Version (since = "2.4")]
                public void set_accepts_tab (bool accepts_tab);
                public void set_border_window_size (Gtk.TextWindowType type, int size);
+               [Version (since = "3.18")]
                public void set_bottom_margin (int bottom_margin);
                public void set_buffer (Gtk.TextBuffer? buffer);
                public void set_cursor_visible (bool setting);
                public void set_editable (bool setting);
                public void set_indent (int indent);
+               [Version (since = "3.6")]
                public void set_input_hints (Gtk.InputHints hints);
+               [Version (since = "3.6")]
                public void set_input_purpose (Gtk.InputPurpose purpose);
                public void set_justification (Gtk.Justification justification);
                public void set_left_margin (int left_margin);
+               [Version (since = "3.16")]
                public void set_monospace (bool monospace);
+               [Version (since = "2.4")]
                public void set_overwrite (bool overwrite);
                public void set_pixels_above_lines (int pixels_above_lines);
                public void set_pixels_below_lines (int pixels_below_lines);
                public void set_pixels_inside_wrap (int pixels_inside_wrap);
                public void set_right_margin (int right_margin);
                public void set_tabs (Pango.TabArray tabs);
+               [Version (since = "3.18")]
                public void set_top_margin (int top_margin);
                public void set_wrap_mode (Gtk.WrapMode wrap_mode);
                public bool starts_display_line (Gtk.TextIter iter);
@@ -5784,14 +8118,18 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public TextView.with_buffer (Gtk.TextBuffer buffer);
                public bool accepts_tab { get; set; }
+               [Version (since = "3.18")]
                public int bottom_margin { get; set; }
                public Gtk.TextBuffer buffer { get; set; }
                public bool cursor_visible { get; set; }
                public bool editable { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.16")]
                public string im_module { owned get; set; }
                public int indent { get; set; }
+               [Version (since = "3.6")]
                public Gtk.InputHints input_hints { get; set; }
+               [Version (since = "3.6")]
                public Gtk.InputPurpose input_purpose { get; set; }
                public Gtk.Justification justification { get; set; }
                public int left_margin { get; set; }
@@ -5801,29 +8139,33 @@ namespace Gtk {
                public int pixels_below_lines { get; set; }
                public int pixels_inside_wrap { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.8")]
                public bool populate_all { get; set; }
                public int right_margin { get; set; }
                public Pango.TabArray tabs { owned get; set; }
+               [Version (since = "3.18")]
                public int top_margin { get; set; }
                public Gtk.WrapMode wrap_mode { get; set; }
                public virtual signal void backspace ();
                public virtual signal void copy_clipboard ();
                public virtual signal void cut_clipboard ();
                public virtual signal void delete_from_cursor (Gtk.DeleteType type, int count);
+               [Version (since = "3.16")]
                public virtual signal bool extend_selection (Gtk.TextExtendSelection granularity, 
Gtk.TextIter location, Gtk.TextIter start, Gtk.TextIter end);
                public virtual signal void insert_at_cursor (string str);
                public virtual signal void move_cursor (Gtk.MovementStep step, int count, bool 
extend_selection);
-               public virtual signal void move_viewport (Gtk.ScrollStep p0, int p1);
+               public signal void move_viewport (Gtk.ScrollStep step, int count);
                public virtual signal void paste_clipboard ();
-               public virtual signal void populate_popup (Gtk.Menu popup);
-               public virtual signal void preedit_changed (string p0);
-               public virtual signal void select_all (bool p0);
+               public virtual signal void populate_popup (Gtk.Widget popup);
+               [Version (since = "2.20")]
+               public signal void preedit_changed (string preedit);
+               public signal void select_all (bool select);
                public virtual signal void set_anchor ();
-               public virtual signal void toggle_cursor_visible ();
+               public signal void toggle_cursor_visible ();
                public virtual signal void toggle_overwrite ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_text_view_accessible_get_type 
()")]
-       public class TextViewAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.EditableText, Atk.Text, 
Atk.StreamableContent {
+       public class TextViewAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.EditableText, 
Atk.StreamableContent, Atk.Text {
                [CCode (has_construct_function = false)]
                protected TextViewAccessible ();
        }
@@ -5835,28 +8177,51 @@ namespace Gtk {
        public class ThemingEngine : GLib.Object {
                [CCode (has_construct_function = false)]
                protected ThemingEngine ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void @get (Gtk.StateFlags state, ...);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gdk.RGBA get_background_color (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gtk.Border get_border (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gdk.RGBA get_border_color (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gdk.RGBA get_color (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public Gtk.TextDirection get_direction ();
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public unowned Pango.FontDescription get_font (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gtk.JunctionSides get_junction_sides ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gtk.Border get_margin (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gtk.Border get_padding (Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public unowned Gtk.WidgetPath get_path ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public GLib.Value get_property (string property, Gtk.StateFlags state);
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public unowned Gdk.Screen get_screen ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public Gtk.StateFlags get_state ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void get_style (...);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public GLib.Value get_style_property (string property_name);
-               public void get_style_valist (va_list args);
-               public void get_valist (Gtk.StateFlags state, va_list args);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
+               public void get_style_valist ([CCode (type = "va_list")] va_list args);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
+               public void get_valist (Gtk.StateFlags state, [CCode (type = "va_list")] va_list args);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool has_class (string style_class);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool has_region (string style_region, out Gtk.RegionFlags flags);
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public static unowned Gtk.ThemingEngine load (string name);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool lookup_color (string color_name, out Gdk.RGBA color);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public static void register_property (string name_space, Gtk.StylePropertyParser? parse_func, 
GLib.ParamSpec pspec);
                [NoWrapper]
                public virtual void render_activity (Cairo.Context cr, double x, double y, double width, 
double height);
@@ -5892,26 +8257,34 @@ namespace Gtk {
                public virtual void render_option (Cairo.Context cr, double x, double y, double width, double 
height);
                [NoWrapper]
                public virtual void render_slider (Cairo.Context cr, double x, double y, double width, double 
height, Gtk.Orientation orientation);
-               [Version (deprecated_since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6", since = "3.0")]
                public bool state_is_running (Gtk.StateType state, out double progress);
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public string name { owned get; construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_toggle_action_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public class ToggleAction : Gtk.Action, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public ToggleAction (string name, string? label, string? tooltip, string? stock_id);
+               [Version (since = "2.4")]
                public bool get_active ();
+               [Version (since = "2.4")]
                public bool get_draw_as_radio ();
+               [Version (since = "2.4")]
                public void set_active (bool is_active);
+               [Version (since = "2.4")]
                public void set_draw_as_radio (bool draw_as_radio);
+               [Version (since = "2.10")]
                public bool active { get; set; }
                public bool draw_as_radio { get; set; }
                [HasEmitter]
                public virtual signal void toggled ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_toggle_button_get_type ()")]
-       public class ToggleButton : Gtk.Button, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable {
+       public class ToggleButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ToggleButton ();
                public bool get_active ();
@@ -5932,102 +8305,168 @@ namespace Gtk {
                public virtual signal void toggled ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = 
"gtk_toggle_button_accessible_get_type ()")]
-       public class ToggleButtonAccessible : Gtk.ButtonAccessible, Atk.Component, Atk.Action, Atk.Image {
+       public class ToggleButtonAccessible : Gtk.ButtonAccessible, Atk.Action, Atk.Component, Atk.Image {
                [CCode (has_construct_function = false)]
                protected ToggleButtonAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_toggle_tool_button_get_type ()")]
-       public class ToggleToolButton : Gtk.ToolButton, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       public class ToggleToolButton : Gtk.ToolButton, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (since = "2.4")]
                public ToggleToolButton ();
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public ToggleToolButton.from_stock (string stock_id);
+               [Version (since = "2.4")]
                public bool get_active ();
+               [Version (since = "2.4")]
                public void set_active (bool is_active);
+               [Version (since = "2.8")]
                public bool active { get; set; }
                public virtual signal void toggled ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tool_button_get_type ()")]
-       public class ToolButton : Gtk.ToolItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
+       public class ToolButton : Gtk.ToolItem, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (since = "2.4")]
                public ToolButton (Gtk.Widget? icon_widget, string? label);
                [CCode (has_construct_function = false, type = "GtkToolItem*")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public ToolButton.from_stock (string stock_id);
+               [Version (since = "2.8")]
                public unowned string? get_icon_name ();
+               [Version (since = "2.4")]
                public unowned Gtk.Widget? get_icon_widget ();
+               [Version (since = "2.4")]
                public unowned string? get_label ();
+               [Version (since = "2.4")]
                public unowned Gtk.Widget? get_label_widget ();
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public unowned string get_stock_id ();
+               [Version (since = "2.4")]
                public bool get_use_underline ();
+               [Version (since = "2.8")]
                public void set_icon_name (string? icon_name);
+               [Version (since = "2.4")]
                public void set_icon_widget (Gtk.Widget? icon_widget);
+               [Version (since = "2.4")]
                public void set_label (string? label);
+               [Version (since = "2.4")]
                public void set_label_widget (Gtk.Widget? label_widget);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.4")]
                public void set_stock_id (string? stock_id);
+               [Version (since = "2.4")]
                public void set_use_underline (bool use_underline);
+               [Version (since = "2.8")]
                public string icon_name { get; set; }
                public Gtk.Widget icon_widget { get; set; }
                public string label { get; set; }
                public Gtk.Widget label_widget { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string stock_id { get; set; }
                public bool use_underline { get; set; }
                public virtual signal void clicked ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tool_item_get_type ()")]
-       public class ToolItem : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.Activatable {
+       public class ToolItem : Gtk.Bin, Atk.Implementor, Gtk.Activatable, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public ToolItem ();
+               [Version (since = "2.20")]
                public Pango.EllipsizeMode get_ellipsize_mode ();
+               [Version (since = "2.4")]
                public bool get_expand ();
+               [Version (since = "2.4")]
                public bool get_homogeneous ();
+               [Version (since = "2.4")]
                public Gtk.IconSize get_icon_size ();
+               [Version (since = "2.4")]
                public bool get_is_important ();
+               [Version (since = "2.4")]
                public Gtk.Orientation get_orientation ();
+               [Version (since = "2.4")]
                public unowned Gtk.Widget get_proxy_menu_item (string menu_item_id);
+               [Version (since = "2.4")]
                public Gtk.ReliefStyle get_relief_style ();
+               [Version (since = "2.20")]
                public float get_text_alignment ();
+               [Version (since = "2.20")]
                public Gtk.Orientation get_text_orientation ();
+               [Version (since = "2.20")]
                public unowned Gtk.SizeGroup get_text_size_group ();
+               [Version (since = "2.4")]
                public Gtk.ToolbarStyle get_toolbar_style ();
+               [Version (since = "2.4")]
                public bool get_use_drag_window ();
+               [Version (since = "2.4")]
                public bool get_visible_horizontal ();
+               [Version (since = "2.4")]
                public bool get_visible_vertical ();
+               [Version (since = "2.6")]
                public void rebuild_menu ();
+               [Version (since = "2.4")]
                public unowned Gtk.Widget retrieve_proxy_menu_item ();
+               [Version (since = "2.4")]
                public void set_expand (bool expand);
+               [Version (since = "2.4")]
                public void set_homogeneous (bool homogeneous);
+               [Version (since = "2.4")]
                public void set_is_important (bool is_important);
+               [Version (since = "2.4")]
                public void set_proxy_menu_item (string menu_item_id, Gtk.Widget menu_item);
+               [Version (since = "2.12")]
                public void set_tooltip_markup (string markup);
+               [Version (since = "2.12")]
                public void set_tooltip_text (string text);
+               [Version (since = "2.4")]
                public void set_use_drag_window (bool use_drag_window);
+               [Version (since = "2.4")]
                public void set_visible_horizontal (bool visible_horizontal);
+               [Version (since = "2.4")]
                public void set_visible_vertical (bool visible_vertical);
                public bool is_important { get; set; }
                public bool visible_horizontal { get; set; }
                public bool visible_vertical { get; set; }
                public virtual signal bool create_menu_proxy ();
+               [HasEmitter]
                public virtual signal void toolbar_reconfigured ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tool_item_group_get_type ()")]
        public class ToolItemGroup : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.ToolShell {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.20")]
                public ToolItemGroup (string label);
+               [Version (since = "2.20")]
                public bool get_collapsed ();
+               [Version (since = "2.20")]
                public unowned Gtk.ToolItem get_drop_item (int x, int y);
+               [Version (since = "2.20")]
                public Pango.EllipsizeMode get_ellipsize ();
+               [Version (since = "2.20")]
                public Gtk.ReliefStyle get_header_relief ();
+               [Version (since = "2.20")]
                public int get_item_position (Gtk.ToolItem item);
+               [Version (since = "2.20")]
                public unowned string get_label ();
+               [Version (since = "2.20")]
                public unowned Gtk.Widget get_label_widget ();
+               [Version (since = "2.20")]
                public uint get_n_items ();
+               [Version (since = "2.20")]
                public unowned Gtk.ToolItem get_nth_item (uint index);
+               [Version (since = "2.20")]
                public void insert (Gtk.ToolItem item, int position);
+               [Version (since = "2.20")]
                public void set_collapsed (bool collapsed);
+               [Version (since = "2.20")]
                public void set_ellipsize (Pango.EllipsizeMode ellipsize);
+               [Version (since = "2.20")]
                public void set_header_relief (Gtk.ReliefStyle style);
+               [Version (since = "2.20")]
                public void set_item_position (Gtk.ToolItem item, int position);
+               [Version (since = "2.20")]
                public void set_label (string label);
+               [Version (since = "2.20")]
                public void set_label_widget (Gtk.Widget label_widget);
                public bool collapsed { get; set; }
                public Pango.EllipsizeMode ellipsize { get; set; }
@@ -6038,57 +8477,92 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tool_palette_get_type ()")]
        public class ToolPalette : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, 
Gtk.Scrollable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.20")]
                public ToolPalette ();
+               [Version (since = "2.20")]
                public void add_drag_dest (Gtk.Widget widget, Gtk.DestDefaults flags, 
Gtk.ToolPaletteDragTargets targets, Gdk.DragAction actions);
+               [Version (since = "2.20")]
                public unowned Gtk.Widget get_drag_item (Gtk.SelectionData selection);
-               public static Gtk.TargetEntry get_drag_target_group ();
-               public static Gtk.TargetEntry get_drag_target_item ();
+               [Version (since = "2.20")]
+               public static unowned Gtk.TargetEntry? get_drag_target_group ();
+               [Version (since = "2.20")]
+               public static unowned Gtk.TargetEntry? get_drag_target_item ();
+               [Version (since = "2.20")]
                public unowned Gtk.ToolItemGroup? get_drop_group (int x, int y);
+               [Version (since = "2.20")]
                public unowned Gtk.ToolItem? get_drop_item (int x, int y);
+               [Version (since = "2.20")]
                public bool get_exclusive (Gtk.ToolItemGroup group);
+               [Version (since = "2.20")]
                public bool get_expand (Gtk.ToolItemGroup group);
+               [Version (since = "2.20")]
                public int get_group_position (Gtk.ToolItemGroup group);
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.20")]
                public unowned Gtk.Adjustment get_hadjustment ();
+               [Version (since = "2.20")]
                public Gtk.IconSize get_icon_size ();
+               [Version (since = "2.20")]
                public Gtk.ToolbarStyle get_style ();
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.20")]
                public unowned Gtk.Adjustment get_vadjustment ();
+               [Version (since = "2.20")]
                public void set_drag_source (Gtk.ToolPaletteDragTargets targets);
+               [Version (since = "2.20")]
                public void set_exclusive (Gtk.ToolItemGroup group, bool exclusive);
+               [Version (since = "2.20")]
                public void set_expand (Gtk.ToolItemGroup group, bool expand);
+               [Version (since = "2.20")]
                public void set_group_position (Gtk.ToolItemGroup group, int position);
-               public void set_icon_size (Gtk.IconSize icon_size);
+               [Version (since = "2.20")]
+               public void set_icon_size ([CCode (type = "GtkIconSize")] Gtk.IconSize icon_size);
+               [Version (since = "2.20")]
                public void set_style (Gtk.ToolbarStyle style);
+               [Version (since = "2.20")]
                public void unset_icon_size ();
+               [Version (since = "2.20")]
                public void unset_style ();
+               [Version (since = "2.20")]
                public Gtk.IconSize icon_size { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.20")]
                public bool icon_size_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.20")]
                public Gtk.ToolbarStyle toolbar_style { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_toolbar_get_type ()")]
-       public class Toolbar : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.ToolShell, Gtk.Orientable {
+       public class Toolbar : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Orientable, Gtk.ToolShell {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Toolbar ();
+               [Version (since = "2.4")]
                public int get_drop_index (int x, int y);
+               [Version (since = "2.4")]
                public int get_item_index (Gtk.ToolItem item);
+               [Version (since = "2.4")]
                public int get_n_items ();
+               [Version (since = "2.4")]
                public unowned Gtk.ToolItem? get_nth_item (int n);
+               [Version (since = "2.4")]
                public bool get_show_arrow ();
+               [Version (since = "2.4")]
                public void insert (Gtk.ToolItem item, int pos);
+               [Version (since = "2.4")]
                public void set_drop_highlight_item (Gtk.ToolItem? tool_item, int index_);
                public void set_icon_size (Gtk.IconSize icon_size);
+               [Version (since = "2.4")]
                public void set_show_arrow (bool show_arrow);
                public void set_style (Gtk.ToolbarStyle style);
                public void unset_icon_size ();
                public void unset_style ();
+               [Version (since = "2.10")]
                public Gtk.IconSize icon_size { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.10")]
                public bool icon_size_set { get; set; }
                public bool show_arrow { get; set; }
                [NoAccessorMethod]
                public Gtk.ToolbarStyle toolbar_style { get; set; }
-               public virtual signal bool focus_home_or_end (bool p0);
+               public signal bool focus_home_or_end (bool focus_home);
                public virtual signal void orientation_changed (Gtk.Orientation orientation);
                public virtual signal bool popup_context_menu (int x, int y, int button_number);
                public virtual signal void style_changed (Gtk.ToolbarStyle style);
@@ -6097,14 +8571,23 @@ namespace Gtk {
        public class Tooltip : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Tooltip ();
+               [Version (since = "2.12")]
                public void set_custom (Gtk.Widget? custom_widget);
+               [Version (since = "2.12")]
                public void set_icon (Gdk.Pixbuf? pixbuf);
-               public void set_icon_from_gicon (GLib.Icon? gicon, Gtk.IconSize size);
-               public void set_icon_from_icon_name (string? icon_name, Gtk.IconSize size);
-               public void set_icon_from_stock (string? stock_id, Gtk.IconSize size);
+               [Version (since = "2.20")]
+               public void set_icon_from_gicon (GLib.Icon? gicon, int size);
+               [Version (since = "2.14")]
+               public void set_icon_from_icon_name (string? icon_name, int size);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.12")]
+               public void set_icon_from_stock (string? stock_id, int size);
+               [Version (since = "2.12")]
                public void set_markup (string? markup);
+               [Version (since = "2.12")]
                public void set_text (string? text);
+               [Version (since = "2.12")]
                public void set_tip_area (Gdk.Rectangle rect);
+               [Version (since = "2.12")]
                public static void trigger_tooltip_query (Gdk.Display display);
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_toplevel_accessible_get_type 
()")]
@@ -6114,20 +8597,31 @@ namespace Gtk {
                public unowned GLib.List<Gtk.Window> get_children ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_model_filter_get_type ()")]
-       public class TreeModelFilter : GLib.Object, Gtk.TreeModel, Gtk.TreeDragSource {
+       public class TreeModelFilter : GLib.Object, Gtk.TreeDragSource, Gtk.TreeModel {
                [CCode (has_construct_function = false, type = "GtkTreeModel*")]
+               [Version (since = "2.4")]
                public TreeModelFilter (Gtk.TreeModel child_model, Gtk.TreePath? root);
+               [Version (since = "2.4")]
                public void clear_cache ();
+               [Version (since = "2.4")]
                public bool convert_child_iter_to_iter (out Gtk.TreeIter filter_iter, Gtk.TreeIter 
child_iter);
+               [Version (since = "2.4")]
                public Gtk.TreePath? convert_child_path_to_path (Gtk.TreePath child_path);
+               [Version (since = "2.4")]
                public void convert_iter_to_child_iter (out Gtk.TreeIter child_iter, Gtk.TreeIter 
filter_iter);
+               [Version (since = "2.4")]
                public Gtk.TreePath? convert_path_to_child_path (Gtk.TreePath filter_path);
+               [Version (since = "2.4")]
                public unowned Gtk.TreeModel get_model ();
                [NoWrapper]
                public virtual void modify (Gtk.TreeModel child_model, Gtk.TreeIter iter, GLib.Value value, 
int column);
+               [Version (since = "2.4")]
                public void refilter ();
-               public void set_modify_func ([CCode (array_length_pos = 0.9)] GLib.Type[] types, owned 
Gtk.TreeModelFilterModifyFunc func);
+               [Version (since = "2.4")]
+               public void set_modify_func ([CCode (array_length_cname = "n_columns", array_length_pos = 
0.5)] GLib.Type[] types, owned Gtk.TreeModelFilterModifyFunc func);
+               [Version (since = "2.4")]
                public void set_visible_column (int column);
+               [Version (since = "2.4")]
                public void set_visible_func (owned Gtk.TreeModelFilterVisibleFunc func);
                [NoWrapper]
                public virtual bool visible (Gtk.TreeModel child_model, Gtk.TreeIter iter);
@@ -6137,7 +8631,7 @@ namespace Gtk {
                public Gtk.TreePath virtual_root { owned get; construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_model_sort_get_type ()")]
-       public class TreeModelSort : GLib.Object, Gtk.TreeModel, Gtk.TreeSortable, Gtk.TreeDragSource {
+       public class TreeModelSort : GLib.Object, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable {
                [CCode (has_construct_function = false)]
                protected TreeModelSort ();
                public void clear_cache ();
@@ -6146,15 +8640,15 @@ namespace Gtk {
                public void convert_iter_to_child_iter (out Gtk.TreeIter child_iter, Gtk.TreeIter 
sorted_iter);
                public Gtk.TreePath? convert_path_to_child_path (Gtk.TreePath sorted_path);
                public unowned Gtk.TreeModel get_model ();
+               [Version (since = "2.2")]
                public bool iter_is_valid (Gtk.TreeIter iter);
                public void reset_default_sort_func ();
                [CCode (has_construct_function = false, type = "GtkTreeModel*")]
                public TreeModelSort.with_model (Gtk.TreeModel child_model);
                public Gtk.TreeModel model { get; construct; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h", const_cname = "GtkTreePath", copy_function = 
"gtk_tree_path_copy", type_id = "gtk_tree_path_get_type ()")]
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_tree_path_get_type ()")]
        [Compact]
-       [Immutable]
        public class TreePath {
                [CCode (has_construct_function = false)]
                public TreePath ();
@@ -6164,14 +8658,18 @@ namespace Gtk {
                public void down ();
                [CCode (has_construct_function = false)]
                public TreePath.first ();
+               public void free ();
                [CCode (has_construct_function = false, sentinel = "-1")]
+               [Version (since = "2.2")]
                public TreePath.from_indices (...);
                [CCode (has_construct_function = false)]
-               public TreePath.from_indicesv ([CCode (array_length_pos = 1.9)] int[] indices);
+               [Version (since = "3.12")]
+               public TreePath.from_indicesv ([CCode (array_length_cname = "length", array_length_pos = 1.1, 
array_length_type = "gsize")] int[] indices);
                [CCode (has_construct_function = false)]
                public TreePath.from_string (string path);
                public int get_depth ();
-               [CCode (cname = "gtk_tree_path_get_indices_with_depth")]
+               [CCode (array_length_pos = 0.1, cname = "gtk_tree_path_get_indices_with_depth")]
+               [Version (since = "3.0")]
                public unowned int[] get_indices ();
                public bool is_ancestor (Gtk.TreePath descendant);
                public bool is_descendant (Gtk.TreePath ancestor);
@@ -6181,33 +8679,38 @@ namespace Gtk {
                public string to_string ();
                public bool up ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "gtk_tree_row_reference_copy", type_id = 
"gtk_tree_row_reference_get_type ()")]
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_tree_row_reference_get_type ()")]
        [Compact]
-       [Immutable]
        public class TreeRowReference {
                [CCode (has_construct_function = false)]
                public TreeRowReference (Gtk.TreeModel model, Gtk.TreePath path);
+               [Version (since = "2.2")]
                public Gtk.TreeRowReference copy ();
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static void deleted (GLib.Object proxy, Gtk.TreePath path);
+               public void free ();
+               [Version (since = "2.8")]
                public unowned Gtk.TreeModel get_model ();
                public Gtk.TreePath? get_path ();
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static void inserted (GLib.Object proxy, Gtk.TreePath path);
                [CCode (has_construct_function = false)]
                public TreeRowReference.proxy (GLib.Object proxy, Gtk.TreeModel model, Gtk.TreePath path);
-               public static void reordered (GLib.Object proxy, Gtk.TreePath path, Gtk.TreeIter iter, int[] 
new_order);
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               public static void reordered (GLib.Object proxy, Gtk.TreePath path, Gtk.TreeIter iter, [CCode 
(array_length = false)] int[] new_order);
                public bool valid ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_selection_get_type ()")]
        public class TreeSelection : GLib.Object {
                [CCode (has_construct_function = false)]
                protected TreeSelection ();
+               [Version (since = "2.2")]
                public int count_selected_rows ();
                public Gtk.SelectionMode get_mode ();
-               public unowned Gtk.TreeSelectionFunc get_select_function ();
                public bool get_selected (out unowned Gtk.TreeModel model, out Gtk.TreeIter iter);
+               [Version (since = "2.2")]
                public GLib.List<Gtk.TreePath> get_selected_rows (out unowned Gtk.TreeModel model);
                public unowned Gtk.TreeView get_tree_view ();
-               public void* get_user_data ();
                public bool iter_is_selected (Gtk.TreeIter iter);
                public bool path_is_selected (Gtk.TreePath path);
                public void select_all ();
@@ -6220,12 +8723,14 @@ namespace Gtk {
                public void unselect_all ();
                public void unselect_iter (Gtk.TreeIter iter);
                public void unselect_path (Gtk.TreePath path);
+               [Version (since = "2.2")]
                public void unselect_range (Gtk.TreePath start_path, Gtk.TreePath end_path);
+               [Version (since = "3.2")]
                public Gtk.SelectionMode mode { get; set; }
                public virtual signal void changed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_store_get_type ()")]
-       public class TreeStore : GLib.Object, Gtk.TreeModel, Gtk.TreeDragSource, Gtk.TreeDragDest, 
Gtk.TreeSortable, Gtk.Buildable {
+       public class TreeStore : GLib.Object, Gtk.Buildable, Gtk.TreeDragDest, Gtk.TreeDragSource, 
Gtk.TreeModel, Gtk.TreeSortable {
                [CCode (has_construct_function = false, sentinel = "")]
                public TreeStore (int n_columns, ...);
                public void append (out Gtk.TreeIter iter, Gtk.TreeIter? parent);
@@ -6234,24 +8739,32 @@ namespace Gtk {
                public void insert_after (out Gtk.TreeIter iter, Gtk.TreeIter? parent, Gtk.TreeIter? sibling);
                public void insert_before (out Gtk.TreeIter iter, Gtk.TreeIter? parent, Gtk.TreeIter? 
sibling);
                [CCode (sentinel = "-1")]
+               [Version (since = "2.10")]
                public void insert_with_values (out Gtk.TreeIter iter, Gtk.TreeIter? parent, int position, 
...);
-               public void insert_with_valuesv (out Gtk.TreeIter iter, Gtk.TreeIter? parent, int position, 
[CCode (array_length_pos = 5.1)] int[] columns, [CCode (array_length_pos = 5.1)] GLib.Value[] values);
+               [Version (since = "2.10")]
+               public void insert_with_valuesv (out Gtk.TreeIter iter, Gtk.TreeIter? parent, int position, 
[CCode (array_length_cname = "n_values", array_length_pos = 5.1)] int[] columns, [CCode (array_length_cname = 
"n_values", array_length_pos = 5.1)] GLib.Value[] values);
                public bool is_ancestor (Gtk.TreeIter iter, Gtk.TreeIter descendant);
                public int iter_depth (Gtk.TreeIter iter);
+               [Version (since = "2.2")]
                public bool iter_is_valid (Gtk.TreeIter iter);
+               [Version (since = "2.2")]
                public void move_after (ref Gtk.TreeIter iter, Gtk.TreeIter? position);
+               [Version (since = "2.2")]
                public void move_before (ref Gtk.TreeIter iter, Gtk.TreeIter? position);
                [CCode (cname = "gtk_tree_store_newv", has_construct_function = false)]
-               public TreeStore.newv ([CCode (array_length_pos = 0.9)] GLib.Type[] types);
+               public TreeStore.newv ([CCode (array_length_cname = "n_columns", array_length_pos = 0.5)] 
GLib.Type[] types);
                public void prepend (out Gtk.TreeIter iter, Gtk.TreeIter? parent);
                public bool remove (ref Gtk.TreeIter iter);
+               [Version (since = "2.2")]
                public void reorder (Gtk.TreeIter? parent, [CCode (array_length = false)] int[] new_order);
                [CCode (sentinel = "-1")]
                public void @set (Gtk.TreeIter iter, ...);
-               public void set_column_types ([CCode (array_length_pos = 0.9)] GLib.Type[] types);
-               public void set_valist (Gtk.TreeIter iter, va_list var_args);
+               public void set_column_types ([CCode (array_length_cname = "n_columns", array_length_pos = 
0.5)] GLib.Type[] types);
+               public void set_valist (Gtk.TreeIter iter, [CCode (type = "va_list")] va_list var_args);
                public void set_value (Gtk.TreeIter iter, int column, GLib.Value value);
-               public void set_valuesv (Gtk.TreeIter iter, [CCode (array_length_pos = 3.1)] int[] columns, 
[CCode (array_length_pos = 3.1)] GLib.Value[] values);
+               [Version (since = "2.12")]
+               public void set_valuesv (Gtk.TreeIter iter, [CCode (array_length_cname = "n_values", 
array_length_pos = 3.1)] int[] columns, [CCode (array_length_cname = "n_values", array_length_pos = 3.1)] 
GLib.Value[] values);
+               [Version (since = "2.2")]
                public void swap (Gtk.TreeIter a, Gtk.TreeIter b);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_view_get_type ()")]
@@ -6262,18 +8775,26 @@ namespace Gtk {
                public void collapse_all ();
                public bool collapse_row (Gtk.TreePath path);
                public void columns_autosize ();
+               [Version (since = "2.12")]
                public void convert_bin_window_to_tree_coords (int bx, int by, out int tx, out int ty);
+               [Version (since = "2.12")]
                public void convert_bin_window_to_widget_coords (int bx, int by, out int wx, out int wy);
+               [Version (since = "2.12")]
                public void convert_tree_to_bin_window_coords (int tx, int ty, out int bx, out int by);
+               [Version (since = "2.12")]
                public void convert_tree_to_widget_coords (int tx, int ty, out int wx, out int wy);
+               [Version (since = "2.12")]
                public void convert_widget_to_bin_window_coords (int wx, int wy, out int bx, out int by);
+               [Version (since = "2.12")]
                public void convert_widget_to_tree_coords (int wx, int wy, out int tx, out int ty);
                public Cairo.Surface create_row_drag_icon (Gtk.TreePath path);
-               public void enable_model_drag_dest (Gtk.TargetEntry[] targets, Gdk.DragAction actions);
-               public void enable_model_drag_source (Gdk.ModifierType start_button_mask, Gtk.TargetEntry[] 
targets, Gdk.DragAction actions);
+               public void enable_model_drag_dest ([CCode (array_length_cname = "n_targets", 
array_length_pos = 1.5)] Gtk.TargetEntry[] targets, Gdk.DragAction actions);
+               public void enable_model_drag_source (Gdk.ModifierType start_button_mask, [CCode 
(array_length_cname = "n_targets", array_length_pos = 2.5)] Gtk.TargetEntry[] targets, Gdk.DragAction 
actions);
                public void expand_all ();
                public bool expand_row (Gtk.TreePath path, bool open_all);
+               [Version (since = "2.2")]
                public void expand_to_path (Gtk.TreePath path);
+               [Version (since = "3.8")]
                public bool get_activate_on_single_click ();
                public void get_background_area (Gtk.TreePath? path, Gtk.TreeViewColumn? column, out 
Gdk.Rectangle rect);
                public unowned Gdk.Window? get_bin_window ();
@@ -6284,98 +8805,146 @@ namespace Gtk {
                public bool get_dest_row_at_pos (int drag_x, int drag_y, out Gtk.TreePath? path, out 
Gtk.TreeViewDropPosition pos);
                public void get_drag_dest_row (out Gtk.TreePath? path, out Gtk.TreeViewDropPosition pos);
                public bool get_enable_search ();
+               [Version (since = "2.10")]
                public bool get_enable_tree_lines ();
                public unowned Gtk.TreeViewColumn get_expander_column ();
+               [Version (since = "2.6")]
                public bool get_fixed_height_mode ();
+               [Version (since = "2.10")]
                public Gtk.TreeViewGridLines get_grid_lines ();
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public unowned Gtk.Adjustment get_hadjustment ();
+               [Version (since = "2.10")]
                public bool get_headers_clickable ();
                public bool get_headers_visible ();
+               [Version (since = "2.6")]
                public bool get_hover_expand ();
+               [Version (since = "2.6")]
                public bool get_hover_selection ();
+               [Version (since = "2.12")]
                public int get_level_indentation ();
                public unowned Gtk.TreeModel? get_model ();
+               [Version (since = "3.4")]
                public uint get_n_columns ();
                public bool get_path_at_pos (int x, int y, out Gtk.TreePath? path, out unowned 
Gtk.TreeViewColumn? column, out int cell_x, out int cell_y);
                public bool get_reorderable ();
+               [Version (since = "2.6")]
                public unowned Gtk.TreeViewRowSeparatorFunc get_row_separator_func ();
+               [Version (since = "2.10")]
                public bool get_rubber_banding ();
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public bool get_rules_hint ();
                public int get_search_column ();
+               [Version (since = "2.10")]
                public unowned Gtk.Entry get_search_entry ();
                public unowned Gtk.TreeViewSearchEqualFunc get_search_equal_func ();
+               [Version (since = "2.10")]
                public unowned Gtk.TreeViewSearchPositionFunc get_search_position_func ();
                public unowned Gtk.TreeSelection get_selection ();
+               [Version (since = "2.12")]
                public bool get_show_expanders ();
+               [Version (since = "2.12")]
                public int get_tooltip_column ();
+               [Version (since = "2.12")]
                public bool get_tooltip_context (ref int x, ref int y, bool keyboard_tip, out unowned 
Gtk.TreeModel? model, out Gtk.TreePath path, out Gtk.TreeIter iter);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public unowned Gtk.Adjustment get_vadjustment ();
+               [Version (since = "2.8")]
                public bool get_visible_range (out Gtk.TreePath start_path, out Gtk.TreePath end_path);
                public void get_visible_rect (out Gdk.Rectangle visible_rect);
                public int insert_column (Gtk.TreeViewColumn column, int position);
-               public int insert_column_with_attributes (int position, string? title, Gtk.CellRenderer cell, 
...);
+               public int insert_column_with_attributes (int position, string title, Gtk.CellRenderer cell, 
...);
                public int insert_column_with_data_func (int position, string title, Gtk.CellRenderer cell, 
owned Gtk.TreeCellDataFunc func);
+               [Version (since = "3.0")]
                public bool is_blank_at_pos (int x, int y, out Gtk.TreePath path, out Gtk.TreeViewColumn 
column, out int cell_x, out int cell_y);
                [CCode (cname = "gtk_tree_view_row_expanded")]
                public bool is_row_expanded (Gtk.TreePath path);
+               [Version (since = "2.12")]
                public bool is_rubber_banding_active ();
                public void map_expanded_rows (Gtk.TreeViewMappingFunc func);
                public void move_column_after (Gtk.TreeViewColumn column, Gtk.TreeViewColumn? base_column);
                public int remove_column (Gtk.TreeViewColumn column);
                public void scroll_to_cell (Gtk.TreePath? path, Gtk.TreeViewColumn? column, bool use_align, 
float row_align, float col_align);
                public void scroll_to_point (int tree_x, int tree_y);
+               [Version (since = "3.8")]
                public void set_activate_on_single_click (bool single);
                public void set_column_drag_function (owned Gtk.TreeViewColumnDropFunc? func);
                public void set_cursor (Gtk.TreePath path, Gtk.TreeViewColumn? focus_column, bool 
start_editing);
+               [Version (since = "2.2")]
                public void set_cursor_on_cell (Gtk.TreePath path, Gtk.TreeViewColumn? focus_column, 
Gtk.CellRenderer? focus_cell, bool start_editing);
+               [Version (deprecated = true, deprecated_since = "3.4")]
                public void set_destroy_count_func (owned Gtk.TreeDestroyCountFunc? func);
                public void set_drag_dest_row (Gtk.TreePath? path, Gtk.TreeViewDropPosition pos);
                public void set_enable_search (bool enable_search);
+               [Version (since = "2.10")]
                public void set_enable_tree_lines (bool enabled);
                public void set_expander_column (Gtk.TreeViewColumn column);
+               [Version (since = "2.6")]
                public void set_fixed_height_mode (bool enable);
+               [Version (since = "2.10")]
                public void set_grid_lines (Gtk.TreeViewGridLines grid_lines);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_hadjustment (Gtk.Adjustment? adjustment);
                public void set_headers_clickable (bool setting);
                public void set_headers_visible (bool headers_visible);
+               [Version (since = "2.6")]
                public void set_hover_expand (bool expand);
+               [Version (since = "2.6")]
                public void set_hover_selection (bool hover);
+               [Version (since = "2.12")]
                public void set_level_indentation (int indentation);
                public void set_model (Gtk.TreeModel? model);
                public void set_reorderable (bool reorderable);
+               [Version (since = "2.6")]
                public void set_row_separator_func (owned Gtk.TreeViewRowSeparatorFunc? func);
+               [Version (since = "2.10")]
                public void set_rubber_banding (bool enable);
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public void set_rules_hint (bool setting);
                public void set_search_column (int column);
+               [Version (since = "2.10")]
                public void set_search_entry (Gtk.Entry? entry);
                public void set_search_equal_func (owned Gtk.TreeViewSearchEqualFunc search_equal_func);
+               [Version (since = "2.10")]
                public void set_search_position_func (owned Gtk.TreeViewSearchPositionFunc? func);
+               [Version (since = "2.12")]
                public void set_show_expanders (bool enabled);
+               [Version (since = "2.12")]
                public void set_tooltip_cell (Gtk.Tooltip tooltip, Gtk.TreePath? path, Gtk.TreeViewColumn? 
column, Gtk.CellRenderer? cell);
+               [Version (since = "2.12")]
                public void set_tooltip_column (int column);
+               [Version (since = "2.12")]
                public void set_tooltip_row (Gtk.Tooltip tooltip, Gtk.TreePath path);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_vadjustment (Gtk.Adjustment? adjustment);
                public void unset_rows_drag_dest ();
                public void unset_rows_drag_source ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public TreeView.with_model (Gtk.TreeModel model);
+               [Version (since = "3.8")]
                public bool activate_on_single_click { get; set; }
                [NoAccessorMethod]
                public Gtk.TreeViewGridLines enable_grid_lines { get; set; }
                public bool enable_search { get; set; }
                public bool enable_tree_lines { get; set; }
                public Gtk.TreeViewColumn expander_column { get; set; }
+               [Version (since = "2.4")]
                public bool fixed_height_mode { get; set; }
                public bool headers_clickable { get; set; }
                public bool headers_visible { get; set; }
+               [Version (since = "2.6")]
                public bool hover_expand { get; set; }
+               [Version (since = "2.6")]
                public bool hover_selection { get; set; }
+               [Version (since = "2.12")]
                public int level_indentation { get; set; }
                public Gtk.TreeModel model { get; set; }
                public bool reorderable { get; set; }
                public bool rubber_banding { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public bool rules_hint { get; set; }
                public int search_column { get; set; }
+               [Version (since = "2.12")]
                public bool show_expanders { get; set; }
                public int tooltip_column { get; set; }
                public virtual signal void columns_changed ();
@@ -6396,22 +8965,25 @@ namespace Gtk {
                public virtual signal bool unselect_all ();
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_tree_view_accessible_get_type 
()")]
-       public class TreeViewAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.Table, Atk.Selection, 
Gtk.CellAccessibleParent {
+       public class TreeViewAccessible : Gtk.ContainerAccessible, Atk.Component, Atk.Selection, Atk.Table, 
Gtk.CellAccessibleParent {
                [CCode (has_construct_function = false)]
                protected TreeViewAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_view_column_get_type ()")]
-       public class TreeViewColumn : GLib.InitiallyUnowned, Gtk.CellLayout, Gtk.Buildable {
+       public class TreeViewColumn : GLib.InitiallyUnowned, Gtk.Buildable, Gtk.CellLayout {
                [CCode (has_construct_function = false)]
                public TreeViewColumn ();
                public bool cell_get_position (Gtk.CellRenderer cell_renderer, out int x_offset, out int 
width);
                public void cell_get_size (Gdk.Rectangle? cell_area, out int x_offset, out int y_offset, out 
int width, out int height);
                public bool cell_is_visible ();
                public void cell_set_cell_data (Gtk.TreeModel tree_model, Gtk.TreeIter iter, bool 
is_expander, bool is_expanded);
+               [Version (since = "2.2")]
                public void focus_cell (Gtk.CellRenderer cell);
                public float get_alignment ();
+               [Version (since = "3.0")]
                public unowned Gtk.Widget get_button ();
                public bool get_clickable ();
+               [Version (since = "2.4")]
                public bool get_expand ();
                public int get_fixed_width ();
                public int get_max_width ();
@@ -6424,15 +8996,19 @@ namespace Gtk {
                public Gtk.SortType get_sort_order ();
                public int get_spacing ();
                public unowned string get_title ();
+               [Version (since = "2.12")]
                public unowned Gtk.Widget? get_tree_view ();
                public bool get_visible ();
                public unowned Gtk.Widget? get_widget ();
                public int get_width ();
+               [Version (since = "3.2")]
                public int get_x_offset ();
+               [Version (since = "2.8")]
                public void queue_resize ();
                public void set_alignment (float xalign);
                public void set_attributes (Gtk.CellRenderer cell_renderer, ...);
                public void set_clickable (bool clickable);
+               [Version (since = "2.4")]
                public void set_expand (bool expand);
                public void set_fixed_width (int fixed_width);
                public void set_max_width (int max_width);
@@ -6448,11 +9024,13 @@ namespace Gtk {
                public void set_visible (bool visible);
                public void set_widget (Gtk.Widget? widget);
                [CCode (has_construct_function = false)]
+               [Version (since = "3.0")]
                public TreeViewColumn.with_area (Gtk.CellArea area);
                [CCode (has_construct_function = false)]
-               public TreeViewColumn.with_attributes (string? title, Gtk.CellRenderer cell, ...);
+               public TreeViewColumn.with_attributes (string title, Gtk.CellRenderer cell, ...);
                public float alignment { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gtk.CellArea cell_area { owned get; construct; }
                public bool clickable { get; set; }
                public bool expand { get; set; }
@@ -6462,6 +9040,7 @@ namespace Gtk {
                public bool reorderable { get; set; }
                public bool resizable { get; set; }
                public Gtk.TreeViewColumnSizing sizing { get; set; }
+               [Version (since = "2.18")]
                public int sort_column_id { get; set; }
                public bool sort_indicator { get; set; }
                public Gtk.SortType sort_order { get; set; }
@@ -6475,70 +9054,95 @@ namespace Gtk {
                public virtual signal void clicked ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_ui_manager_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public class UIManager : GLib.Object, Gtk.Buildable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public UIManager ();
+               [Version (since = "2.4")]
                public void add_ui (uint merge_id, string path, string name, string? action, 
Gtk.UIManagerItemType type, bool top);
+               [Version (since = "2.4")]
                public uint add_ui_from_file (string filename) throws GLib.Error;
+               [Version (since = "3.4")]
                public uint add_ui_from_resource (string resource_path) throws GLib.Error;
+               [Version (since = "2.4")]
                public uint add_ui_from_string (string buffer, ssize_t length) throws GLib.Error;
+               [Version (since = "2.4")]
                public void ensure_update ();
+               [Version (since = "2.4")]
                public unowned Gtk.AccelGroup get_accel_group ();
+               [Version (since = "2.4")]
                public virtual unowned Gtk.Action get_action (string path);
+               [Version (since = "2.4")]
                public unowned GLib.List<Gtk.ActionGroup> get_action_groups ();
-               [Version (deprecated_since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public bool get_add_tearoffs ();
+               [Version (since = "2.4")]
                public GLib.SList<weak Gtk.Widget> get_toplevels (Gtk.UIManagerItemType types);
+               [Version (since = "2.4")]
                public string get_ui ();
+               [Version (since = "2.4")]
                public virtual unowned Gtk.Widget get_widget (string path);
+               [Version (since = "2.4")]
                public void insert_action_group (Gtk.ActionGroup action_group, int pos);
+               [Version (since = "2.4")]
                public uint new_merge_id ();
+               [Version (since = "2.4")]
                public void remove_action_group (Gtk.ActionGroup action_group);
+               [Version (since = "2.4")]
                public void remove_ui (uint merge_id);
-               [Version (deprecated_since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public void set_add_tearoffs (bool add_tearoffs);
-               [Version (deprecated_since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4", since = "2.4")]
                public bool add_tearoffs { get; set; }
                public string ui { owned get; }
+               [Version (since = "2.4")]
                public virtual signal void actions_changed ();
+               [Version (since = "2.4")]
                public virtual signal void add_widget (Gtk.Widget widget);
+               [Version (since = "2.4")]
                public virtual signal void connect_proxy (Gtk.Action action, Gtk.Widget proxy);
+               [Version (since = "2.4")]
                public virtual signal void disconnect_proxy (Gtk.Action action, Gtk.Widget proxy);
+               [Version (since = "2.4")]
                public virtual signal void post_activate (Gtk.Action action);
+               [Version (since = "2.4")]
                public virtual signal void pre_activate (Gtk.Action action);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vbox_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "Box")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Box")]
        public class VBox : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public VBox (bool homogeneous, int spacing);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vbutton_box_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "ButtonBox")]
        public class VButtonBox : Gtk.ButtonBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public VButtonBox ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vpaned_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "Paned")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Paned")]
        public class VPaned : Gtk.Paned, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public VPaned ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vscale_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "Scale")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Scale")]
        public class VScale : Gtk.Scale, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public VScale (Gtk.Adjustment? adjustment);
+               public VScale (Gtk.Adjustment adjustment);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public VScale.with_range (double min, double max, double step);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vscrollbar_get_type ()")]
-       [Version (deprecated_since = "3.2", replacement = "Scrollbar")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Scrollbar")]
        public class VScrollbar : Gtk.Scrollbar, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public VScrollbar (Gtk.Adjustment? adjustment);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vseparator_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.2", replacement = "Separator")]
        public class VSeparator : Gtk.Separator, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public VSeparator ();
@@ -6547,33 +9151,43 @@ namespace Gtk {
        public class Viewport : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.Scrollable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Viewport (Gtk.Adjustment? hadjustment, Gtk.Adjustment? vadjustment);
+               [Version (since = "2.20")]
                public unowned Gdk.Window get_bin_window ();
-               public unowned Gtk.Adjustment? get_hadjustment ();
+               [Version (deprecated = true, deprecated_since = "3.0")]
+               public unowned Gtk.Adjustment get_hadjustment ();
                public Gtk.ShadowType get_shadow_type ();
-               public unowned Gtk.Adjustment? get_vadjustment ();
+               [Version (deprecated = true, deprecated_since = "3.0")]
+               public unowned Gtk.Adjustment get_vadjustment ();
+               [Version (since = "2.22")]
                public unowned Gdk.Window get_view_window ();
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_hadjustment (Gtk.Adjustment? adjustment);
                public void set_shadow_type (Gtk.ShadowType type);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_vadjustment (Gtk.Adjustment? adjustment);
                public Gtk.ShadowType shadow_type { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_volume_button_get_type ()")]
-       public class VolumeButton : Gtk.ScaleButton, Atk.Implementor, Gtk.Buildable, Gtk.Actionable, 
Gtk.Activatable, Gtk.Orientable {
+       public class VolumeButton : Gtk.ScaleButton, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, 
Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.12")]
                public VolumeButton ();
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool use_symbolic { get; set construct; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_widget_get_type ()")]
-       public class Widget : GLib.InitiallyUnowned, Atk.Implementor, Gtk.Buildable {
-               public class uint activate_signal;
-               [CCode (construct_function = "gtk_widget_new", has_new_function = false)]
-               public Widget (...);
+       public class Widget : GLib.Object, Atk.Implementor, Gtk.Buildable {
+               [CCode (has_construct_function = false)]
+               public Widget (GLib.Type type, ...);
                public bool activate ();
                public void add_accelerator (string accel_signal, Gtk.AccelGroup accel_group, uint accel_key, 
Gdk.ModifierType accel_mods, Gtk.AccelFlags accel_flags);
+               [Version (since = "3.0")]
                public void add_device_events (Gdk.Device device, Gdk.EventMask events);
                public void add_events (int events);
+               [Version (since = "2.4")]
                public void add_mnemonic_label (Gtk.Widget label);
+               [Version (since = "3.8")]
                public uint add_tick_callback (owned Gtk.TickCallback callback);
                [NoWrapper]
                public virtual void adjust_baseline_allocation (int baseline);
@@ -6584,141 +9198,210 @@ namespace Gtk {
                [NoWrapper]
                public virtual void adjust_size_request (Gtk.Orientation orientation, ref int minimum_size, 
ref int natural_size);
                [CCode (cname = "gtk_widget_class_bind_template_callback_full")]
+               [Version (since = "3.10")]
                public class void bind_template_callback_full (string callback_name, [CCode (scope = 
"async")] GLib.Callback callback_symbol);
                [CCode (cname = "gtk_widget_class_bind_template_child_full")]
+               [Version (since = "3.10")]
                public class void bind_template_child_full (string name, bool internal_child, ssize_t 
struct_offset);
                public bool child_focus (Gtk.DirectionType direction);
-               [Version (deprecated_since = "3.0", replacement = "get_path")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "get_path")]
                public void class_path (out uint path_length, out string path, out string path_reversed);
-               public virtual bool compute_expand (Gtk.Orientation orientation);
+               public bool compute_expand (Gtk.Orientation orientation);
                [CCode (vfunc_name = "compute_expand")]
                [NoWrapper]
-               public virtual void compute_expand_internal (out bool hexpand, out bool vexpand);
+               public virtual void compute_expand_internal (out bool hexpand_p, out bool vexpand_p);
                public Pango.Context create_pango_context ();
                public Pango.Layout create_pango_layout (string? text);
-               public void destroyed (out unowned Gtk.Widget widget_pointer);
+               public void destroyed (ref unowned Gtk.Widget widget_pointer);
+               [Version (since = "3.0")]
                public bool device_is_shadowed (Gdk.Device device);
                [NoWrapper]
-               public virtual void dispatch_child_properties_changed ([CCode (array_length_pos = 0.5)] 
GLib.ParamSpec[] pspecs);
-               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
+               public virtual void dispatch_child_properties_changed ([CCode (array_length_cname = 
"n_pspecs", array_length_pos = 0.5, array_length_type = "guint", type = "GParamSpec**")] GLib.ParamSpec[] 
pspecs);
+               [CCode (cname = "gtk_widget_draw")]
+               [Version (since = "3.0")]
+               public void draw_to_cairo_context (Cairo.Context cr);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void ensure_style ();
+               [Version (since = "2.12")]
                public void error_bell ();
                [CCode (cname = "gtk_widget_class_find_style_property")]
+               [Version (since = "2.2")]
                public class unowned GLib.ParamSpec find_style_property (string property_name);
                public void freeze_child_notify ();
                public virtual unowned Atk.Object get_accessible ();
+               [Version (since = "3.16")]
                public unowned GLib.ActionGroup? get_action_group (string prefix);
+               [Version (since = "3.10")]
                public int get_allocated_baseline ();
                public int get_allocated_height ();
+               [Version (since = "3.20")]
                public void get_allocated_size (out Gtk.Allocation allocation, out int baseline);
                public int get_allocated_width ();
+               [Version (since = "2.18")]
                public void get_allocation (out Gtk.Allocation allocation);
                public unowned Gtk.Widget? get_ancestor (GLib.Type widget_type);
+               [Version (since = "2.18")]
                public bool get_app_paintable ();
+               [Version (since = "2.18")]
                public bool get_can_default ();
+               [Version (since = "2.18")]
                public bool get_can_focus ();
-               [Version (deprecated_since = "3.0", replacement = "get_preferred_size")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void get_child_requisition (out Gtk.Requisition requisition);
                public bool get_child_visible ();
+               [Version (since = "3.14")]
                public void get_clip (out Gtk.Allocation clip);
+               [Version (since = "2.2")]
                public unowned Gtk.Clipboard get_clipboard (Gdk.Atom selection);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public string get_composite_name ();
                [CCode (cname = "gtk_widget_class_get_css_name")]
+               [Version (since = "3.20")]
                public class unowned string get_css_name ();
                public static Gtk.TextDirection get_default_direction ();
-               [Version (deprecated_since = "3.0", replacement = "StyleContext, and 
CssProvider.get_default() to obtain a Gtk.StyleProvider with the default widget style information")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public static unowned Gtk.Style get_default_style ();
+               [Version (since = "3.0")]
                public bool get_device_enabled (Gdk.Device device);
+               [Version (since = "3.0")]
                public Gdk.EventMask get_device_events (Gdk.Device device);
                public Gtk.TextDirection get_direction ();
+               [Version (since = "2.2")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "2.18")]
                public bool get_double_buffered ();
                public int get_events ();
+               [Version (since = "3.20")]
                public bool get_focus_on_click ();
+               [Version (since = "3.18")]
                public unowned Pango.FontMap? get_font_map ();
+               [Version (since = "3.18")]
                public unowned Cairo.FontOptions? get_font_options ();
+               [Version (since = "3.8")]
                public unowned Gdk.FrameClock? get_frame_clock ();
                public Gtk.Align get_halign ();
+               [Version (since = "2.12")]
                public bool get_has_tooltip ();
+               [Version (since = "2.18")]
                public bool get_has_window ();
                public bool get_hexpand ();
                public bool get_hexpand_set ();
+               [Version (since = "2.20")]
                public bool get_mapped ();
+               [Version (since = "3.0")]
                public int get_margin_bottom ();
+               [Version (since = "3.12")]
                public int get_margin_end ();
+               [Version (deprecated = true, deprecated_since = "3.12", since = "3.0")]
                public int get_margin_left ();
+               [Version (deprecated = true, deprecated_since = "3.12", since = "3.0")]
                public int get_margin_right ();
+               [Version (since = "3.12")]
                public int get_margin_start ();
+               [Version (since = "3.0")]
                public int get_margin_top ();
+               [Version (since = "3.4")]
                public Gdk.ModifierType get_modifier_mask (Gdk.ModifierIntent intent);
-               [Version (deprecated_since = "3.0", replacement = "StyleContext with a custom StyleProvider")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public unowned Gtk.RcStyle get_modifier_style ();
+               [Version (since = "2.4")]
                public bool get_no_show_all ();
+               [Version (since = "3.8")]
                public double get_opacity ();
                public unowned Pango.Context get_pango_context ();
-               [CCode (type = "GtkWidget*")]
                public unowned Gtk.Container? get_parent ();
                public unowned Gdk.Window get_parent_window ();
                public unowned Gtk.WidgetPath get_path ();
-               [Version (deprecated_since = "3.4", replacement = "Gdk.Window.get_device_position")]
+               [Version (deprecated = true, deprecated_since = "3.4")]
                public void get_pointer (out int x, out int y);
+               [Version (since = "3.0")]
                public virtual void get_preferred_height (out int minimum_height, out int natural_height);
+               [Version (since = "3.10")]
                public virtual void get_preferred_height_and_baseline_for_width (int width, out int 
minimum_height, out int natural_height, out int minimum_baseline, out int natural_baseline);
+               [Version (since = "3.0")]
                public virtual void get_preferred_height_for_width (int width, out int minimum_height, out 
int natural_height);
                [CCode (vfunc_name = "get_preferred_height_for_width")]
                [NoWrapper]
+               [Version (deprecated = true)]
                public virtual void get_preferred_height_for_width_internal (int width, out int 
minimum_height, out int natural_height);
                [CCode (vfunc_name = "get_preferred_height")]
                [NoWrapper]
+               [Version (deprecated = true)]
                public virtual void get_preferred_height_internal (out int minimum_height, out int 
natural_height);
+               [Version (since = "3.0")]
                public void get_preferred_size (out Gtk.Requisition minimum_size, out Gtk.Requisition 
natural_size);
+               [Version (since = "3.0")]
                public virtual void get_preferred_width (out int minimum_width, out int natural_width);
+               [Version (since = "3.0")]
                public virtual void get_preferred_width_for_height (int height, out int minimum_width, out 
int natural_width);
                [CCode (vfunc_name = "get_preferred_width_for_height")]
                [NoWrapper]
+               [Version (deprecated = true)]
                public virtual void get_preferred_width_for_height_internal (int height, out int 
minimum_width, out int natural_width);
                [CCode (vfunc_name = "get_preferred_width")]
                [NoWrapper]
+               [Version (deprecated = true)]
                public virtual void get_preferred_width_internal (out int minimum_width, out int 
natural_width);
+               [Version (since = "2.20")]
                public bool get_realized ();
+               [Version (since = "2.18")]
                public bool get_receives_default ();
+               [Version (since = "3.0")]
                public virtual Gtk.SizeRequestMode get_request_mode ();
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.20")]
                public Gtk.Requisition get_requisition ();
+               [Version (deprecated = true, deprecated_since = "3.12", since = "2.2")]
                public unowned Gdk.Window get_root_window ();
+               [Version (since = "3.10")]
                public int get_scale_factor ();
+               [Version (since = "2.2")]
                public unowned Gdk.Screen get_screen ();
+               [Version (since = "2.18")]
                public bool get_sensitive ();
                public unowned Gtk.Settings get_settings ();
                public void get_size_request (out int width, out int height);
-               [Version (deprecated_since = "3.0", replacement = "get_state_flags")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.18")]
                public Gtk.StateType get_state ();
+               [Version (since = "3.0")]
                public Gtk.StateFlags get_state_flags ();
-               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public unowned Gtk.Style get_style ();
                public unowned Gtk.StyleContext get_style_context ();
                public bool get_support_multidevice ();
                public unowned GLib.Object get_template_child (GLib.Type widget_type, string name);
+               [Version (since = "2.12")]
                public string? get_tooltip_markup ();
+               [Version (since = "2.12")]
                public string? get_tooltip_text ();
+               [Version (since = "2.12")]
                public unowned Gtk.Window get_tooltip_window ();
                public unowned Gtk.Widget get_toplevel ();
                public Gtk.Align get_valign ();
+               [Version (since = "3.10")]
                public Gtk.Align get_valign_with_baseline ();
                public bool get_vexpand ();
                public bool get_vexpand_set ();
+               [Version (since = "2.18")]
                public bool get_visible ();
                public unowned Gdk.Visual get_visual ();
+               [Version (since = "2.14")]
                public unowned Gdk.Window? get_window ();
                public void grab_default ();
+               [Version (since = "2.18")]
                public bool has_grab ();
-               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.20")]
                public bool has_rc_style ();
+               [Version (since = "2.2")]
                public bool has_screen ();
+               [Version (since = "3.2")]
                public bool has_visible_focus ();
                public bool hide_on_delete ();
                public bool in_destruction ();
+               [Version (since = "3.10")]
                public void init_template ();
+               [Version (since = "3.0")]
                public void input_shape_combine_region (Cairo.Region? region);
+               [Version (since = "3.6")]
                public void insert_action_group (string name, GLib.ActionGroup? group);
                [CCode (cname = "gtk_widget_class_install_style_property")]
                public class void install_style_property (GLib.ParamSpec pspec);
@@ -6726,187 +9409,283 @@ namespace Gtk {
                public class void install_style_property_parser (GLib.ParamSpec pspec, Gtk.RcPropertyParser 
parser);
                public bool intersect (Gdk.Rectangle area, Gdk.Rectangle? intersection);
                public bool is_ancestor (Gtk.Widget ancestor);
+               [Version (since = "2.10")]
                public bool is_composited ();
+               [Version (since = "2.18")]
+               public bool is_drawable ();
+               [Version (since = "2.18")]
                public bool is_sensitive ();
+               [Version (since = "2.18")]
                public bool is_toplevel ();
+               [Version (since = "3.8")]
                public bool is_visible ();
                public GLib.List<weak GLib.Closure> list_accel_closures ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "3.16")]
                public (unowned string)[] list_action_prefixes ();
+               [Version (since = "2.4")]
                public GLib.List<weak Gtk.Widget> list_mnemonic_labels ();
-               [CCode (array_length_type = "guint", cname = "gtk_widget_class_list_style_properties")]
+               [CCode (array_length_pos = 0.1, array_length_type = "guint", cname = 
"gtk_widget_class_list_style_properties")]
+               [Version (since = "2.2")]
                public class (unowned GLib.ParamSpec)[] list_style_properties ();
-               [Version (deprecated_since = "3.0", replacement = "override_background_color")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = 
"override_background_color")]
                public void modify_base (Gtk.StateType state, Gdk.Color? color);
-               [Version (deprecated_since = "3.0", replacement = "override_background_color")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = 
"override_background_color")]
                public void modify_bg (Gtk.StateType state, Gdk.Color? color);
-               [Version (deprecated_since = "3.0", replacement = "override_cursor")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "override_cursor", since 
= "2.12")]
                public void modify_cursor (Gdk.Color? primary, Gdk.Color? secondary);
-               [Version (deprecated_since = "3.0", replacement = "override_color")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "override_color")]
                public void modify_fg (Gtk.StateType state, Gdk.Color? color);
-               [Version (deprecated_since = "3.0", replacement = "override_font")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "override_font")]
                public void modify_font (Pango.FontDescription? font_desc);
-               [Version (deprecated_since = "3.0", replacement = "StyleContext with a custom StyleProvider")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void modify_style (Gtk.RcStyle style);
-               [Version (deprecated_since = "3.0", replacement = "override_color")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "override_color")]
                public void modify_text (Gtk.StateType state, Gdk.Color? color);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void override_background_color (Gtk.StateFlags state, Gdk.RGBA? color);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void override_color (Gtk.StateFlags state, Gdk.RGBA? color);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void override_cursor (Gdk.RGBA? cursor, Gdk.RGBA? secondary_cursor);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void override_font (Pango.FontDescription? font_desc);
+               [Version (deprecated = true, deprecated_since = "3.16", since = "3.0")]
                public void override_symbolic_color (string name, Gdk.RGBA? color);
-               [Version (deprecated_since = "3.0", replacement = "get_path")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "get_path")]
                public void path (out uint path_length, out string path, out string path_reversed);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public static void pop_composite_child ();
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public static void push_composite_child ();
+               [Version (since = "3.20")]
                public void queue_allocate ();
                public void queue_compute_expand ();
                public void queue_draw ();
                public void queue_draw_area (int x, int y, int width, int height);
+               [Version (since = "3.0")]
                public virtual void queue_draw_region (Cairo.Region region);
                public void queue_resize ();
+               [Version (since = "2.4")]
                public void queue_resize_no_redraw ();
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public Cairo.Region region_intersect (Cairo.Region region);
+               [Version (since = "3.8")]
                public void register_window (Gdk.Window window);
                public bool remove_accelerator (Gtk.AccelGroup accel_group, uint accel_key, Gdk.ModifierType 
accel_mods);
+               [Version (since = "2.4")]
                public void remove_mnemonic_label (Gtk.Widget label);
+               [Version (since = "3.8")]
                public void remove_tick_callback (uint id);
-               public Gdk.Pixbuf render_icon (string stock_id, Gtk.IconSize size, string? detail);
-               public Gdk.Pixbuf render_icon_pixbuf (string stock_id, Gtk.IconSize size);
+               [Version (deprecated = true, deprecated_since = "3.0")]
+               public Gdk.Pixbuf render_icon (string stock_id, [CCode (type = "GtkIconSize")] Gtk.IconSize 
size, string? detail);
+               [Version (deprecated = true, deprecated_since = "3.10", since = "3.0")]
+               public Gdk.Pixbuf? render_icon_pixbuf (string stock_id, [CCode (type = "GtkIconSize")] 
Gtk.IconSize size);
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public void reparent (Gtk.Widget new_parent);
-               [Version (deprecated_since = "3.0", replacement = "reset_style")]
+               [Version (deprecated = true, deprecated_since = "3.0", replacement = "reset_style")]
                public void reset_rc_styles ();
+               [Version (since = "3.0")]
                public void reset_style ();
+               [Version (deprecated = true, deprecated_since = "3.22")]
                public int send_expose (Gdk.Event event);
+               [Version (since = "2.20")]
                public bool send_focus_change (Gdk.Event event);
                public void set_accel_path (string? accel_path, Gtk.AccelGroup? accel_group);
                [CCode (cname = "gtk_widget_class_set_accessible_role")]
+               [Version (since = "3.2")]
                public class void set_accessible_role (Atk.Role role);
                [CCode (cname = "gtk_widget_class_set_accessible_type")]
+               [Version (since = "3.2")]
                public class void set_accessible_type (GLib.Type type);
+               [Version (since = "2.18")]
                public void set_allocation (Gtk.Allocation allocation);
                public void set_app_paintable (bool app_paintable);
+               [Version (since = "2.18")]
                public void set_can_default (bool can_default);
+               [Version (since = "2.18")]
                public void set_can_focus (bool can_focus);
                public void set_child_visible (bool is_visible);
+               [Version (since = "3.14")]
                public void set_clip (Gtk.Allocation clip);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public void set_composite_name (string name);
                [CCode (cname = "gtk_widget_class_set_connect_func")]
+               [Version (since = "3.10")]
                public class void set_connect_func (owned Gtk.BuilderConnectFunc connect_func);
                [CCode (cname = "gtk_widget_class_set_css_name")]
+               [Version (since = "3.20")]
                public class void set_css_name (string name);
                public static void set_default_direction (Gtk.TextDirection dir);
+               [Version (since = "3.0")]
                public void set_device_enabled (Gdk.Device device, bool enabled);
+               [Version (since = "3.0")]
                public void set_device_events (Gdk.Device device, Gdk.EventMask events);
                public void set_direction (Gtk.TextDirection dir);
+               [Version (deprecated = true, deprecated_since = "3.14")]
                public void set_double_buffered (bool double_buffered);
                public void set_events (int events);
+               [Version (since = "3.20")]
                public void set_focus_on_click (bool focus_on_click);
+               [Version (since = "3.18")]
                public void set_font_map (Pango.FontMap? font_map);
+               [Version (since = "3.18")]
                public void set_font_options (Cairo.FontOptions? options);
                public void set_halign (Gtk.Align align);
+               [Version (since = "2.12")]
                public void set_has_tooltip (bool has_tooltip);
+               [Version (since = "2.18")]
                public void set_has_window (bool has_window);
                public void set_hexpand (bool expand);
                public void set_hexpand_set (bool @set);
+               [Version (since = "2.20")]
                public void set_mapped (bool mapped);
+               [Version (since = "3.0")]
                public void set_margin_bottom (int margin);
+               [Version (since = "3.12")]
                public void set_margin_end (int margin);
+               [Version (deprecated = true, deprecated_since = "3.12", since = "3.0")]
                public void set_margin_left (int margin);
+               [Version (deprecated = true, deprecated_since = "3.12", since = "3.0")]
                public void set_margin_right (int margin);
+               [Version (since = "3.12")]
                public void set_margin_start (int margin);
+               [Version (since = "3.0")]
                public void set_margin_top (int margin);
+               [Version (since = "2.4")]
                public void set_no_show_all (bool no_show_all);
+               [Version (since = "3.8")]
                public void set_opacity (double opacity);
                public void set_parent ([CCode (type = "GtkWidget*")] Gtk.Container parent);
                public void set_parent_window (Gdk.Window parent_window);
+               [Version (since = "2.20")]
                public void set_realized (bool realized);
+               [Version (since = "2.18")]
                public void set_receives_default (bool receives_default);
                public void set_redraw_on_allocate (bool redraw_on_allocate);
                public void set_sensitive (bool sensitive);
                public void set_size_request (int width, int height);
-               [Version (deprecated_since = "3.0", replacement = "set_state_flags")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_state (Gtk.StateType state);
+               [Version (since = "3.0")]
                public void set_state_flags (Gtk.StateFlags flags, bool clear);
-               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void set_style (Gtk.Style? style);
+               [Version (since = "3.0")]
                public void set_support_multidevice (bool support_multidevice);
                [CCode (cname = "gtk_widget_class_set_template")]
+               [Version (since = "3.10")]
                public class void set_template (GLib.Bytes template_bytes);
                [CCode (cname = "gtk_widget_class_set_template_from_resource")]
+               [Version (since = "3.10")]
                public class void set_template_from_resource (string resource_name);
+               [Version (since = "2.12")]
                public void set_tooltip_markup (string? markup);
+               [Version (since = "2.12")]
                public void set_tooltip_text (string? text);
+               [Version (since = "2.12")]
                public void set_tooltip_window (Gtk.Window? custom_window);
                public void set_valign (Gtk.Align align);
                public void set_vexpand (bool expand);
                public void set_vexpand_set (bool @set);
+               [Version (since = "2.18")]
                public void set_visible (bool visible);
                public void set_visual (Gdk.Visual? visual);
+               [Version (since = "2.18")]
                public void set_window (owned Gdk.Window window);
+               [Version (since = "3.0")]
                public void shape_combine_region (Cairo.Region? region);
                public virtual void show_all ();
                public void show_now ();
+               [Version (since = "3.10")]
                public void size_allocate_with_baseline (Gtk.Allocation allocation, int baseline);
-               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
+               public Gtk.Requisition size_request ();
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.20")]
                public void style_attach ();
                public void style_get (...);
                public void style_get_property (string property_name, ref GLib.Value value);
-               public void style_get_valist (string first_property_name, va_list var_args);
+               public void style_get_valist (string first_property_name, [CCode (type = "va_list")] va_list 
var_args);
                public void thaw_child_notify ();
                public bool translate_coordinates (Gtk.Widget dest_widget, int src_x, int src_y, out int 
dest_x, out int dest_y);
+               [Version (since = "2.12")]
                public void trigger_tooltip_query ();
                public void unparent ();
+               [Version (since = "3.8")]
                public void unregister_window (Gdk.Window window);
+               [Version (since = "3.0")]
                public void unset_state_flags (Gtk.StateFlags flags);
                public bool app_paintable { get; set; }
                public bool can_default { get; set; }
-               [NoAccessorMethod]
                public bool can_focus { get; set; }
                [NoAccessorMethod]
                public bool composite_child { get; }
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.18")]
                public bool double_buffered { get; set; }
                public Gdk.EventMask events { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool expand { get; set; }
+               [Version (since = "3.20")]
                public bool focus_on_click { get; set; }
+               [Version (since = "3.0")]
                public Gtk.Align halign { get; set; }
                [NoAccessorMethod]
                public bool has_default { get; set; }
                [NoAccessorMethod]
                public bool has_focus { get; set; }
+               [Version (since = "2.12")]
                public bool has_tooltip { get; set; }
                [NoAccessorMethod]
                public int height_request { get; set; }
+               [Version (since = "3.0")]
                public bool hexpand { get; set; }
+               [Version (since = "3.0")]
                public bool hexpand_set { get; set; }
                [NoAccessorMethod]
                public bool is_focus { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public int margin { get; set; }
+               [Version (since = "3.0")]
                public int margin_bottom { get; set; }
+               [Version (since = "3.12")]
                public int margin_end { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.12", since = "3.0")]
                public int margin_left { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.12", since = "3.0")]
                public int margin_right { get; set; }
+               [Version (since = "3.12")]
                public int margin_start { get; set; }
+               [Version (since = "3.0")]
                public int margin_top { get; set; }
                public string name { get; set; }
                public bool no_show_all { get; set; }
+               [Version (since = "3.8")]
                public double opacity { get; set; }
                public Gtk.Container parent { get; set; }
                public bool receives_default { get; set; }
+               [Version (since = "3.10")]
                public int scale_factor { get; }
                public bool sensitive { get; set; }
+               [Version (deprecated = true)]
                public Gtk.Style style { get; set; }
+               [Version (since = "2.12")]
                public string tooltip_markup { owned get; set; }
+               [Version (since = "2.12")]
                public string tooltip_text { owned get; set; }
+               [Version (since = "3.0")]
                public Gtk.Align valign { get; set; }
+               [Version (since = "3.0")]
                public bool vexpand { get; set; }
+               [Version (since = "3.0")]
                public bool vexpand_set { get; set; }
                public bool visible { get; set; }
                [NoAccessorMethod]
                public int width_request { get; set; }
-               public virtual signal void accel_closures_changed ();
+               [Version (since = "2.14")]
+               public Gdk.Window window { get; }
+               public signal void accel_closures_changed ();
                public virtual signal bool button_press_event (Gdk.EventButton event);
                public virtual signal bool button_release_event (Gdk.EventButton event);
                [HasEmitter]
@@ -6915,6 +9694,7 @@ namespace Gtk {
                public virtual signal void child_notify (GLib.ParamSpec child_property);
                public virtual signal void composited_changed ();
                public virtual signal bool configure_event (Gdk.EventConfigure event);
+               [Version (since = "2.14")]
                public virtual signal bool damage_event (Gdk.EventExpose event);
                public virtual signal bool delete_event (Gdk.EventAny event);
                [HasEmitter]
@@ -6927,18 +9707,20 @@ namespace Gtk {
                public virtual signal void drag_data_received (Gdk.DragContext context, int x, int y, 
Gtk.SelectionData selection_data, uint info, uint time_);
                public virtual signal bool drag_drop (Gdk.DragContext context, int x, int y, uint time_);
                public virtual signal void drag_end (Gdk.DragContext context);
+               [Version (since = "2.12")]
                public virtual signal bool drag_failed (Gdk.DragContext context, Gtk.DragResult result);
                public virtual signal void drag_leave (Gdk.DragContext context, uint time_);
                public virtual signal bool drag_motion (Gdk.DragContext context, int x, int y, uint time_);
-               [HasEmitter]
+               [Version (since = "3.0")]
                public virtual signal bool draw (Cairo.Context cr);
                public virtual signal bool enter_notify_event (Gdk.EventCrossing event);
                [HasEmitter]
                public virtual signal bool event (Gdk.Event event);
-               public virtual signal void event_after (Gdk.Event p0);
+               public signal void event_after (Gdk.Event event);
                public virtual signal bool focus (Gtk.DirectionType direction);
                public virtual signal bool focus_in_event (Gdk.EventFocus event);
                public virtual signal bool focus_out_event (Gdk.EventFocus event);
+               [Version (since = "2.8")]
                public virtual signal bool grab_broken_event (Gdk.EventGrabBroken event);
                [HasEmitter]
                public virtual signal void grab_focus ();
@@ -6949,6 +9731,7 @@ namespace Gtk {
                public virtual signal bool key_press_event (Gdk.EventKey event);
                public virtual signal bool key_release_event (Gdk.EventKey event);
                [HasEmitter]
+               [Version (since = "2.12")]
                public virtual signal bool keynav_failed (Gtk.DirectionType direction);
                public virtual signal bool leave_notify_event (Gdk.EventCrossing event);
                [HasEmitter]
@@ -6963,6 +9746,7 @@ namespace Gtk {
                public virtual signal bool property_notify_event (Gdk.EventProperty event);
                public virtual signal bool proximity_in_event (Gdk.EventProximity event);
                public virtual signal bool proximity_out_event (Gdk.EventProximity event);
+               [Version (since = "2.12")]
                public virtual signal bool query_tooltip (int x, int y, bool keyboard_tooltip, Gtk.Tooltip 
tooltip);
                [HasEmitter]
                public virtual signal void realize ();
@@ -6978,16 +9762,21 @@ namespace Gtk {
                public virtual signal bool show_help (Gtk.WidgetHelpType help_type);
                [HasEmitter]
                public virtual signal void size_allocate (Gtk.Allocation allocation);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public virtual signal void state_changed (Gtk.StateType previous_state);
+               [Version (since = "3.0")]
                public virtual signal void state_flags_changed (Gtk.StateFlags previous_state_flags);
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public virtual signal void style_set (Gtk.Style? previous_style);
+               [Version (since = "3.0")]
                public virtual signal void style_updated ();
-               public virtual signal bool touch_event (Gdk.EventTouch event);
+               public virtual signal bool touch_event (Gdk.Event event);
                [HasEmitter]
                public virtual signal void unmap ();
                public virtual signal bool unmap_event (Gdk.EventAny event);
                [HasEmitter]
                public virtual signal void unrealize ();
+               [Version (deprecated = true, deprecated_since = "3.12")]
                public virtual signal bool visibility_notify_event (Gdk.EventVisibility event);
                public virtual signal bool window_state_event (Gdk.EventWindowState event);
        }
@@ -6996,100 +9785,161 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected WidgetAccessible ();
                [NoWrapper]
-               public virtual void notify_gtk (GLib.Object object, GLib.ParamSpec pspec);
+               public virtual void notify_gtk (GLib.ParamSpec pspec);
        }
        [CCode (cheader_filename = "gtk/gtk.h", ref_function = "gtk_widget_path_ref", type_id = 
"gtk_widget_path_get_type ()", unref_function = "gtk_widget_path_unref")]
        [Compact]
        public class WidgetPath {
                [CCode (has_construct_function = false)]
+               [Version (since = "3.0")]
                public WidgetPath ();
+               [Version (since = "3.2")]
                public int append_for_widget (Gtk.Widget widget);
+               [Version (since = "3.0")]
                public int append_type (GLib.Type type);
+               [Version (since = "3.2")]
                public int append_with_siblings (Gtk.WidgetPath siblings, uint sibling_index);
+               [Version (since = "3.0")]
                public Gtk.WidgetPath copy ();
+               [Version (since = "3.0")]
+               public void free ();
+               [Version (since = "3.0")]
                public GLib.Type get_object_type ();
+               [Version (since = "3.0")]
                public bool has_parent (GLib.Type type);
+               [Version (since = "3.0")]
                public bool is_type (GLib.Type type);
+               [Version (since = "3.0")]
                public void iter_add_class (int pos, string name);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void iter_add_region (int pos, string name, Gtk.RegionFlags flags);
+               [Version (since = "3.0")]
                public void iter_clear_classes (int pos);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void iter_clear_regions (int pos);
                public unowned string iter_get_name (int pos);
-               public unowned string? iter_get_object_name (int pos);
+               [Version (since = "3.20")]
+               public unowned string iter_get_object_name (int pos);
+               [Version (since = "3.0")]
                public GLib.Type iter_get_object_type (int pos);
                public uint iter_get_sibling_index (int pos);
                public unowned Gtk.WidgetPath iter_get_siblings (int pos);
+               [Version (since = "3.14")]
                public Gtk.StateFlags iter_get_state (int pos);
+               [Version (since = "3.0")]
                public bool iter_has_class (int pos, string name);
+               [Version (since = "3.0")]
                public bool iter_has_name (int pos, string name);
+               [Version (since = "3.0")]
                public bool iter_has_qclass (int pos, GLib.Quark qname);
+               [Version (since = "3.0")]
                public bool iter_has_qname (int pos, GLib.Quark qname);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool iter_has_qregion (int pos, GLib.Quark qname, out Gtk.RegionFlags flags);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool iter_has_region (int pos, string name, out Gtk.RegionFlags flags);
+               [Version (since = "3.0")]
                public GLib.SList<weak string> iter_list_classes (int pos);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public GLib.SList<weak string> iter_list_regions (int pos);
+               [Version (since = "3.0")]
                public void iter_remove_class (int pos, string name);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void iter_remove_region (int pos, string name);
+               [Version (since = "3.0")]
                public void iter_set_name (int pos, string name);
+               [Version (since = "3.20")]
                public void iter_set_object_name (int pos, string? name);
+               [Version (since = "3.0")]
                public void iter_set_object_type (int pos, GLib.Type type);
+               [Version (since = "3.14")]
                public void iter_set_state (int pos, Gtk.StateFlags state);
+               [Version (since = "3.0")]
                public int length ();
+               [Version (since = "3.0")]
                public void prepend_type (GLib.Type type);
+               [Version (since = "3.2")]
+               public Gtk.WidgetPath @ref ();
+               [Version (since = "3.2")]
                public string to_string ();
+               [Version (since = "3.2")]
+               public void unref ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_window_get_type ()")]
        public class Window : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Window (Gtk.WindowType type = Gtk.WindowType.TOPLEVEL);
-               public bool activate_default ();
-               public bool activate_focus ();
+               [Version (since = "2.4")]
                public bool activate_key (Gdk.EventKey event);
                public void add_accel_group (Gtk.AccelGroup accel_group);
                public void add_mnemonic (uint keyval, Gtk.Widget target);
                public void begin_move_drag (int button, int root_x, int root_y, uint32 timestamp);
                public void begin_resize_drag (Gdk.WindowEdge edge, int button, int root_x, int root_y, 
uint32 timestamp);
+               [Version (since = "3.10")]
                public void close ();
                public void deiconify ();
+               [Version (since = "2.2")]
                public void fullscreen ();
+               [Version (since = "3.18")]
                public void fullscreen_on_monitor (Gdk.Screen screen, int monitor);
+               [Version (since = "2.4")]
                public bool get_accept_focus ();
+               [Version (since = "3.0")]
                public unowned Gtk.Application? get_application ();
+               [Version (since = "3.4")]
                public unowned Gtk.Widget? get_attached_to ();
                public bool get_decorated ();
                public static GLib.List<weak Gdk.Pixbuf> get_default_icon_list ();
+               [Version (since = "2.16")]
                public static unowned string get_default_icon_name ();
                public void get_default_size (out int width, out int height);
+               [Version (since = "2.14")]
                public unowned Gtk.Widget? get_default_widget ();
+               [Version (since = "2.10")]
                public bool get_deletable ();
                public bool get_destroy_with_parent ();
                public unowned Gtk.Widget? get_focus ();
+               [Version (since = "2.6")]
                public bool get_focus_on_map ();
+               [Version (since = "3.2")]
                public bool get_focus_visible ();
                public Gdk.Gravity get_gravity ();
+               [Version (since = "2.10")]
                public unowned Gtk.WindowGroup get_group ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool get_has_resize_grip ();
+               [Version (since = "3.4")]
                public bool get_hide_titlebar_when_maximized ();
                public unowned Gdk.Pixbuf get_icon ();
                public GLib.List<weak Gdk.Pixbuf> get_icon_list ();
+               [Version (since = "2.6")]
                public unowned string? get_icon_name ();
                public Gdk.ModifierType get_mnemonic_modifier ();
+               [Version (since = "2.20")]
                public bool get_mnemonics_visible ();
                public bool get_modal ();
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.12")]
                public double get_opacity ();
                public void get_position (out int root_x, out int root_y);
                public bool get_resizable ();
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool get_resize_grip_area (out Gdk.Rectangle rect);
                public unowned string? get_role ();
+               [Version (since = "2.2")]
                public unowned Gdk.Screen get_screen ();
                public void get_size (out int width, out int height);
+               [Version (since = "2.2")]
                public bool get_skip_pager_hint ();
+               [Version (since = "2.2")]
                public bool get_skip_taskbar_hint ();
                public unowned string? get_title ();
+               [Version (since = "3.16")]
                public unowned Gtk.Widget? get_titlebar ();
                public unowned Gtk.Window? get_transient_for ();
                public Gdk.WindowTypeHint get_type_hint ();
+               [Version (since = "2.8")]
                public bool get_urgency_hint ();
+               [Version (since = "2.20")]
                public Gtk.WindowType get_window_type ();
                public bool has_group ();
                public void iconify ();
@@ -7097,99 +9947,152 @@ namespace Gtk {
                public void maximize ();
                public bool mnemonic_activate (uint keyval, Gdk.ModifierType modifier);
                public void move (int x, int y);
+               [Version (deprecated = true, deprecated_since = "3.20")]
                public bool parse_geometry (string geometry);
                public void present ();
+               [Version (since = "2.8")]
                public void present_with_time (uint32 timestamp);
+               [Version (since = "2.4")]
                public bool propagate_key_event (Gdk.EventKey event);
                public void remove_accel_group (Gtk.AccelGroup accel_group);
                public void remove_mnemonic (uint keyval, Gtk.Widget target);
+               [Version (deprecated = true, deprecated_since = "3.10")]
                public void reshow_with_initial_size ();
                public void resize (int width, int height);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool resize_grip_is_visible ();
+               [Version (deprecated = true, deprecated_since = "3.20", since = "3.0")]
                public void resize_to_geometry (int width, int height);
+               [Version (since = "2.4")]
                public void set_accept_focus (bool setting);
+               [Version (since = "3.0")]
                public void set_application (Gtk.Application? application);
+               [Version (since = "3.4")]
                public void set_attached_to (Gtk.Widget? attach_widget);
+               [Version (since = "2.2")]
                public static void set_auto_startup_notification (bool setting);
                public void set_decorated (bool setting);
                public void set_default (Gtk.Widget? default_widget);
+               [Version (deprecated = true, deprecated_since = "3.20", since = "3.0")]
                public void set_default_geometry (int width, int height);
+               [Version (since = "2.4")]
                public static void set_default_icon (Gdk.Pixbuf icon);
+               [Version (since = "2.2")]
                public static bool set_default_icon_from_file (string filename) throws GLib.Error;
                public static void set_default_icon_list (owned GLib.List<weak Gdk.Pixbuf> list);
+               [Version (since = "2.6")]
                public static void set_default_icon_name (string name);
                public void set_default_size (int width, int height);
+               [Version (since = "2.10")]
                public void set_deletable (bool setting);
                public void set_destroy_with_parent (bool setting);
+               [Version (since = "2.6")]
                public void set_focus_on_map (bool setting);
+               [Version (since = "3.2")]
                public void set_focus_visible (bool setting);
                public void set_geometry_hints (Gtk.Widget? geometry_widget, Gdk.Geometry? geometry, 
Gdk.WindowHints geom_mask);
                public void set_gravity (Gdk.Gravity gravity);
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public void set_has_resize_grip (bool value);
+               [Version (since = "3.0")]
                public void set_has_user_ref_count (bool setting);
+               [Version (since = "3.4")]
                public void set_hide_titlebar_when_maximized (bool setting);
                public void set_icon (Gdk.Pixbuf? icon);
+               [Version (since = "2.2")]
                public bool set_icon_from_file (string filename) throws GLib.Error;
                public void set_icon_list (GLib.List<Gdk.Pixbuf> list);
+               [Version (since = "2.6")]
                public void set_icon_name (string? name);
+               [Version (since = "3.14")]
                public static void set_interactive_debugging (bool enable);
+               [Version (since = "2.4")]
                public void set_keep_above (bool setting);
+               [Version (since = "2.4")]
                public void set_keep_below (bool setting);
                public void set_mnemonic_modifier (Gdk.ModifierType modifier);
+               [Version (since = "2.20")]
                public void set_mnemonics_visible (bool setting);
                public void set_modal (bool modal);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.12")]
                public void set_opacity (double opacity);
                public void set_position (Gtk.WindowPosition position);
                public void set_resizable (bool resizable);
                public void set_role (string role);
+               [Version (since = "2.2")]
                public void set_screen (Gdk.Screen screen);
+               [Version (since = "2.2")]
                public void set_skip_pager_hint (bool setting);
+               [Version (since = "2.2")]
                public void set_skip_taskbar_hint (bool setting);
+               [Version (since = "2.12")]
                public void set_startup_id (string startup_id);
                public void set_title (string title);
+               [Version (since = "3.10")]
                public void set_titlebar (Gtk.Widget? titlebar);
                public void set_transient_for (Gtk.Window? parent);
                public void set_type_hint (Gdk.WindowTypeHint hint);
+               [Version (since = "2.8")]
                public void set_urgency_hint (bool setting);
                public void set_wmclass (string wmclass_name, string wmclass_class);
                public void stick ();
+               [CCode (cname = "gtk_window_activate_default")]
+               public bool try_activate_default ();
+               [CCode (cname = "gtk_window_activate_focus")]
+               public bool try_activate_focus ();
+               [Version (since = "2.2")]
                public void unfullscreen ();
                public void unmaximize ();
                public void unstick ();
+               [Version (since = "2.4")]
                public bool accept_focus { get; set; }
+               [Version (since = "3.0")]
                public Gtk.Application application { get; set; }
+               [Version (since = "3.4")]
                public Gtk.Widget attached_to { get; set construct; }
+               [Version (since = "2.4")]
                public bool decorated { get; set; }
                [NoAccessorMethod]
                public int default_height { get; set; }
                [NoAccessorMethod]
                public int default_width { get; set; }
+               [Version (since = "2.10")]
                public bool deletable { get; set; }
                public bool destroy_with_parent { get; set; }
+               [Version (since = "2.6")]
                public bool focus_on_map { get; set; }
+               [Version (since = "2.20")]
                public bool focus_visible { get; set; }
+               [Version (since = "2.4")]
                public Gdk.Gravity gravity { get; set; }
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool has_resize_grip { get; set; }
                [NoAccessorMethod]
                public bool has_toplevel_focus { get; }
+               [Version (since = "3.4")]
                public bool hide_titlebar_when_maximized { get; set; }
                public Gdk.Pixbuf icon { get; set; }
+               [Version (since = "2.6")]
                public string icon_name { get; set; }
                [NoAccessorMethod]
                public bool is_active { get; }
                [NoAccessorMethod]
                public bool is_maximized { get; }
+               [Version (since = "2.20")]
                public bool mnemonics_visible { get; set; }
                public bool modal { get; set; }
                public bool resizable { get; set; }
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "3.14", since = "3.0")]
                public bool resize_grip_visible { get; }
                public string role { get; set; }
                public Gdk.Screen screen { get; set; }
                public bool skip_pager_hint { get; set; }
                public bool skip_taskbar_hint { get; set; }
+               [Version (since = "2.12")]
                public string startup_id { set; }
                public string title { get; set; }
+               [Version (since = "2.10")]
                public Gtk.Window transient_for { get; set construct; }
                [NoAccessorMethod]
                public Gtk.WindowType type { get; construct; }
@@ -7197,13 +10100,9 @@ namespace Gtk {
                public bool urgency_hint { get; set; }
                [NoAccessorMethod]
                public Gtk.WindowPosition window_position { get; set; }
-               [CCode (cname = "activate_default")]
-               [Version (experimental = true)]
-               public virtual signal void default_activated ();
+               public virtual signal void activate_default ();
+               public virtual signal void activate_focus ();
                public virtual signal bool enable_debugging (bool toggle);
-               [CCode (cname = "activate_focus")]
-               [Version (experimental = true)]
-               public virtual signal void focus_activated ();
                public virtual signal void keys_changed ();
                [HasEmitter]
                public virtual signal void set_focus (Gtk.Widget? focus);
@@ -7222,57 +10121,91 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                public WindowGroup ();
                public void add_window (Gtk.Window window);
+               [Version (since = "3.0")]
                public unowned Gtk.Widget? get_current_device_grab (Gdk.Device device);
+               [Version (since = "2.22")]
                public unowned Gtk.Widget get_current_grab ();
+               [Version (since = "2.14")]
                public GLib.List<weak Gtk.Window> list_windows ();
                public void remove_window (Gtk.Window window);
        }
-       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkActionableInterface")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkActionableInterface", type_id = 
"gtk_actionable_get_type ()")]
        public interface Actionable : Gtk.Widget {
+               [Version (since = "3.4")]
                public abstract unowned string? get_action_name ();
+               [Version (since = "3.4")]
                public abstract unowned GLib.Variant get_action_target_value ();
+               [Version (since = "3.4")]
                public abstract void set_action_name (string action_name);
+               [Version (since = "3.4")]
                public void set_action_target (string format_string, ...);
+               [Version (since = "3.4")]
                public abstract void set_action_target_value (GLib.Variant target_value);
+               [Version (since = "3.4")]
                public void set_detailed_action_name (string detailed_action_name);
-               public string action_name { get; set; }
+               public abstract string action_name { get; set; }
                [NoAccessorMethod]
-               public GLib.Variant action_target { owned get; set; }
+               public abstract GLib.Variant action_target { owned get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_activatable_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public interface Activatable : GLib.Object {
+               [Version (since = "2.16")]
                public void do_set_related_action (Gtk.Action action);
+               [Version (since = "2.16")]
                public unowned Gtk.Action get_related_action ();
+               [Version (since = "2.16")]
                public bool get_use_action_appearance ();
+               [Version (since = "2.16")]
                public void set_related_action (Gtk.Action action);
+               [Version (since = "2.16")]
                public void set_use_action_appearance (bool use_appearance);
-               public abstract void sync_action_properties (Gtk.Action action);
+               [Version (since = "2.16")]
+               public abstract void sync_action_properties (Gtk.Action? action);
                [NoWrapper]
                public abstract void update (Gtk.Action action, string property_name);
-               public Gtk.Action related_action { get; set; }
-               public bool use_action_appearance { get; set; }
-       }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+               [ConcreteAccessor]
+               [Version (since = "2.16")]
+               public abstract Gtk.Action related_action { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.16")]
+               public abstract bool use_action_appearance { get; set; }
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_app_chooser_get_type ()")]
        public interface AppChooser : Gtk.Widget {
-               public GLib.AppInfo get_app_info ();
+               [Version (since = "3.0")]
+               public GLib.AppInfo? get_app_info ();
+               [Version (since = "3.0")]
                public string get_content_type ();
+               [Version (since = "3.0")]
                public void refresh ();
-               public string content_type { owned get; construct; }
+               [ConcreteAccessor]
+               public abstract string content_type { owned get; construct; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_buildable_get_type ()")]
        public interface Buildable : GLib.Object {
+               [Version (since = "2.12")]
                public abstract void add_child (Gtk.Builder builder, GLib.Object child, string? type);
+               [Version (since = "2.12")]
                public abstract GLib.Object construct_child (Gtk.Builder builder, string name);
+               [Version (since = "2.12")]
                public abstract void custom_finished (Gtk.Builder builder, GLib.Object? child, string 
tagname, void* data);
+               [Version (since = "2.12")]
                public abstract void custom_tag_end (Gtk.Builder builder, GLib.Object? child, string tagname, 
void* data);
+               [Version (since = "2.12")]
                public abstract bool custom_tag_start (Gtk.Builder builder, GLib.Object? child, string 
tagname, out GLib.MarkupParser parser, out void* data);
+               [Version (since = "2.12")]
                public abstract unowned GLib.Object get_internal_child (Gtk.Builder builder, string 
childname);
+               [Version (since = "2.12")]
                public abstract unowned string get_name ();
+               [Version (since = "2.12")]
                public abstract void parser_finished (Gtk.Builder builder);
+               [Version (since = "2.12")]
                public abstract void set_buildable_property (Gtk.Builder builder, string name, GLib.Value 
value);
+               [Version (since = "2.12")]
                public abstract void set_name (string name);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_accessible_parent_get_type ()")]
        public interface CellAccessibleParent : GLib.Object {
                public abstract void activate (Gtk.CellAccessible cell);
                public abstract void edit (Gtk.CellAccessible cell);
@@ -7284,41 +10217,62 @@ namespace Gtk {
                public abstract bool grab_focus (Gtk.CellAccessible cell);
                public abstract void update_relationset (Gtk.CellAccessible cell, Atk.RelationSet 
relationset);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_editable_get_type ()")]
        public interface CellEditable : Gtk.Widget {
                public abstract void start_editing (Gdk.Event? event);
                [NoAccessorMethod]
-               public bool editing_canceled { get; set; }
+               [Version (since = "2.20")]
+               public abstract bool editing_canceled { get; set; }
                [HasEmitter]
-               public signal void editing_done ();
+               public virtual signal void editing_done ();
                [HasEmitter]
-               public signal void remove_widget ();
+               public virtual signal void remove_widget ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_cell_layout_get_type ()")]
        public interface CellLayout : GLib.Object {
+               [Version (since = "2.4")]
                public abstract void add_attribute (Gtk.CellRenderer cell, string attribute, int column);
+               [Version (since = "2.4")]
                public abstract void clear ();
+               [Version (since = "2.4")]
                public abstract void clear_attributes (Gtk.CellRenderer cell);
-               public abstract unowned Gtk.CellArea get_area ();
+               [Version (since = "3.0")]
+               public abstract unowned Gtk.CellArea? get_area ();
+               [Version (since = "2.12")]
                public abstract GLib.List<weak Gtk.CellRenderer> get_cells ();
+               [Version (since = "2.4")]
                public abstract void pack_end (Gtk.CellRenderer cell, bool expand);
+               [Version (since = "2.4")]
                public abstract void pack_start (Gtk.CellRenderer cell, bool expand);
+               [Version (since = "2.4")]
                public abstract void reorder (Gtk.CellRenderer cell, int position);
+               [Version (since = "2.4")]
                public void set_attributes (Gtk.CellRenderer cell, ...);
-               public abstract void set_cell_data_func (Gtk.CellRenderer cell, owned Gtk.CellLayoutDataFunc 
func);
+               [Version (since = "2.4")]
+               public abstract void set_cell_data_func (Gtk.CellRenderer cell, owned Gtk.CellLayoutDataFunc? 
func);
        }
-       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkColorChooserInterface")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkColorChooserInterface", type_id = 
"gtk_color_chooser_get_type ()")]
        public interface ColorChooser : GLib.Object {
-               public abstract void add_palette (Gtk.Orientation orientation, int colors_per_line, [CCode 
(array_length_pos = 2.9)] Gdk.RGBA[]? colors);
+               [Version (since = "3.4")]
+               public abstract void add_palette (Gtk.Orientation orientation, int colors_per_line, [CCode 
(array_length_cname = "n_colors", array_length_pos = 2.5)] Gdk.RGBA[]? colors);
+               [Version (since = "3.4")]
                public abstract Gdk.RGBA get_rgba ();
+               [Version (since = "3.4")]
                public bool get_use_alpha ();
+               [Version (since = "3.4")]
                public abstract void set_rgba (Gdk.RGBA color);
+               [Version (since = "3.4")]
                public void set_use_alpha (bool use_alpha);
-               public Gdk.RGBA rgba { get; set; }
-               public bool use_alpha { get; set; }
-               public signal void color_activated (Gdk.RGBA color);
-       }
-       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkEditableInterface")]
+               [ConcreteAccessor]
+               [Version (since = "3.4")]
+               public abstract Gdk.RGBA rgba { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "3.4")]
+               public abstract bool use_alpha { get; set; }
+               [Version (since = "3.4")]
+               public virtual signal void color_activated (Gdk.RGBA color);
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkEditableInterface", type_id = 
"gtk_editable_get_type ()")]
        public interface Editable : GLib.Object {
                public void copy_clipboard ();
                public void cut_clipboard ();
@@ -7336,223 +10290,396 @@ namespace Gtk {
                public abstract void select_region (int start_pos, int end_pos);
                public void set_editable (bool is_editable);
                public abstract void set_position (int position);
-               public signal void changed ();
-               [HasEmitter]
-               public signal void delete_text (int start_pos, int end_pos);
-               [HasEmitter]
-               public signal void insert_text (string new_text, int new_text_length, ref int position);
+               public virtual signal void changed ();
+               public virtual signal void delete_text (int start_pos, int end_pos);
+               public virtual signal void insert_text (string new_text, int new_text_length, ref int 
position);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_file_chooser_get_type ()")]
        public interface FileChooser : GLib.Object {
+               [Version (since = "2.4")]
                public void add_filter (owned Gtk.FileFilter filter);
+               [Version (since = "2.4")]
                public bool add_shortcut_folder (string folder) throws GLib.Error;
+               [Version (since = "2.4")]
                public bool add_shortcut_folder_uri (string uri) throws GLib.Error;
+               [Version (since = "2.4")]
                public Gtk.FileChooserAction get_action ();
+               [Version (since = "2.18")]
                public bool get_create_folders ();
-               public string get_current_folder ();
+               [Version (since = "2.4")]
+               public string? get_current_folder ();
+               [Version (since = "2.14")]
                public GLib.File get_current_folder_file ();
-               public string get_current_folder_uri ();
+               [Version (since = "2.4")]
+               public string? get_current_folder_uri ();
+               [Version (since = "3.10")]
                public string get_current_name ();
+               [Version (since = "2.8")]
                public bool get_do_overwrite_confirmation ();
-               public unowned Gtk.Widget get_extra_widget ();
+               [Version (since = "2.4")]
+               public unowned Gtk.Widget? get_extra_widget ();
+               [Version (since = "2.14")]
                public GLib.File get_file ();
-               public string get_filename ();
+               [Version (since = "2.4")]
+               public string? get_filename ();
+               [Version (since = "2.4")]
                public GLib.SList<string> get_filenames ();
+               [Version (since = "2.14")]
                public GLib.SList<GLib.File> get_files ();
-               public unowned Gtk.FileFilter get_filter ();
+               [Version (since = "2.4")]
+               public unowned Gtk.FileFilter? get_filter ();
+               [Version (since = "2.4")]
                public bool get_local_only ();
-               public GLib.File get_preview_file ();
-               public string get_preview_filename ();
-               public string get_preview_uri ();
-               public unowned Gtk.Widget get_preview_widget ();
+               [Version (since = "2.14")]
+               public GLib.File? get_preview_file ();
+               [Version (since = "2.4")]
+               public string? get_preview_filename ();
+               [Version (since = "2.4")]
+               public string? get_preview_uri ();
+               [Version (since = "2.4")]
+               public unowned Gtk.Widget? get_preview_widget ();
+               [Version (since = "2.4")]
                public bool get_preview_widget_active ();
+               [Version (since = "2.4")]
                public bool get_select_multiple ();
+               [Version (since = "2.6")]
                public bool get_show_hidden ();
-               public string get_uri ();
+               [Version (since = "2.4")]
+               public string? get_uri ();
+               [Version (since = "2.4")]
                public GLib.SList<string> get_uris ();
                public bool get_use_preview_label ();
+               [Version (since = "2.4")]
                public GLib.SList<weak Gtk.FileFilter> list_filters ();
+               [Version (since = "2.4")]
                public GLib.SList<string>? list_shortcut_folder_uris ();
+               [Version (since = "2.4")]
                public GLib.SList<string>? list_shortcut_folders ();
+               [Version (since = "2.4")]
                public void remove_filter (Gtk.FileFilter filter);
+               [Version (since = "2.4")]
                public bool remove_shortcut_folder (string folder) throws GLib.Error;
+               [Version (since = "2.4")]
                public bool remove_shortcut_folder_uri (string uri) throws GLib.Error;
+               [Version (since = "2.4")]
                public void select_all ();
+               [Version (since = "2.14")]
                public bool select_file (GLib.File file) throws GLib.Error;
+               [Version (since = "2.4")]
                public bool select_filename (string filename);
+               [Version (since = "2.4")]
                public bool select_uri (string uri);
+               [Version (since = "2.4")]
                public void set_action (Gtk.FileChooserAction action);
+               [Version (since = "2.18")]
                public void set_create_folders (bool create_folders);
+               [Version (since = "2.4")]
                public bool set_current_folder (string filename);
+               [Version (since = "2.14")]
                public bool set_current_folder_file (GLib.File file) throws GLib.Error;
+               [Version (since = "2.4")]
                public bool set_current_folder_uri (string uri);
+               [Version (since = "2.4")]
                public void set_current_name (string name);
+               [Version (since = "2.8")]
                public void set_do_overwrite_confirmation (bool do_overwrite_confirmation);
+               [Version (since = "2.4")]
                public void set_extra_widget (Gtk.Widget extra_widget);
+               [Version (since = "2.14")]
                public bool set_file (GLib.File file) throws GLib.Error;
+               [Version (since = "2.4")]
                public bool set_filename (string filename);
+               [Version (since = "2.4")]
                public void set_filter (Gtk.FileFilter filter);
+               [Version (since = "2.4")]
                public void set_local_only (bool local_only);
+               [Version (since = "2.4")]
                public void set_preview_widget (Gtk.Widget preview_widget);
+               [Version (since = "2.4")]
                public void set_preview_widget_active (bool active);
+               [Version (since = "2.4")]
                public void set_select_multiple (bool select_multiple);
+               [Version (since = "2.6")]
                public void set_show_hidden (bool show_hidden);
+               [Version (since = "2.4")]
                public bool set_uri (string uri);
+               [Version (since = "2.4")]
                public void set_use_preview_label (bool use_label);
+               [Version (since = "2.4")]
                public void unselect_all ();
+               [Version (since = "2.14")]
                public void unselect_file (GLib.File file);
+               [Version (since = "2.4")]
                public void unselect_filename (string filename);
+               [Version (since = "2.4")]
                public void unselect_uri (string uri);
-               public Gtk.FileChooserAction action { get; set; }
-               public bool create_folders { get; set; }
-               public bool do_overwrite_confirmation { get; set; }
-               public Gtk.Widget extra_widget { get; set; }
-               public Gtk.FileFilter filter { get; set; }
-               public bool local_only { get; set; }
-               public Gtk.Widget preview_widget { get; set; }
-               public bool preview_widget_active { get; set; }
-               public bool select_multiple { get; set; }
-               public bool show_hidden { get; set; }
-               public bool use_preview_label { get; set; }
+               [ConcreteAccessor]
+               public abstract Gtk.FileChooserAction action { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.18")]
+               public abstract bool create_folders { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.8")]
+               public abstract bool do_overwrite_confirmation { get; set; }
+               [ConcreteAccessor]
+               public abstract Gtk.Widget extra_widget { get; set; }
+               [ConcreteAccessor]
+               public abstract Gtk.FileFilter filter { get; set; }
+               [ConcreteAccessor]
+               public abstract bool local_only { get; set; }
+               [ConcreteAccessor]
+               public abstract Gtk.Widget preview_widget { get; set; }
+               [ConcreteAccessor]
+               public abstract bool preview_widget_active { get; set; }
+               [ConcreteAccessor]
+               public abstract bool select_multiple { get; set; }
+               [ConcreteAccessor]
+               public abstract bool show_hidden { get; set; }
+               [ConcreteAccessor]
+               public abstract bool use_preview_label { get; set; }
+               [Version (since = "2.8")]
                public signal Gtk.FileChooserConfirmation confirm_overwrite ();
                public signal void current_folder_changed ();
                public signal void file_activated ();
                public signal void selection_changed ();
                public signal void update_preview ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public interface FileChooserEmbed : GLib.Object {
-       }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_chooser_get_type ()")]
        public interface FontChooser : GLib.Object {
-               public string get_font ();
-               public Pango.FontDescription get_font_desc ();
-               public abstract unowned Pango.FontFace get_font_face ();
-               public abstract unowned Pango.FontFamily get_font_family ();
+               [Version (since = "3.2")]
+               public string? get_font ();
+               [Version (since = "3.2")]
+               public Pango.FontDescription? get_font_desc ();
+               [Version (since = "3.2")]
+               public abstract unowned Pango.FontFace? get_font_face ();
+               [Version (since = "3.2")]
+               public abstract unowned Pango.FontFamily? get_font_family ();
+               [Version (since = "3.18")]
                public abstract Pango.FontMap? get_font_map ();
+               [Version (since = "3.2")]
                public abstract int get_font_size ();
+               [Version (since = "3.2")]
                public string get_preview_text ();
+               [Version (since = "3.2")]
                public bool get_show_preview_entry ();
-               public abstract void set_filter_func (owned Gtk.FontFilterFunc filter);
+               [Version (since = "3.2")]
+               public abstract void set_filter_func (owned Gtk.FontFilterFunc? filter);
+               [Version (since = "3.2")]
                public void set_font (string fontname);
+               [Version (since = "3.2")]
                public void set_font_desc (Pango.FontDescription font_desc);
-               public abstract void set_font_map (Pango.FontMap fontmap);
+               [Version (since = "3.18")]
+               public abstract void set_font_map (Pango.FontMap? fontmap);
+               [Version (since = "3.2")]
                public void set_preview_text (string text);
+               [Version (since = "3.2")]
                public void set_show_preview_entry (bool show_preview_entry);
-               public string font { owned get; set; }
-               public Pango.FontDescription font_desc { owned get; set; }
-               public string preview_text { owned get; set; }
-               public bool show_preview_entry { get; set; }
-               public signal void font_activated (string fontname);
-       }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+               [ConcreteAccessor]
+               public abstract string font { owned get; set; }
+               [ConcreteAccessor]
+               public abstract Pango.FontDescription font_desc { owned get; set; }
+               [ConcreteAccessor]
+               public abstract string preview_text { owned get; set; }
+               [ConcreteAccessor]
+               public abstract bool show_preview_entry { get; set; }
+               public virtual signal void font_activated (string fontname);
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_orientable_get_type ()")]
        public interface Orientable : GLib.Object {
+               [Version (since = "2.16")]
                public Gtk.Orientation get_orientation ();
+               [Version (since = "2.16")]
                public void set_orientation (Gtk.Orientation orientation);
-               public Gtk.Orientation orientation { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.16")]
+               public abstract Gtk.Orientation orientation { get; set; }
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_print_operation_preview_get_type ()")]
        public interface PrintOperationPreview : GLib.Object {
+               [Version (since = "2.10")]
                public abstract void end_preview ();
+               [Version (since = "2.10")]
                public abstract bool is_selected (int page_nr);
+               [Version (since = "2.10")]
                public abstract void render_page (int page_nr);
-               public signal void got_page_size (Gtk.PrintContext context, Gtk.PageSetup page_setup);
-               public signal void ready (Gtk.PrintContext context);
+               public virtual signal void got_page_size (Gtk.PrintContext context, Gtk.PageSetup page_setup);
+               public virtual signal void ready (Gtk.PrintContext context);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_recent_chooser_get_type ()")]
        public interface RecentChooser : GLib.Object {
+               [Version (since = "2.10")]
                public abstract void add_filter (Gtk.RecentFilter filter);
+               [Version (since = "2.10")]
                public Gtk.RecentInfo get_current_item ();
+               [Version (since = "2.10")]
                public abstract string get_current_uri ();
+               [Version (since = "2.10")]
                public unowned Gtk.RecentFilter get_filter ();
+               [Version (since = "2.10")]
                public abstract GLib.List<Gtk.RecentInfo> get_items ();
+               [Version (since = "2.10")]
                public int get_limit ();
+               [Version (since = "2.10")]
                public bool get_local_only ();
                [NoWrapper]
                public abstract unowned Gtk.RecentManager get_recent_manager ();
+               [Version (since = "2.10")]
                public bool get_select_multiple ();
+               [Version (since = "2.10")]
                public bool get_show_icons ();
+               [Version (since = "2.10")]
                public bool get_show_not_found ();
+               [Version (since = "2.10")]
                public bool get_show_private ();
+               [Version (since = "2.10")]
                public bool get_show_tips ();
+               [Version (since = "2.10")]
                public Gtk.RecentSortType get_sort_type ();
+               [CCode (array_length_pos = 0.1, array_length_type = "gsize", array_null_terminated = true)]
+               [Version (since = "2.10")]
                public string[] get_uris ();
+               [Version (since = "2.10")]
                public abstract GLib.SList<weak Gtk.RecentFilter> list_filters ();
+               [Version (since = "2.10")]
                public abstract void remove_filter (Gtk.RecentFilter filter);
+               [Version (since = "2.10")]
                public abstract void select_all ();
+               [Version (since = "2.10")]
                public abstract bool select_uri (string uri) throws GLib.Error;
+               [Version (since = "2.10")]
                public abstract bool set_current_uri (string uri) throws GLib.Error;
-               public void set_filter (Gtk.RecentFilter filter);
+               [Version (since = "2.10")]
+               public void set_filter (Gtk.RecentFilter? filter);
+               [Version (since = "2.10")]
                public void set_limit (int limit);
+               [Version (since = "2.10")]
                public void set_local_only (bool local_only);
+               [Version (since = "2.10")]
                public void set_select_multiple (bool select_multiple);
+               [Version (since = "2.10")]
                public void set_show_icons (bool show_icons);
+               [Version (since = "2.10")]
                public void set_show_not_found (bool show_not_found);
+               [Version (since = "2.10")]
                public void set_show_private (bool show_private);
+               [Version (since = "2.10")]
                public void set_show_tips (bool show_tips);
+               [Version (since = "2.10")]
                public abstract void set_sort_func (owned Gtk.RecentSortFunc sort_func);
+               [Version (since = "2.10")]
                public void set_sort_type (Gtk.RecentSortType sort_type);
+               [Version (since = "2.10")]
                public abstract void unselect_all ();
+               [Version (since = "2.10")]
                public abstract void unselect_uri (string uri);
-               public Gtk.RecentFilter filter { get; set; }
-               public int limit { get; set; }
-               public bool local_only { get; set; }
-               public Gtk.RecentManager recent_manager { construct; }
-               public bool select_multiple { get; set; }
-               public bool show_icons { get; set; }
-               public bool show_not_found { get; set; }
-               public bool show_private { get; set; }
-               public bool show_tips { get; set; }
-               public Gtk.RecentSortType sort_type { get; set; }
-               public signal void item_activated ();
-               public signal void selection_changed ();
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract Gtk.RecentFilter filter { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract int limit { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract bool local_only { get; set; }
+               [Version (since = "2.10")]
+               public abstract Gtk.RecentManager recent_manager { construct; }
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract bool select_multiple { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract bool show_icons { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract bool show_not_found { get; set; }
+               [ConcreteAccessor]
+               public abstract bool show_private { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract bool show_tips { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "2.10")]
+               public abstract Gtk.RecentSortType sort_type { get; set; }
+               [Version (since = "2.10")]
+               public virtual signal void item_activated ();
+               [Version (since = "2.10")]
+               public virtual signal void selection_changed ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkScrollableInterface")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GtkScrollableInterface", type_id = 
"gtk_scrollable_get_type ()")]
        public interface Scrollable : GLib.Object {
-               public virtual bool get_border (out Gtk.Border border);
+               [Version (since = "3.16")]
+               public abstract bool get_border (out Gtk.Border border);
+               [Version (since = "3.0")]
                public unowned Gtk.Adjustment get_hadjustment ();
+               [Version (since = "3.0")]
                public Gtk.ScrollablePolicy get_hscroll_policy ();
+               [Version (since = "3.0")]
                public unowned Gtk.Adjustment get_vadjustment ();
+               [Version (since = "3.0")]
                public Gtk.ScrollablePolicy get_vscroll_policy ();
-               public void set_hadjustment (Gtk.Adjustment hadjustment);
+               [Version (since = "3.0")]
+               public void set_hadjustment (Gtk.Adjustment? hadjustment);
+               [Version (since = "3.0")]
                public void set_hscroll_policy (Gtk.ScrollablePolicy policy);
-               public void set_vadjustment (Gtk.Adjustment vadjustment);
+               [Version (since = "3.0")]
+               public void set_vadjustment (Gtk.Adjustment? vadjustment);
+               [Version (since = "3.0")]
                public void set_vscroll_policy (Gtk.ScrollablePolicy policy);
-               public Gtk.Adjustment hadjustment { get; set construct; }
-               public Gtk.ScrollablePolicy hscroll_policy { get; set; }
-               public Gtk.Adjustment vadjustment { get; set construct; }
-               public Gtk.ScrollablePolicy vscroll_policy { get; set; }
-       }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+               [ConcreteAccessor]
+               [Version (since = "3.0")]
+               public abstract Gtk.Adjustment hadjustment { get; set construct; }
+               [ConcreteAccessor]
+               [Version (since = "3.0")]
+               public abstract Gtk.ScrollablePolicy hscroll_policy { get; set; }
+               [ConcreteAccessor]
+               [Version (since = "3.0")]
+               public abstract Gtk.Adjustment vadjustment { get; set construct; }
+               [ConcreteAccessor]
+               [Version (since = "3.0")]
+               public abstract Gtk.ScrollablePolicy vscroll_policy { get; set; }
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_style_provider_get_type ()")]
        public interface StyleProvider : GLib.Object {
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public abstract unowned Gtk.IconFactory get_icon_factory (Gtk.WidgetPath path);
+               [Version (deprecated = true, deprecated_since = "3.8", since = "3.0")]
                public abstract Gtk.StyleProperties get_style (Gtk.WidgetPath path);
+               [Version (since = "3.0")]
                public abstract bool get_style_property (Gtk.WidgetPath path, Gtk.StateFlags state, 
GLib.ParamSpec pspec, out GLib.Value value);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tool_shell_get_type ()")]
        public interface ToolShell : Gtk.Widget {
+               [Version (since = "2.20")]
                public abstract Pango.EllipsizeMode get_ellipsize_mode ();
+               [NoWrapper]
                public abstract Gtk.IconSize get_icon_size ();
+               [Version (since = "2.14")]
                public abstract Gtk.Orientation get_orientation ();
+               [Version (since = "2.14")]
                public abstract Gtk.ReliefStyle get_relief_style ();
+               [Version (since = "2.14")]
                public abstract Gtk.ToolbarStyle get_style ();
+               [Version (since = "2.20")]
                public abstract float get_text_alignment ();
+               [Version (since = "2.20")]
                public abstract Gtk.Orientation get_text_orientation ();
+               [Version (since = "2.20")]
                public abstract unowned Gtk.SizeGroup get_text_size_group ();
+               [Version (since = "2.14")]
                public abstract void rebuild_menu ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_drag_dest_get_type ()")]
        public interface TreeDragDest : GLib.Object {
                public abstract bool drag_data_received (Gtk.TreePath dest, Gtk.SelectionData selection_data);
                public abstract bool row_drop_possible (Gtk.TreePath dest_path, Gtk.SelectionData 
selection_data);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_drag_source_get_type ()")]
        public interface TreeDragSource : GLib.Object {
                public abstract bool drag_data_delete (Gtk.TreePath path);
                public abstract bool drag_data_get (Gtk.TreePath path, Gtk.SelectionData selection_data);
                public abstract bool row_draggable (Gtk.TreePath path);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_model_get_type ()")]
        public interface TreeModel : GLib.Object {
                public void @foreach (Gtk.TreeModelForeachFunc func);
                [CCode (sentinel = "-1")]
@@ -7564,8 +10691,9 @@ namespace Gtk {
                public bool get_iter_from_string (out Gtk.TreeIter iter, string path_string);
                public abstract int get_n_columns ();
                public abstract Gtk.TreePath? get_path (Gtk.TreeIter iter);
+               [Version (since = "2.2")]
                public string get_string_from_iter (Gtk.TreeIter iter);
-               public void get_valist (Gtk.TreeIter iter, va_list var_args);
+               public void get_valist (Gtk.TreeIter iter, [CCode (type = "va_list")] va_list var_args);
                public abstract void get_value (Gtk.TreeIter iter, int column, out GLib.Value value);
                public abstract bool iter_children (out Gtk.TreeIter iter, Gtk.TreeIter? parent);
                public abstract bool iter_has_child (Gtk.TreeIter iter);
@@ -7573,22 +10701,24 @@ namespace Gtk {
                public abstract bool iter_next (ref Gtk.TreeIter iter);
                public abstract bool iter_nth_child (out Gtk.TreeIter iter, Gtk.TreeIter? parent, int n);
                public abstract bool iter_parent (out Gtk.TreeIter iter, Gtk.TreeIter child);
+               [Version (since = "3.0")]
                public virtual bool iter_previous (ref Gtk.TreeIter iter);
                public virtual void ref_node (Gtk.TreeIter iter);
-               public void rows_reordered_with_length (Gtk.TreePath path, Gtk.TreeIter? iter, [CCode 
(array_length_pos = 3.1)] int[] new_order);
+               [Version (since = "3.10")]
+               public void rows_reordered_with_length (Gtk.TreePath path, Gtk.TreeIter? iter, [CCode 
(array_length_cname = "length", array_length_pos = 3.1)] int[] new_order);
                public virtual void unref_node (Gtk.TreeIter iter);
                [HasEmitter]
-               public signal void row_changed (Gtk.TreePath path, Gtk.TreeIter iter);
+               public virtual signal void row_changed (Gtk.TreePath path, Gtk.TreeIter iter);
                [HasEmitter]
-               public signal void row_deleted (Gtk.TreePath path);
+               public virtual signal void row_deleted (Gtk.TreePath path);
                [HasEmitter]
-               public signal void row_has_child_toggled (Gtk.TreePath path, Gtk.TreeIter iter);
+               public virtual signal void row_has_child_toggled (Gtk.TreePath path, Gtk.TreeIter iter);
                [HasEmitter]
-               public signal void row_inserted (Gtk.TreePath path, Gtk.TreeIter iter);
+               public virtual signal void row_inserted (Gtk.TreePath path, Gtk.TreeIter iter);
                [HasEmitter]
-               public signal void rows_reordered (Gtk.TreePath path, Gtk.TreeIter? iter, [CCode 
(array_length = false)] int[] new_order);
+               public virtual signal void rows_reordered (Gtk.TreePath path, Gtk.TreeIter iter, [CCode 
(array_length = false)] int[] new_order);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_sortable_get_type ()")]
        public interface TreeSortable : Gtk.TreeModel, GLib.Object {
                public abstract bool get_sort_column_id (out int sort_column_id, out Gtk.SortType order);
                public abstract bool has_default_sort_func ();
@@ -7596,21 +10726,22 @@ namespace Gtk {
                public abstract void set_sort_column_id (int sort_column_id, Gtk.SortType order);
                public abstract void set_sort_func (int sort_column_id, owned Gtk.TreeIterCompareFunc 
sort_func);
                [HasEmitter]
-               public signal void sort_column_changed ();
+               public virtual signal void sort_column_changed ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct AccelGroupEntry {
                public Gtk.AccelKey key;
                public weak GLib.Closure closure;
                public GLib.Quark accel_path_quark;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct AccelKey {
                public uint accel_key;
                public Gdk.ModifierType accel_mods;
                public uint accel_flags;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public struct ActionEntry {
                public weak string name;
                public weak string stock_id;
@@ -7623,7 +10754,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public struct Allocation : Gdk.Rectangle {
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct BindingArg {
                [CCode (cname = "d.long_data")]
                public long long_data;
@@ -7633,14 +10764,19 @@ namespace Gtk {
                public weak string string_data;
                public GLib.Type arg_type;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_border_get_type ()")]
        public struct Border {
                public int16 left;
                public int16 right;
                public int16 top;
                public int16 bottom;
+               [CCode (has_construct_function = false, type = "GtkBorder*")]
+               [Version (since = "2.14")]
+               public Border ();
+               public Gtk.Border? copy ();
+               public void free ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h,gtk/gtkimmodule.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct IMContextInfo {
                public weak string context_id;
                public weak string context_name;
@@ -7648,12 +10784,13 @@ namespace Gtk {
                public weak string domain_dirname;
                public weak string default_locales;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct PageRange {
                public int start;
                public int end;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public struct RadioActionEntry {
                public weak string name;
                public weak string stock_id;
@@ -7662,66 +10799,72 @@ namespace Gtk {
                public weak string tooltip;
                public int value;
        }
-       [CCode (cheader_filename = "gtk/gtk.h", has_copy_function = false, has_destroy_function = false)]
+       [CCode (cheader_filename = "gtk/gtk.h", has_copy_function = false, has_destroy_function = false, 
has_type_id = false)]
        public struct RecentData {
-               public string display_name;
-               public string description;
+               public string? display_name;
+               public string? description;
                public string mime_type;
                public string app_name;
                public string app_exec;
-               [CCode (array_length = false, array_null_terminated = true)]
+               [CCode (array_length = false)]
                public string[] groups;
                public bool is_private;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct RecentFilterInfo {
                public Gtk.RecentFilterFlags contains;
-               public weak string uri;
-               public weak string display_name;
-               public weak string mime_type;
-               [CCode (array_length = false, array_null_terminated = true)]
-               public weak string[] applications;
-               [CCode (array_length = false, array_null_terminated = true)]
-               public weak string[] groups;
+               public weak string? uri;
+               public weak string? display_name;
+               public weak string? mime_type;
+               [CCode (array_length = false)]
+               public weak string[]? applications;
+               [CCode (array_length = false)]
+               public weak string[]? groups;
                public int age;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct RequestedSize {
                public void* data;
                public int minimum_size;
                public int natural_size;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_requisition_get_type ()")]
        public struct Requisition {
                public int width;
                public int height;
-               public Gtk.Requisition copy ();
+               [CCode (has_construct_function = false, type = "GtkRequisition*")]
+               [Version (since = "3.0")]
+               public Requisition ();
+               public Gtk.Requisition? copy ();
                public void free ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct SettingsValue {
                public weak string origin;
                public GLib.Value value;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public struct StockItem {
                public weak string stock_id;
                public weak string label;
                public Gdk.ModifierType modifier;
                public uint keyval;
                public weak string translation_domain;
-               public Gtk.StockItem copy ();
+               public Gtk.StockItem? copy ();
                public void free ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_target_entry_get_type ()")]
        public struct TargetEntry {
                public weak string target;
                public uint flags;
                public uint info;
-               public Gtk.TargetEntry copy ();
+               [CCode (has_construct_function = false, type = "GtkTargetEntry*")]
+               public TargetEntry (string target, uint flags, uint info);
+               public Gtk.TargetEntry? copy ();
                public void free ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        public struct TextAppearance {
                public Gdk.Color bg_color;
                public Gdk.Color fg_color;
@@ -7732,30 +10875,38 @@ namespace Gtk {
                public uint inside_selection;
                public uint is_text;
                [CCode (array_length = false)]
-               public Gdk.RGBA[] rgba;
+               public weak Gdk.RGBA rgba[2];
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_text_iter_get_type ()")]
        public struct TextIter {
+               [Version (since = "3.2")]
                public void assign (Gtk.TextIter other);
                public bool backward_char ();
                public bool backward_chars (int count);
                public bool backward_cursor_position ();
                public bool backward_cursor_positions (int count);
-               public bool backward_find_char (Gtk.TextCharPredicate pred, Gtk.TextIter? limit);
+               public bool backward_find_char ([CCode (delegate_target_pos = 1.5)] Gtk.TextCharPredicate 
pred, Gtk.TextIter? limit);
                public bool backward_line ();
                public bool backward_lines (int count);
                public bool backward_search (string str, Gtk.TextSearchFlags flags, out Gtk.TextIter 
match_start, out Gtk.TextIter match_end, Gtk.TextIter? limit);
                public bool backward_sentence_start ();
                public bool backward_sentence_starts (int count);
                public bool backward_to_tag_toggle (Gtk.TextTag? tag);
+               [Version (since = "2.4")]
                public bool backward_visible_cursor_position ();
+               [Version (since = "2.4")]
                public bool backward_visible_cursor_positions (int count);
+               [Version (since = "2.8")]
                public bool backward_visible_line ();
+               [Version (since = "2.8")]
                public bool backward_visible_lines (int count);
+               [Version (since = "2.4")]
                public bool backward_visible_word_start ();
+               [Version (since = "2.4")]
                public bool backward_visible_word_starts (int count);
                public bool backward_word_start ();
                public bool backward_word_starts (int count);
+               [Version (deprecated = true, deprecated_since = "3.20")]
                public bool begins_tag (Gtk.TextTag? tag);
                public bool can_insert (bool default_editability);
                public int compare (Gtk.TextIter rhs);
@@ -7770,7 +10921,7 @@ namespace Gtk {
                public bool forward_chars (int count);
                public bool forward_cursor_position ();
                public bool forward_cursor_positions (int count);
-               public bool forward_find_char (Gtk.TextCharPredicate pred, Gtk.TextIter? limit);
+               public bool forward_find_char ([CCode (delegate_target_pos = 1.5)] Gtk.TextCharPredicate 
pred, Gtk.TextIter? limit);
                public bool forward_line ();
                public bool forward_lines (int count);
                public bool forward_search (string str, Gtk.TextSearchFlags flags, out Gtk.TextIter 
match_start, out Gtk.TextIter match_end, Gtk.TextIter? limit);
@@ -7779,11 +10930,17 @@ namespace Gtk {
                public void forward_to_end ();
                public bool forward_to_line_end ();
                public bool forward_to_tag_toggle (Gtk.TextTag? tag);
+               [Version (since = "2.4")]
                public bool forward_visible_cursor_position ();
+               [Version (since = "2.4")]
                public bool forward_visible_cursor_positions (int count);
+               [Version (since = "2.8")]
                public bool forward_visible_line ();
+               [Version (since = "2.8")]
                public bool forward_visible_lines (int count);
+               [Version (since = "2.4")]
                public bool forward_visible_word_end ();
+               [Version (since = "2.4")]
                public bool forward_visible_word_ends (int count);
                public bool forward_word_end ();
                public bool forward_word_ends (int count);
@@ -7825,11 +10982,13 @@ namespace Gtk {
                public void set_visible_line_offset (int char_on_line);
                public bool starts_line ();
                public bool starts_sentence ();
-               public bool starts_tag (Gtk.TextTag tag);
+               [Version (since = "3.20")]
+               public bool starts_tag (Gtk.TextTag? tag);
                public bool starts_word ();
-               public bool toggles_tag (Gtk.TextTag tag);
+               public bool toggles_tag (Gtk.TextTag? tag);
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public struct ToggleActionEntry {
                public weak string name;
                public weak string stock_id;
@@ -7840,21 +10999,23 @@ namespace Gtk {
                public weak Gtk.ActionCallback callback;
                public bool is_active;
        }
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_iter_get_type ()")]
        public struct TreeIter {
                public int stamp;
                public void* user_data;
                public void* user_data2;
                public void* user_data3;
+               public Gtk.TreeIter? copy ();
+               public void free ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ACCEL_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ACCEL_", type_id = "gtk_accel_flags_get_type 
()")]
        [Flags]
        public enum AccelFlags {
                VISIBLE,
                LOCKED,
                MASK
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ALIGN_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ALIGN_", type_id = "gtk_align_get_type ()")]
        public enum Align {
                FILL,
                START,
@@ -7862,21 +11023,22 @@ namespace Gtk {
                CENTER,
                BASELINE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_APPLICATION_INHIBIT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_APPLICATION_INHIBIT_", type_id = 
"gtk_application_inhibit_flags_get_type ()")]
        [Flags]
+       [Version (since = "3.4")]
        public enum ApplicationInhibitFlags {
                LOGOUT,
                SWITCH,
                SUSPEND,
                IDLE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ARROWS_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ARROWS_", type_id = 
"gtk_arrow_placement_get_type ()")]
        public enum ArrowPlacement {
                BOTH,
                START,
                END
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ARROW_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ARROW_", type_id = "gtk_arrow_type_get_type 
()")]
        public enum ArrowType {
                UP,
                DOWN,
@@ -7884,7 +11046,7 @@ namespace Gtk {
                RIGHT,
                NONE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ASSISTANT_PAGE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ASSISTANT_PAGE_", type_id = 
"gtk_assistant_page_type_get_type ()")]
        public enum AssistantPageType {
                CONTENT,
                INTRO,
@@ -7893,20 +11055,21 @@ namespace Gtk {
                PROGRESS,
                CUSTOM
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_", type_id = "gtk_attach_options_get_type ()")]
        [Flags]
        public enum AttachOptions {
                EXPAND,
                SHRINK,
                FILL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BASELINE_POSITION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BASELINE_POSITION_", type_id = 
"gtk_baseline_position_get_type ()")]
+       [Version (since = "3.10")]
        public enum BaselinePosition {
                TOP,
                CENTER,
                BOTTOM
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BORDER_STYLE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BORDER_STYLE_", type_id = 
"gtk_border_style_get_type ()")]
        public enum BorderStyle {
                NONE,
                SOLID,
@@ -7919,7 +11082,7 @@ namespace Gtk {
                GROOVE,
                RIDGE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BUTTONBOX_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BUTTONBOX_", type_id = 
"gtk_button_box_style_get_type ()")]
        public enum ButtonBoxStyle {
                SPREAD,
                EDGE,
@@ -7928,13 +11091,13 @@ namespace Gtk {
                CENTER,
                EXPAND
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BUTTON_ROLE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BUTTON_ROLE_", type_id = 
"gtk_button_role_get_type ()")]
        public enum ButtonRole {
                NORMAL,
                CHECK,
                RADIO
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BUTTONS_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_BUTTONS_", type_id = 
"gtk_buttons_type_get_type ()")]
        public enum ButtonsType {
                NONE,
                OK,
@@ -7943,7 +11106,7 @@ namespace Gtk {
                YES_NO,
                OK_CANCEL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CALENDAR_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CALENDAR_", type_id = 
"gtk_calendar_display_options_get_type ()")]
        [Flags]
        public enum CalendarDisplayOptions {
                SHOW_HEADING,
@@ -7952,18 +11115,18 @@ namespace Gtk {
                SHOW_WEEK_NUMBERS,
                SHOW_DETAILS
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CELL_RENDERER_ACCEL_MODE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CELL_RENDERER_ACCEL_MODE_", type_id = 
"gtk_cell_renderer_accel_mode_get_type ()")]
        public enum CellRendererAccelMode {
                GTK,
                OTHER
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CELL_RENDERER_MODE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CELL_RENDERER_MODE_", type_id = 
"gtk_cell_renderer_mode_get_type ()")]
        public enum CellRendererMode {
                INERT,
                ACTIVATABLE,
                EDITABLE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CELL_RENDERER_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CELL_RENDERER_", type_id = 
"gtk_cell_renderer_state_get_type ()")]
        [Flags]
        public enum CellRendererState {
                SELECTED,
@@ -7974,14 +11137,15 @@ namespace Gtk {
                EXPANDABLE,
                EXPANDED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CORNER_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CORNER_", type_id = "gtk_corner_type_get_type 
()")]
        public enum CornerType {
                TOP_LEFT,
                BOTTOM_LEFT,
                TOP_RIGHT,
                BOTTOM_RIGHT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CSS_SECTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CSS_SECTION_", type_id = 
"gtk_css_section_type_get_type ()")]
+       [Version (since = "3.2")]
        public enum CssSectionType {
                DOCUMENT,
                IMPORT,
@@ -7993,7 +11157,7 @@ namespace Gtk {
                VALUE,
                KEYFRAMES
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DEBUG_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DEBUG_", type_id = "gtk_debug_flag_get_type 
()")]
        [Flags]
        public enum DebugFlag {
                MISC,
@@ -8019,7 +11183,7 @@ namespace Gtk {
                RESIZE,
                LAYOUT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DELETE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DELETE_", type_id = "gtk_delete_type_get_type 
()")]
        public enum DeleteType {
                CHARS,
                WORD_ENDS,
@@ -8030,7 +11194,7 @@ namespace Gtk {
                PARAGRAPHS,
                WHITESPACE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DEST_DEFAULT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DEST_DEFAULT_", type_id = 
"gtk_dest_defaults_get_type ()")]
        [Flags]
        public enum DestDefaults {
                MOTION,
@@ -8038,14 +11202,14 @@ namespace Gtk {
                DROP,
                ALL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DIALOG_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DIALOG_", type_id = "gtk_dialog_flags_get_type 
()")]
        [Flags]
        public enum DialogFlags {
                MODAL,
                DESTROY_WITH_PARENT,
                USE_HEADER_BAR
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DIR_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DIR_", type_id = "gtk_direction_type_get_type 
()")]
        public enum DirectionType {
                TAB_FORWARD,
                TAB_BACKWARD,
@@ -8054,7 +11218,7 @@ namespace Gtk {
                LEFT,
                RIGHT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DRAG_RESULT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_DRAG_RESULT_", type_id = 
"gtk_drag_result_get_type ()")]
        public enum DragResult {
                SUCCESS,
                NO_TARGET,
@@ -8063,38 +11227,41 @@ namespace Gtk {
                GRAB_BROKEN,
                ERROR
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ENTRY_ICON_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ENTRY_ICON_", type_id = 
"gtk_entry_icon_position_get_type ()")]
+       [Version (since = "2.16")]
        public enum EntryIconPosition {
                PRIMARY,
                SECONDARY
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_EVENT_SEQUENCE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_EVENT_SEQUENCE_", type_id = 
"gtk_event_sequence_state_get_type ()")]
+       [Version (since = "3.14")]
        public enum EventSequenceState {
                NONE,
                CLAIMED,
                DENIED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_EXPANDER_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_EXPANDER_", type_id = 
"gtk_expander_style_get_type ()")]
        public enum ExpanderStyle {
                COLLAPSED,
                SEMI_COLLAPSED,
                SEMI_EXPANDED,
                EXPANDED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_CHOOSER_ACTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_CHOOSER_ACTION_", type_id = 
"gtk_file_chooser_action_get_type ()")]
        public enum FileChooserAction {
                OPEN,
                SAVE,
                SELECT_FOLDER,
                CREATE_FOLDER
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_CHOOSER_CONFIRMATION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_CHOOSER_CONFIRMATION_", type_id = 
"gtk_file_chooser_confirmation_get_type ()")]
+       [Version (since = "2.8")]
        public enum FileChooserConfirmation {
                CONFIRM,
                ACCEPT_FILENAME,
                SELECT_AGAIN
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_FILTER_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_FILTER_", type_id = 
"gtk_file_filter_flags_get_type ()")]
        [Flags]
        public enum FileFilterFlags {
                FILENAME,
@@ -8102,19 +11269,21 @@ namespace Gtk {
                DISPLAY_NAME,
                MIME_TYPE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_IM_PREEDIT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_IM_PREEDIT_", type_id = 
"gtk_im_preedit_style_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public enum IMPreeditStyle {
                NOTHING,
                CALLBACK,
                NONE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_IM_STATUS_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_IM_STATUS_", type_id = 
"gtk_im_status_style_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public enum IMStatusStyle {
                NOTHING,
                CALLBACK,
                NONE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ICON_LOOKUP_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ICON_LOOKUP_", type_id = 
"gtk_icon_lookup_flags_get_type ()")]
        [Flags]
        public enum IconLookupFlags {
                NO_SVG,
@@ -8127,7 +11296,7 @@ namespace Gtk {
                DIR_LTR,
                DIR_RTL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ICON_SIZE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ICON_SIZE_", type_id = "gtk_icon_size_get_type 
()")]
        public enum IconSize {
                INVALID,
                MENU,
@@ -8137,7 +11306,7 @@ namespace Gtk {
                DND,
                DIALOG
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ICON_VIEW_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ICON_VIEW_", type_id = 
"gtk_icon_view_drop_position_get_type ()")]
        public enum IconViewDropPosition {
                NO_DROP,
                DROP_INTO,
@@ -8146,7 +11315,7 @@ namespace Gtk {
                DROP_ABOVE,
                DROP_BELOW
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_IMAGE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_IMAGE_", type_id = "gtk_image_type_get_type 
()")]
        public enum ImageType {
                EMPTY,
                PIXBUF,
@@ -8157,8 +11326,9 @@ namespace Gtk {
                GICON,
                SURFACE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_INPUT_HINT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_INPUT_HINT_", type_id = 
"gtk_input_hints_get_type ()")]
        [Flags]
+       [Version (since = "3.6")]
        public enum InputHints {
                NONE,
                SPELLCHECK,
@@ -8171,7 +11341,8 @@ namespace Gtk {
                INHIBIT_OSK,
                VERTICAL_WRITING
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_INPUT_PURPOSE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_INPUT_PURPOSE_", type_id = 
"gtk_input_purpose_get_type ()")]
+       [Version (since = "3.6")]
        public enum InputPurpose {
                FREE_FORM,
                ALPHA,
@@ -8184,7 +11355,7 @@ namespace Gtk {
                PASSWORD,
                PIN
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_JUNCTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_JUNCTION_", type_id = 
"gtk_junction_sides_get_type ()")]
        [Flags]
        public enum JunctionSides {
                NONE,
@@ -8197,19 +11368,21 @@ namespace Gtk {
                LEFT,
                RIGHT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_JUSTIFY_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_JUSTIFY_", type_id = 
"gtk_justification_get_type ()")]
        public enum Justification {
                LEFT,
                RIGHT,
                CENTER,
                FILL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_LEVEL_BAR_MODE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_LEVEL_BAR_MODE_", type_id = 
"gtk_level_bar_mode_get_type ()")]
+       [Version (since = "3.6")]
        public enum LevelBarMode {
                CONTINUOUS,
                DISCRETE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_LICENSE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_LICENSE_", type_id = "gtk_license_get_type 
()")]
+       [Version (since = "3.0")]
        public enum License {
                UNKNOWN,
                CUSTOM,
@@ -8226,14 +11399,14 @@ namespace Gtk {
                LGPL_3_0_ONLY,
                AGPL_3_0
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_MENU_DIR_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_MENU_DIR_", type_id = 
"gtk_menu_direction_type_get_type ()")]
        public enum MenuDirectionType {
                PARENT,
                CHILD,
                NEXT,
                PREV
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_MESSAGE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_MESSAGE_", type_id = 
"gtk_message_type_get_type ()")]
        public enum MessageType {
                INFO,
                WARNING,
@@ -8241,7 +11414,7 @@ namespace Gtk {
                ERROR,
                OTHER
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_MOVEMENT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_MOVEMENT_", type_id = 
"gtk_movement_step_get_type ()")]
        public enum MovementStep {
                LOGICAL_POSITIONS,
                VISUAL_POSITIONS,
@@ -8254,60 +11427,86 @@ namespace Gtk {
                BUFFER_ENDS,
                HORIZONTAL_PAGES
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_NOTEBOOK_TAB_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_NOTEBOOK_TAB_", type_id = 
"gtk_notebook_tab_get_type ()")]
        public enum NotebookTab {
                FIRST,
                LAST
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_NUMBER_UP_LAYOUT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_NUMBER_UP_LAYOUT_", type_id = 
"gtk_number_up_layout_get_type ()")]
        public enum NumberUpLayout {
+               [Version (deprecated_since = "vala-0.34", replacement = "LRTB")]
                LEFT_TO_RIGHT_TOP_TO_BOTTOM,
+               [Version (deprecated_since = "vala-0.34", replacement = "LRBT")]
                LEFT_TO_RIGHT_BOTTOM_TO_TOP,
+               [Version (deprecated_since = "vala-0.34", replacement = "RLTB")]
                RIGHT_TO_LEFT_TOP_TO_BOTTOM,
+               [Version (deprecated_since = "vala-0.34", replacement = "RLBT")]
                RIGHT_TO_LEFT_BOTTOM_TO_TOP,
+               [Version (deprecated_since = "vala-0.34", replacement = "TBLR")]
                TOP_TO_BOTTOM_LEFT_TO_RIGHT,
+               [Version (deprecated_since = "vala-0.34", replacement = "TBRL")]
                TOP_TO_BOTTOM_RIGHT_TO_LEFT,
+               [Version (deprecated_since = "vala-0.34", replacement = "BTLR")]
                BOTTOM_TO_TOP_LEFT_TO_RIGHT,
-               BOTTOM_TO_TOP_RIGHT_TO_LEFT
-       }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ORIENTATION_")]
+               [Version (deprecated_since = "vala-0.34", replacement = "BTRL")]
+               BOTTOM_TO_TOP_RIGHT_TO_LEFT,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM")]
+               LRTB,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP")]
+               LRBT,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM")]
+               RLTB,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP")]
+               RLBT,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT")]
+               TBLR,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT")]
+               TBRL,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT")]
+               BTLR,
+               [CCode (cname = "GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT")]
+               BTRL
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ORIENTATION_", type_id = 
"gtk_orientation_get_type ()")]
        public enum Orientation {
                HORIZONTAL,
                VERTICAL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PACK_DIRECTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PACK_DIRECTION_", type_id = 
"gtk_pack_direction_get_type ()")]
        public enum PackDirection {
                LTR,
                RTL,
                TTB,
                BTT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PACK_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PACK_", type_id = "gtk_pack_type_get_type ()")]
        public enum PackType {
                START,
                END
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PAGE_ORIENTATION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PAGE_ORIENTATION_", type_id = 
"gtk_page_orientation_get_type ()")]
        public enum PageOrientation {
                PORTRAIT,
                LANDSCAPE,
                REVERSE_PORTRAIT,
                REVERSE_LANDSCAPE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PAGE_SET_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PAGE_SET_", type_id = "gtk_page_set_get_type 
()")]
        public enum PageSet {
                ALL,
                EVEN,
                ODD
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PAN_DIRECTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PAN_DIRECTION_", type_id = 
"gtk_pan_direction_get_type ()")]
+       [Version (since = "3.14")]
        public enum PanDirection {
                LEFT,
                RIGHT,
                UP,
                DOWN
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PATH_PRIO_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PATH_PRIO_", type_id = 
"gtk_path_priority_type_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public enum PathPriorityType {
                LOWEST,
                GTK,
@@ -8316,73 +11515,75 @@ namespace Gtk {
                RC,
                HIGHEST
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PATH_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PATH_", type_id = "gtk_path_type_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public enum PathType {
                WIDGET,
                WIDGET_CLASS,
                CLASS
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PLACES_OPEN_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PLACES_OPEN_", type_id = 
"gtk_places_open_flags_get_type ()")]
        [Flags]
        public enum PlacesOpenFlags {
                NORMAL,
                NEW_TAB,
                NEW_WINDOW
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_POLICY_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_POLICY_", type_id = "gtk_policy_type_get_type 
()")]
        public enum PolicyType {
                ALWAYS,
                AUTOMATIC,
                NEVER,
                EXTERNAL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_POPOVER_CONSTRAINT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_POPOVER_CONSTRAINT_", type_id = 
"gtk_popover_constraint_get_type ()")]
+       [Version (since = "3.20")]
        public enum PopoverConstraint {
                NONE,
                WINDOW
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_POS_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_POS_", type_id = "gtk_position_type_get_type 
()")]
        public enum PositionType {
                LEFT,
                RIGHT,
                TOP,
                BOTTOM
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_DUPLEX_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_DUPLEX_", type_id = 
"gtk_print_duplex_get_type ()")]
        public enum PrintDuplex {
                SIMPLEX,
                HORIZONTAL,
                VERTICAL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_OPERATION_ACTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_OPERATION_ACTION_", type_id = 
"gtk_print_operation_action_get_type ()")]
        public enum PrintOperationAction {
                PRINT_DIALOG,
                PRINT,
                PREVIEW,
                EXPORT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_OPERATION_RESULT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_OPERATION_RESULT_", type_id = 
"gtk_print_operation_result_get_type ()")]
        public enum PrintOperationResult {
                ERROR,
                APPLY,
                CANCEL,
                IN_PROGRESS
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_PAGES_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_PAGES_", type_id = 
"gtk_print_pages_get_type ()")]
        public enum PrintPages {
                ALL,
                CURRENT,
                RANGES,
                SELECTION
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_QUALITY_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_QUALITY_", type_id = 
"gtk_print_quality_get_type ()")]
        public enum PrintQuality {
                LOW,
                NORMAL,
                HIGH,
                DRAFT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_STATUS_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_STATUS_", type_id = 
"gtk_print_status_get_type ()")]
        public enum PrintStatus {
                INITIAL,
                PREPARING,
@@ -8394,14 +11595,15 @@ namespace Gtk {
                FINISHED,
                FINISHED_ABORTED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PHASE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PHASE_", type_id = 
"gtk_propagation_phase_get_type ()")]
+       [Version (since = "3.14")]
        public enum PropagationPhase {
                NONE,
                CAPTURE,
                BUBBLE,
                TARGET
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RC_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RC_", type_id = "gtk_rc_flags_get_type ()")]
        [Flags]
        public enum RcFlags {
                FG,
@@ -8409,7 +11611,8 @@ namespace Gtk {
                TEXT,
                BASE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RC_TOKEN_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RC_TOKEN_", type_id = 
"gtk_rc_token_type_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public enum RcTokenType {
                INVALID,
                INCLUDE,
@@ -8452,7 +11655,7 @@ namespace Gtk {
                UNBIND,
                LAST
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RECENT_FILTER_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RECENT_FILTER_", type_id = 
"gtk_recent_filter_flags_get_type ()")]
        [Flags]
        public enum RecentFilterFlags {
                URI,
@@ -8462,14 +11665,15 @@ namespace Gtk {
                GROUP,
                AGE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RECENT_SORT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RECENT_SORT_", type_id = 
"gtk_recent_sort_type_get_type ()")]
+       [Version (since = "2.10")]
        public enum RecentSortType {
                NONE,
                MRU,
                LRU,
                CUSTOM
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_REGION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_REGION_", type_id = "gtk_region_flags_get_type 
()")]
        [Flags]
        public enum RegionFlags {
                EVEN,
@@ -8479,20 +11683,19 @@ namespace Gtk {
                ONLY,
                SORTED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RELIEF_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RELIEF_", type_id = "gtk_relief_style_get_type 
()")]
        public enum ReliefStyle {
                NORMAL,
                HALF,
                NONE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RESIZE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RESIZE_", type_id = "gtk_resize_mode_get_type 
()")]
        public enum ResizeMode {
                PARENT,
                QUEUE,
-               [Version (deprecated = true)]
                IMMEDIATE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RESPONSE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RESPONSE_", type_id = 
"gtk_response_type_get_type ()")]
        public enum ResponseType {
                NONE,
                REJECT,
@@ -8506,7 +11709,7 @@ namespace Gtk {
                APPLY,
                HELP
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_REVEALER_TRANSITION_TYPE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_REVEALER_TRANSITION_TYPE_", type_id = 
"gtk_revealer_transition_type_get_type ()")]
        public enum RevealerTransitionType {
                NONE,
                CROSSFADE,
@@ -8515,7 +11718,7 @@ namespace Gtk {
                SLIDE_UP,
                SLIDE_DOWN
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SCROLL_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SCROLL_", type_id = "gtk_scroll_step_get_type 
()")]
        public enum ScrollStep {
                STEPS,
                PAGES,
@@ -8524,7 +11727,7 @@ namespace Gtk {
                HORIZONTAL_PAGES,
                HORIZONTAL_ENDS
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SCROLL_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SCROLL_", type_id = "gtk_scroll_type_get_type 
()")]
        public enum ScrollType {
                NONE,
                JUMP,
@@ -8543,25 +11746,25 @@ namespace Gtk {
                START,
                END
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SCROLL_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SCROLL_", type_id = 
"gtk_scrollable_policy_get_type ()")]
        public enum ScrollablePolicy {
                MINIMUM,
                NATURAL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SELECTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SELECTION_", type_id = 
"gtk_selection_mode_get_type ()")]
        public enum SelectionMode {
                NONE,
                SINGLE,
                BROWSE,
                MULTIPLE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SENSITIVITY_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SENSITIVITY_", type_id = 
"gtk_sensitivity_type_get_type ()")]
        public enum SensitivityType {
                AUTO,
                ON,
                OFF
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SHADOW_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SHADOW_", type_id = "gtk_shadow_type_get_type 
()")]
        public enum ShadowType {
                NONE,
                IN,
@@ -8569,7 +11772,8 @@ namespace Gtk {
                ETCHED_IN,
                ETCHED_OUT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SHORTCUT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SHORTCUT_", type_id = 
"gtk_shortcut_type_get_type ()")]
+       [Version (since = "3.20")]
        public enum ShortcutType {
                ACCELERATOR,
                GESTURE_PINCH,
@@ -8580,37 +11784,37 @@ namespace Gtk {
                GESTURE_TWO_FINGER_SWIPE_RIGHT,
                GESTURE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SIZE_GROUP_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SIZE_GROUP_", type_id = 
"gtk_size_group_mode_get_type ()")]
        public enum SizeGroupMode {
                NONE,
                HORIZONTAL,
                VERTICAL,
                BOTH
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SIZE_REQUEST_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SIZE_REQUEST_", type_id = 
"gtk_size_request_mode_get_type ()")]
        public enum SizeRequestMode {
                HEIGHT_FOR_WIDTH,
                WIDTH_FOR_HEIGHT,
                CONSTANT_SIZE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cname = "gint")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "gint", has_type_id = false)]
        public enum SortColumn {
                [CCode (cname = "GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID")]
                DEFAULT,
                [CCode (cname = "GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID")]
                UNSORTED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SORT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SORT_", type_id = "gtk_sort_type_get_type ()")]
        public enum SortType {
                ASCENDING,
                DESCENDING
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_UPDATE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_UPDATE_", type_id = 
"gtk_spin_button_update_policy_get_type ()")]
        public enum SpinButtonUpdatePolicy {
                ALWAYS,
                IF_VALID
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SPIN_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_SPIN_", type_id = "gtk_spin_type_get_type ()")]
        public enum SpinType {
                STEP_FORWARD,
                STEP_BACKWARD,
@@ -8620,7 +11824,7 @@ namespace Gtk {
                END,
                USER_DEFINED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STACK_TRANSITION_TYPE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STACK_TRANSITION_TYPE_", type_id = 
"gtk_stack_transition_type_get_type ()")]
        public enum StackTransitionType {
                NONE,
                CROSSFADE,
@@ -8643,7 +11847,7 @@ namespace Gtk {
                OVER_LEFT_RIGHT,
                OVER_RIGHT_LEFT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STATE_FLAG_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STATE_FLAG_", type_id = 
"gtk_state_flags_get_type ()")]
        [Flags]
        public enum StateFlags {
                NORMAL,
@@ -8661,7 +11865,8 @@ namespace Gtk {
                CHECKED,
                DROP_ACTIVE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STATE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STATE_", type_id = "gtk_state_type_get_type 
()")]
+       [Version (deprecated = true, deprecated_since = "3.14")]
        public enum StateType {
                NORMAL,
                ACTIVE,
@@ -8671,14 +11876,14 @@ namespace Gtk {
                INCONSISTENT,
                FOCUSED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STYLE_CONTEXT_PRINT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_STYLE_CONTEXT_PRINT_", type_id = 
"gtk_style_context_print_flags_get_type ()")]
        [Flags]
        public enum StyleContextPrintFlags {
                NONE,
                RECURSE,
                SHOW_STYLE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TARGET_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TARGET_", type_id = "gtk_target_flags_get_type 
()")]
        [Flags]
        public enum TargetFlags {
                SAME_APP,
@@ -8686,38 +11891,39 @@ namespace Gtk {
                OTHER_APP,
                OTHER_WIDGET
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_BUFFER_TARGET_INFO_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_BUFFER_TARGET_INFO_", type_id = 
"gtk_text_buffer_target_info_get_type ()")]
        public enum TextBufferTargetInfo {
                BUFFER_CONTENTS,
                RICH_TEXT,
                TEXT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_DIR_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_DIR_", type_id = 
"gtk_text_direction_get_type ()")]
        public enum TextDirection {
                NONE,
                LTR,
                RTL
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_EXTEND_SELECTION_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_EXTEND_SELECTION_", type_id = 
"gtk_text_extend_selection_get_type ()")]
+       [Version (since = "3.16")]
        public enum TextExtendSelection {
                WORD,
                LINE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_SEARCH_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_SEARCH_", type_id = 
"gtk_text_search_flags_get_type ()")]
        [Flags]
        public enum TextSearchFlags {
                VISIBLE_ONLY,
                TEXT_ONLY,
                CASE_INSENSITIVE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_VIEW_LAYER_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_VIEW_LAYER_", type_id = 
"gtk_text_view_layer_get_type ()")]
        public enum TextViewLayer {
                BELOW,
                ABOVE,
                BELOW_TEXT,
                ABOVE_TEXT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_WINDOW_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TEXT_WINDOW_", type_id = 
"gtk_text_window_type_get_type ()")]
        public enum TextWindowType {
                PRIVATE,
                WIDGET,
@@ -8727,52 +11933,54 @@ namespace Gtk {
                TOP,
                BOTTOM
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TOOL_PALETTE_DRAG_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TOOL_PALETTE_DRAG_", type_id = 
"gtk_tool_palette_drag_targets_get_type ()")]
        [Flags]
        public enum ToolPaletteDragTargets {
                ITEMS,
                GROUPS
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TOOLBAR_SPACE_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TOOLBAR_SPACE_", type_id = 
"gtk_toolbar_space_style_get_type ()")]
+       [Version (deprecated = true, deprecated_since = "3.20")]
        public enum ToolbarSpaceStyle {
                EMPTY,
                LINE
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TOOLBAR_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TOOLBAR_", type_id = 
"gtk_toolbar_style_get_type ()")]
        public enum ToolbarStyle {
                ICONS,
                TEXT,
                BOTH,
                BOTH_HORIZ
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_MODEL_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_MODEL_", type_id = 
"gtk_tree_model_flags_get_type ()")]
        [Flags]
        public enum TreeModelFlags {
                ITERS_PERSIST,
                LIST_ONLY
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_VIEW_COLUMN_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_VIEW_COLUMN_", type_id = 
"gtk_tree_view_column_sizing_get_type ()")]
        public enum TreeViewColumnSizing {
                GROW_ONLY,
                AUTOSIZE,
                FIXED
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_VIEW_DROP_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_VIEW_DROP_", type_id = 
"gtk_tree_view_drop_position_get_type ()")]
        public enum TreeViewDropPosition {
                BEFORE,
                AFTER,
                INTO_OR_BEFORE,
                INTO_OR_AFTER
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_VIEW_GRID_LINES_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_TREE_VIEW_GRID_LINES_", type_id = 
"gtk_tree_view_grid_lines_get_type ()")]
        public enum TreeViewGridLines {
                NONE,
                HORIZONTAL,
                VERTICAL,
                BOTH
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_UI_MANAGER_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_UI_MANAGER_", type_id = 
"gtk_ui_manager_item_type_get_type ()")]
        [Flags]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public enum UIManagerItemType {
                AUTO,
                MENUBAR,
@@ -8786,19 +11994,19 @@ namespace Gtk {
                ACCELERATOR,
                POPUP_WITH_ACCELS
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_UNIT_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_UNIT_", type_id = "gtk_unit_get_type ()")]
        public enum Unit {
                NONE,
                POINTS,
                INCH,
                MM
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WIDGET_HELP_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WIDGET_HELP_", type_id = 
"gtk_widget_help_type_get_type ()")]
        public enum WidgetHelpType {
                TOOLTIP,
                WHATS_THIS
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WIN_POS_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WIN_POS_", type_id = 
"gtk_window_position_get_type ()")]
        public enum WindowPosition {
                NONE,
                CENTER,
@@ -8806,12 +12014,12 @@ namespace Gtk {
                CENTER_ALWAYS,
                CENTER_ON_PARENT
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WINDOW_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WINDOW_", type_id = "gtk_window_type_get_type 
()")]
        public enum WindowType {
                TOPLEVEL,
                POPUP
        }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WRAP_")]
+       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_WRAP_", type_id = "gtk_wrap_mode_get_type ()")]
        public enum WrapMode {
                NONE,
                CHAR,
@@ -8834,6 +12042,7 @@ namespace Gtk {
                INVALID_PROPERTY,
                INVALID_SIGNAL,
                INVALID_ID;
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_CSS_PROVIDER_ERROR_")]
@@ -8844,6 +12053,7 @@ namespace Gtk {
                NAME,
                DEPRECATED,
                UNKNOWN_VALUE;
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_CHOOSER_ERROR_")]
@@ -8852,12 +12062,15 @@ namespace Gtk {
                BAD_FILENAME,
                ALREADY_EXISTS,
                INCOMPLETE_HOSTNAME;
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               [Version (since = "2.4")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_ICON_THEME_")]
        public errordomain IconThemeError {
                NOT_FOUND,
                FAILED;
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_PRINT_ERROR_")]
@@ -8866,15 +12079,20 @@ namespace Gtk {
                INTERNAL_ERROR,
                NOMEM,
                INVALID_FILE;
+               [CCode (cheader_filename = "gtk/gtk.h")]
+               [Version (since = "2.10")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RECENT_CHOOSER_ERROR_")]
+       [Version (since = "2.10")]
        public errordomain RecentChooserError {
                NOT_FOUND,
                INVALID_URI;
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RECENT_MANAGER_ERROR_")]
+       [Version (since = "2.10")]
        public errordomain RecentManagerError {
                NOT_FOUND,
                INVALID_URI,
@@ -8883,239 +12101,267 @@ namespace Gtk {
                READ,
                WRITE,
                UNKNOWN;
+               [CCode (cheader_filename = "gtk/gtk.h")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
        public delegate bool AccelGroupActivate (Gtk.AccelGroup accel_group, GLib.Object acceleratable, uint 
keyval, Gdk.ModifierType modifier);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "2.2")]
        public delegate bool AccelGroupFindFunc (Gtk.AccelKey key, GLib.Closure closure);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
        public delegate void AccelMapForeach (void* data, string accel_path, uint accel_key, Gdk.ModifierType 
accel_mods, bool changed);
        [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GCallback")]
+       [Version (deprecated_since = "3.10")]
        public delegate void ActionCallback (Gtk.Action action);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate int AssistantPageFunc (int current_page);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 6.9)]
+       [Version (since = "2.12")]
        public delegate void BuilderConnectFunc (Gtk.Builder builder, GLib.Object object, string signal_name, 
string handler_name, GLib.Object? connect_object, GLib.ConnectFlags flags);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public delegate string CalendarDetailFunc (Gtk.Calendar calendar, uint year, uint month, uint day);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
+       [Version (since = "2.14")]
+       public delegate string? CalendarDetailFunc (Gtk.Calendar calendar, uint year, uint month, uint day);
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate void Callback (Gtk.Widget widget);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 3.9)]
        public delegate bool CellAllocCallback (Gtk.CellRenderer renderer, Gdk.Rectangle cell_area, 
Gdk.Rectangle cell_background);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate bool CellCallback (Gtk.CellRenderer renderer);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
        public delegate void CellLayoutDataFunc (Gtk.CellLayout cell_layout, Gtk.CellRenderer cell, 
Gtk.TreeModel tree_model, Gtk.TreeIter iter);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
        public delegate void ClipboardClearFunc (Gtk.Clipboard clipboard, void* user_data_or_owner);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
        public delegate void ClipboardGetFunc (Gtk.Clipboard clipboard, Gtk.SelectionData selection_data, 
uint info, void* user_data_or_owner);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "2.6")]
        public delegate void ClipboardImageReceivedFunc (Gtk.Clipboard clipboard, Gdk.Pixbuf pixbuf);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate void ClipboardReceivedFunc (Gtk.Clipboard clipboard, Gtk.SelectionData 
selection_data);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public delegate void ClipboardRichTextReceivedFunc (Gtk.Clipboard clipboard, Gdk.Atom format, [CCode 
(array_length_type = "gsize")] uint8[] text);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public delegate void ClipboardTargetsReceivedFunc (Gtk.Clipboard clipboard, Gdk.Atom[] atoms);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 3.9)]
+       [Version (since = "2.10")]
+       public delegate void ClipboardRichTextReceivedFunc (Gtk.Clipboard clipboard, Gdk.Atom format, [CCode 
(array_length_cname = "length", array_length_pos = 3.1, array_length_type = "gsize", type = "guint8*")] 
uint8[]? text);
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "2.4")]
+       public delegate void ClipboardTargetsReceivedFunc (Gtk.Clipboard clipboard, [CCode 
(array_length_cname = "n_atoms", array_length_pos = 2.1)] Gdk.Atom[]? atoms);
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate void ClipboardTextReceivedFunc (Gtk.Clipboard clipboard, string? text);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "2.14")]
        public delegate void ClipboardURIReceivedFunc (Gtk.Clipboard clipboard, [CCode (array_length = false, 
array_null_terminated = true)] string[] uris);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
-       public delegate void ColorSelectionChangePaletteFunc (Gdk.Color[] colors);
+       [Version (deprecated = true, deprecated_since = "3.4")]
+       public delegate void ColorSelectionChangePaletteFunc ([CCode (array_length_cname = "n_colors", 
array_length_pos = 1.1)] Gdk.Color[] colors);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
-       public delegate void ColorSelectionChangePaletteWithScreenFunc (Gdk.Screen screen, Gdk.Color[] 
colors);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.4", since = "2.2")]
+       public delegate void ColorSelectionChangePaletteWithScreenFunc (Gdk.Screen screen, [CCode 
(array_length_cname = "n_colors", array_length_pos = 2.1)] Gdk.Color[] colors);
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 3.9)]
        public delegate bool EntryCompletionMatchFunc (Gtk.EntryCompletion completion, string key, 
Gtk.TreeIter iter);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate bool FileFilterFunc (Gtk.FileFilterInfo filter_info);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public delegate Gtk.Widget FlowBoxCreateWidgetFunc (GLib.Object item);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
+       [Version (since = "3.18")]
+       public delegate Gtk.Widget FlowBoxCreateWidgetFunc ([CCode (type = "gpointer")] GLib.Object item);
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
+       [Version (since = "3.12")]
        public delegate bool FlowBoxFilterFunc (Gtk.FlowBoxChild child);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "3.12")]
        public delegate void FlowBoxForeachFunc (Gtk.FlowBox box, Gtk.FlowBoxChild child);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "3.12")]
        public delegate int FlowBoxSortFunc (Gtk.FlowBoxChild child1, Gtk.FlowBoxChild child2);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate bool FontFilterFunc (Pango.FontFamily family, Pango.FontFace face);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate void IconViewForeachFunc (Gtk.IconView icon_view, Gtk.TreePath path);
        [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate int KeySnoopFunc (Gtk.Widget grab_widget, Gdk.EventKey event);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
+       [Version (since = "3.16")]
        public delegate Gtk.Widget ListBoxCreateWidgetFunc (GLib.Object item);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
+       [Version (since = "3.10")]
        public delegate bool ListBoxFilterFunc (Gtk.ListBoxRow row);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "3.14")]
        public delegate void ListBoxForeachFunc (Gtk.ListBox box, Gtk.ListBoxRow row);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "3.10")]
        public delegate int ListBoxSortFunc (Gtk.ListBoxRow row1, Gtk.ListBoxRow row2);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "3.10")]
        public delegate void ListBoxUpdateHeaderFunc (Gtk.ListBoxRow row, Gtk.ListBoxRow? before);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
        public delegate void MenuDetachFunc (Gtk.Widget attach_widget, Gtk.Menu menu);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
        public delegate void MenuPositionFunc (Gtk.Menu menu, ref int x, ref int y, out bool push_in);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
+       [Version (since = "2.2")]
        public delegate void ModuleDisplayInitFunc (Gdk.Display display);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
-       public delegate void ModuleInitFunc (string[]? argv);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       public delegate void ModuleInitFunc ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] 
string[]? argv);
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate void PageSetupDoneFunc (Gtk.PageSetup page_setup);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate void PrintSettingsFunc (string key, string value);
        [CCode (cheader_filename = "gtk/gtk.h", type_cname = "GCallback")]
        public delegate void RadioActionCallback (Gtk.Action action, Gtk.Action current);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
        public delegate bool RcPropertyParser (GLib.ParamSpec pspec, GLib.StringBuilder rc_string, GLib.Value 
property_value);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate bool RecentFilterFunc (Gtk.RecentFilterInfo filter_info);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate int RecentSortFunc (Gtk.RecentInfo a, Gtk.RecentInfo b);
        [CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
-       public delegate bool StylePropertyParser (string str, GLib.Value value) throws GLib.Error;
+       public delegate bool StylePropertyParser (string string, GLib.Value value) throws GLib.Error;
        [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 5.9)]
-       public delegate bool TextBufferDeserializeFunc (Gtk.TextBuffer register_buffer, Gtk.TextBuffer 
content_buffer, Gtk.TextIter iter, [CCode (array_length_type = "gsize")] uint8[] data, bool create_tags) 
throws GLib.Error;
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public delegate uchar TextBufferSerializeFunc (Gtk.TextBuffer register_buffer, Gtk.TextBuffer 
content_buffer, Gtk.TextIter start, Gtk.TextIter end, size_t length);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       public delegate bool TextBufferDeserializeFunc (Gtk.TextBuffer register_buffer, Gtk.TextBuffer 
content_buffer, Gtk.TextIter iter, [CCode (array_length_cname = "length", array_length_pos = 4.5, 
array_length_type = "gsize")] uint8[] data, bool create_tags) throws GLib.Error;
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 5.9)]
+       public delegate unowned uint8? TextBufferSerializeFunc (Gtk.TextBuffer register_buffer, 
Gtk.TextBuffer content_buffer, Gtk.TextIter start, Gtk.TextIter end, size_t length);
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate bool TextCharPredicate (unichar ch);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
        public delegate void TextTagTableForeach (Gtk.TextTag tag);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
+       [Version (since = "3.8")]
        public delegate bool TickCallback (Gtk.Widget widget, Gdk.FrameClock frame_clock);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 1.9)]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public delegate string TranslateFunc (string path);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
        public delegate void TreeCellDataFunc (Gtk.TreeViewColumn tree_column, Gtk.CellRenderer cell, 
Gtk.TreeModel tree_model, Gtk.TreeIter iter);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 3.9)]
        public delegate void TreeDestroyCountFunc (Gtk.TreeView tree_view, Gtk.TreePath path, int children);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 3.9)]
        public delegate int TreeIterCompareFunc (Gtk.TreeModel model, Gtk.TreeIter a, Gtk.TreeIter b);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
        public delegate void TreeModelFilterModifyFunc (Gtk.TreeModel model, Gtk.TreeIter iter, out 
GLib.Value value, int column);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate bool TreeModelFilterVisibleFunc (Gtk.TreeModel model, Gtk.TreeIter iter);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 3.9)]
        public delegate bool TreeModelForeachFunc (Gtk.TreeModel model, Gtk.TreePath path, Gtk.TreeIter iter);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 3.9)]
        public delegate void TreeSelectionForeachFunc (Gtk.TreeModel model, Gtk.TreePath path, Gtk.TreeIter 
iter);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
        public delegate bool TreeSelectionFunc (Gtk.TreeSelection selection, Gtk.TreeModel model, 
Gtk.TreePath path, bool path_currently_selected);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
        public delegate bool TreeViewColumnDropFunc (Gtk.TreeView tree_view, Gtk.TreeViewColumn column, 
Gtk.TreeViewColumn prev_column, Gtk.TreeViewColumn next_column);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate void TreeViewMappingFunc (Gtk.TreeView tree_view, Gtk.TreePath path);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate bool TreeViewRowSeparatorFunc (Gtk.TreeModel model, Gtk.TreeIter iter);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 4.9)]
        public delegate bool TreeViewSearchEqualFunc (Gtk.TreeModel model, int column, string key, 
Gtk.TreeIter iter);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", instance_pos = 2.9)]
        public delegate void TreeViewSearchPositionFunc (Gtk.TreeView tree_view, Gtk.Widget search_dialog);
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_BINARY_AGE")]
        public const int BINARY_AGE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_INPUT_ERROR")]
        public const int INPUT_ERROR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_INTERFACE_AGE")]
        public const int INTERFACE_AGE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_LEVEL_BAR_OFFSET_FULL")]
+       [Version (since = "3.20")]
        public const string LEVEL_BAR_OFFSET_FULL;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_LEVEL_BAR_OFFSET_HIGH")]
+       [Version (since = "3.6")]
        public const string LEVEL_BAR_OFFSET_HIGH;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_LEVEL_BAR_OFFSET_LOW")]
+       [Version (since = "3.6")]
        public const string LEVEL_BAR_OFFSET_LOW;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_MAJOR_VERSION")]
        public const int MAJOR_VERSION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_MAX_COMPOSE_LEN")]
        public const int MAX_COMPOSE_LEN;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_MICRO_VERSION")]
        public const int MICRO_VERSION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_MINOR_VERSION")]
        public const int MINOR_VERSION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PAPER_NAME_A3")]
        public const string PAPER_NAME_A3;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PAPER_NAME_A4")]
        public const string PAPER_NAME_A4;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PAPER_NAME_A5")]
        public const string PAPER_NAME_A5;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PAPER_NAME_B5")]
        public const string PAPER_NAME_B5;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PAPER_NAME_EXECUTIVE")]
        public const string PAPER_NAME_EXECUTIVE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PAPER_NAME_LEGAL")]
        public const string PAPER_NAME_LEGAL;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PAPER_NAME_LETTER")]
        public const string PAPER_NAME_LETTER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PATH_PRIO_MASK")]
        public const int PATH_PRIO_MASK;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_COLLATE")]
        public const string PRINT_SETTINGS_COLLATE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_DEFAULT_SOURCE")]
        public const string PRINT_SETTINGS_DEFAULT_SOURCE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_DITHER")]
        public const string PRINT_SETTINGS_DITHER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_DUPLEX")]
        public const string PRINT_SETTINGS_DUPLEX;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_FINISHINGS")]
        public const string PRINT_SETTINGS_FINISHINGS;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_MEDIA_TYPE")]
        public const string PRINT_SETTINGS_MEDIA_TYPE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_NUMBER_UP")]
        public const string PRINT_SETTINGS_NUMBER_UP;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT")]
        public const string PRINT_SETTINGS_NUMBER_UP_LAYOUT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_N_COPIES")]
        public const string PRINT_SETTINGS_N_COPIES;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_ORIENTATION")]
        public const string PRINT_SETTINGS_ORIENTATION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_OUTPUT_BASENAME")]
+       [Version (since = "3.6")]
        public const string PRINT_SETTINGS_OUTPUT_BASENAME;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_OUTPUT_BIN")]
        public const string PRINT_SETTINGS_OUTPUT_BIN;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_OUTPUT_DIR")]
+       [Version (since = "3.6")]
        public const string PRINT_SETTINGS_OUTPUT_DIR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT")]
        public const string PRINT_SETTINGS_OUTPUT_FILE_FORMAT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_OUTPUT_URI")]
        public const string PRINT_SETTINGS_OUTPUT_URI;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PAGE_RANGES")]
        public const string PRINT_SETTINGS_PAGE_RANGES;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PAGE_SET")]
        public const string PRINT_SETTINGS_PAGE_SET;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PAPER_FORMAT")]
        public const string PRINT_SETTINGS_PAPER_FORMAT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PAPER_HEIGHT")]
        public const string PRINT_SETTINGS_PAPER_HEIGHT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PAPER_WIDTH")]
        public const string PRINT_SETTINGS_PAPER_WIDTH;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PRINTER")]
        public const string PRINT_SETTINGS_PRINTER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PRINTER_LPI")]
        public const string PRINT_SETTINGS_PRINTER_LPI;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_PRINT_PAGES")]
        public const string PRINT_SETTINGS_PRINT_PAGES;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_QUALITY")]
        public const string PRINT_SETTINGS_QUALITY;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_RESOLUTION")]
        public const string PRINT_SETTINGS_RESOLUTION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_RESOLUTION_X")]
        public const string PRINT_SETTINGS_RESOLUTION_X;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_RESOLUTION_Y")]
        public const string PRINT_SETTINGS_RESOLUTION_Y;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_REVERSE")]
        public const string PRINT_SETTINGS_REVERSE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_SCALE")]
        public const string PRINT_SETTINGS_SCALE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_USE_COLOR")]
        public const string PRINT_SETTINGS_USE_COLOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA")]
        public const string PRINT_SETTINGS_WIN32_DRIVER_EXTRA;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION")]
        public const string PRINT_SETTINGS_WIN32_DRIVER_VERSION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_PRIORITY_RESIZE")]
        public const int PRIORITY_RESIZE;
        [CCode (cheader_filename = "gtk/gtk.h")]
        [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ABOUT")]
@@ -9432,217 +12678,239 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_OUT")]
        public const string STOCK_ZOOM_OUT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_ACCELERATOR")]
        public const string STYLE_CLASS_ACCELERATOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_ARROW")]
        public const string STYLE_CLASS_ARROW;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_BACKGROUND")]
        public const string STYLE_CLASS_BACKGROUND;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_BOTTOM")]
        public const string STYLE_CLASS_BOTTOM;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_BUTTON")]
        public const string STYLE_CLASS_BUTTON;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_CALENDAR")]
        public const string STYLE_CLASS_CALENDAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_CELL")]
        public const string STYLE_CLASS_CELL;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_CHECK")]
        public const string STYLE_CLASS_CHECK;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_COMBOBOX_ENTRY")]
        public const string STYLE_CLASS_COMBOBOX_ENTRY;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_CONTEXT_MENU")]
        public const string STYLE_CLASS_CONTEXT_MENU;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_CSD")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_CSD;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_CURSOR_HANDLE")]
        public const string STYLE_CLASS_CURSOR_HANDLE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_DEFAULT")]
        public const string STYLE_CLASS_DEFAULT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_DESTRUCTIVE_ACTION")]
+       [Version (since = "3.12")]
        public const string STYLE_CLASS_DESTRUCTIVE_ACTION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_DIM_LABEL")]
        public const string STYLE_CLASS_DIM_LABEL;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_DND")]
        public const string STYLE_CLASS_DND;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_DOCK")]
        public const string STYLE_CLASS_DOCK;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_ENTRY")]
        public const string STYLE_CLASS_ENTRY;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_ERROR")]
        public const string STYLE_CLASS_ERROR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_EXPANDER")]
        public const string STYLE_CLASS_EXPANDER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_FLAT")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_FLAT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_FRAME")]
        public const string STYLE_CLASS_FRAME;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_GRIP")]
        public const string STYLE_CLASS_GRIP;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_HEADER")]
        public const string STYLE_CLASS_HEADER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_HIGHLIGHT")]
        public const string STYLE_CLASS_HIGHLIGHT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_HORIZONTAL")]
        public const string STYLE_CLASS_HORIZONTAL;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_IMAGE")]
        public const string STYLE_CLASS_IMAGE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_INFO")]
        public const string STYLE_CLASS_INFO;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_INLINE_TOOLBAR")]
        public const string STYLE_CLASS_INLINE_TOOLBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_INSERTION_CURSOR")]
        public const string STYLE_CLASS_INSERTION_CURSOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_LABEL")]
+       [Version (since = "3.16")]
        public const string STYLE_CLASS_LABEL;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_LEFT")]
        public const string STYLE_CLASS_LEFT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_LEVEL_BAR")]
        public const string STYLE_CLASS_LEVEL_BAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_LINKED")]
        public const string STYLE_CLASS_LINKED;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_LIST")]
        public const string STYLE_CLASS_LIST;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_LIST_ROW")]
        public const string STYLE_CLASS_LIST_ROW;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_MARK")]
        public const string STYLE_CLASS_MARK;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_MENU")]
        public const string STYLE_CLASS_MENU;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_MENUBAR")]
        public const string STYLE_CLASS_MENUBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_MENUITEM")]
        public const string STYLE_CLASS_MENUITEM;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_MESSAGE_DIALOG")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_MESSAGE_DIALOG;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_MONOSPACE")]
+       [Version (since = "3.16")]
        public const string STYLE_CLASS_MONOSPACE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_NEEDS_ATTENTION")]
+       [Version (since = "3.12")]
        public const string STYLE_CLASS_NEEDS_ATTENTION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_NOTEBOOK")]
        public const string STYLE_CLASS_NOTEBOOK;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_OSD")]
        public const string STYLE_CLASS_OSD;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_OVERSHOOT")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_OVERSHOOT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_PANE_SEPARATOR")]
        public const string STYLE_CLASS_PANE_SEPARATOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_PAPER")]
+       [Version (since = "3.16")]
        public const string STYLE_CLASS_PAPER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_POPOVER")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_POPOVER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_POPUP")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_POPUP;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_PRIMARY_TOOLBAR")]
        public const string STYLE_CLASS_PRIMARY_TOOLBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_PROGRESSBAR")]
        public const string STYLE_CLASS_PROGRESSBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_PULSE")]
        public const string STYLE_CLASS_PULSE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_QUESTION")]
        public const string STYLE_CLASS_QUESTION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_RADIO")]
        public const string STYLE_CLASS_RADIO;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_RAISED")]
        public const string STYLE_CLASS_RAISED;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_READ_ONLY")]
        public const string STYLE_CLASS_READ_ONLY;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_RIGHT")]
        public const string STYLE_CLASS_RIGHT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_RUBBERBAND")]
        public const string STYLE_CLASS_RUBBERBAND;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SCALE")]
        public const string STYLE_CLASS_SCALE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE")]
        public const string STYLE_CLASS_SCALE_HAS_MARKS_ABOVE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW")]
        public const string STYLE_CLASS_SCALE_HAS_MARKS_BELOW;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SCROLLBAR")]
        public const string STYLE_CLASS_SCROLLBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SCROLLBARS_JUNCTION")]
        public const string STYLE_CLASS_SCROLLBARS_JUNCTION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SEPARATOR")]
        public const string STYLE_CLASS_SEPARATOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SIDEBAR")]
        public const string STYLE_CLASS_SIDEBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SLIDER")]
        public const string STYLE_CLASS_SLIDER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SPINBUTTON")]
        public const string STYLE_CLASS_SPINBUTTON;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SPINNER")]
        public const string STYLE_CLASS_SPINNER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_STATUSBAR")]
+       [Version (since = "3.16")]
        public const string STYLE_CLASS_STATUSBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SUBTITLE")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_SUBTITLE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_SUGGESTED_ACTION")]
+       [Version (since = "3.12")]
        public const string STYLE_CLASS_SUGGESTED_ACTION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_TITLE")]
+       [Version (since = "3.14")]
        public const string STYLE_CLASS_TITLE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_TITLEBAR")]
        public const string STYLE_CLASS_TITLEBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_TOOLBAR")]
        public const string STYLE_CLASS_TOOLBAR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_TOOLTIP")]
        public const string STYLE_CLASS_TOOLTIP;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_TOP")]
        public const string STYLE_CLASS_TOP;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_TOUCH_SELECTION")]
+       [Version (since = "3.16")]
        public const string STYLE_CLASS_TOUCH_SELECTION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_TROUGH")]
        public const string STYLE_CLASS_TROUGH;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_UNDERSHOOT")]
+       [Version (since = "3.16")]
        public const string STYLE_CLASS_UNDERSHOOT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_VERTICAL")]
        public const string STYLE_CLASS_VERTICAL;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_VIEW")]
        public const string STYLE_CLASS_VIEW;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_WARNING")]
        public const string STYLE_CLASS_WARNING;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_CLASS_WIDE")]
+       [Version (since = "3.16")]
        public const string STYLE_CLASS_WIDE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_BACKGROUND_COLOR")]
        public const string STYLE_PROPERTY_BACKGROUND_COLOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_BACKGROUND_IMAGE")]
        public const string STYLE_PROPERTY_BACKGROUND_IMAGE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_BORDER_COLOR")]
        public const string STYLE_PROPERTY_BORDER_COLOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_BORDER_RADIUS")]
        public const string STYLE_PROPERTY_BORDER_RADIUS;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_BORDER_STYLE")]
        public const string STYLE_PROPERTY_BORDER_STYLE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_BORDER_WIDTH")]
        public const string STYLE_PROPERTY_BORDER_WIDTH;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_COLOR")]
        public const string STYLE_PROPERTY_COLOR;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_FONT")]
        public const string STYLE_PROPERTY_FONT;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_MARGIN")]
        public const string STYLE_PROPERTY_MARGIN;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROPERTY_PADDING")]
        public const string STYLE_PROPERTY_PADDING;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROVIDER_PRIORITY_APPLICATION")]
        public const int STYLE_PROVIDER_PRIORITY_APPLICATION;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROVIDER_PRIORITY_FALLBACK")]
        public const int STYLE_PROVIDER_PRIORITY_FALLBACK;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROVIDER_PRIORITY_SETTINGS")]
        public const int STYLE_PROVIDER_PRIORITY_SETTINGS;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROVIDER_PRIORITY_THEME")]
        public const int STYLE_PROVIDER_PRIORITY_THEME;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_PROVIDER_PRIORITY_USER")]
        public const int STYLE_PROVIDER_PRIORITY_USER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_REGION_COLUMN")]
+       [Version (deprecated = true, deprecated_since = "3.20")]
        public const string STYLE_REGION_COLUMN;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_REGION_COLUMN_HEADER")]
+       [Version (deprecated = true, deprecated_since = "3.20")]
        public const string STYLE_REGION_COLUMN_HEADER;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_REGION_ROW")]
+       [Version (deprecated = true, deprecated_since = "3.20")]
        public const string STYLE_REGION_ROW;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_STYLE_REGION_TAB")]
+       [Version (deprecated = true, deprecated_since = "3.20")]
        public const string STYLE_REGION_TAB;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_TEXT_VIEW_PRIORITY_VALIDATE")]
        public const int TEXT_VIEW_PRIORITY_VALIDATE;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID")]
        public const int TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
-       [CCode (cheader_filename = "gtk/gtk.h")]
+       [CCode (cheader_filename = "gtk/gtk.h", cname = "GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID")]
        public const int TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID;
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool accel_groups_activate (GLib.Object object, uint accel_key, Gdk.ModifierType 
accel_mods);
@@ -9651,68 +12919,86 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static Gdk.ModifierType accelerator_get_default_mod_mask ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static string accelerator_get_label (uint accelerator_key, Gdk.ModifierType accelerator_mods);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static string accelerator_get_label_with_keycode (Gdk.Display display, uint accelerator_key, 
uint keycode, Gdk.ModifierType accelerator_mods);
+       [Version (since = "3.4")]
+       public static string accelerator_get_label_with_keycode (Gdk.Display? display, uint accelerator_key, 
uint keycode, Gdk.ModifierType accelerator_mods);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static string accelerator_name (uint accelerator_key, Gdk.ModifierType accelerator_mods);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static string accelerator_name_with_keycode (Gdk.Display display, uint accelerator_key, uint 
keycode, Gdk.ModifierType accelerator_mods);
+       [Version (since = "3.4")]
+       public static string accelerator_name_with_keycode (Gdk.Display? display, uint accelerator_key, uint 
keycode, Gdk.ModifierType accelerator_mods);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void accelerator_parse (string accelerator, out uint accelerator_key, out 
Gdk.ModifierType accelerator_mods);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.4")]
        public static void accelerator_parse_with_keycode (string accelerator, out uint accelerator_key, 
[CCode (array_length = false, array_null_terminated = true)] out uint[] accelerator_codes, out 
Gdk.ModifierType accelerator_mods);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void accelerator_set_default_mod_mask (Gdk.ModifierType default_mod_mask);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool accelerator_valid (uint keyval, Gdk.ModifierType modifiers);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool alternative_dialog_button_order (Gdk.Screen screen);
+       [Version (deprecated = true, deprecated_since = "3.10", since = "2.6")]
+       public static bool alternative_dialog_button_order (Gdk.Screen? screen);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool bindings_activate (GLib.Object object, uint keyval, Gdk.ModifierType modifiers);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.4")]
        public static bool bindings_activate_event (GLib.Object object, Gdk.EventKey event);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static bool cairo_should_draw_window (Cairo.Context cr, Gdk.Window window);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static void cairo_transform_to_window (Cairo.Context cr, Gtk.Widget widget, Gdk.Window window);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned string check_version (uint required_major, uint required_minor, uint 
required_micro);
+       public static unowned string? check_version (uint required_major, uint required_minor, uint 
required_micro);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static void device_grab_add (Gtk.Widget widget, Gdk.Device device, bool block_others);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static void device_grab_remove (Gtk.Widget widget, Gdk.Device device);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void disable_setlocale ();
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static int distribute_natural_allocation (int extra_space, uint n_requested_sizes, 
Gtk.RequestedSize sizes);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public static unowned Gdk.DragContext drag_begin (Gtk.Widget widget, Gtk.TargetList targets, 
Gdk.DragAction actions, int button, Gdk.Event? event);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gdk.DragContext drag_begin_with_coordinates (Gtk.Widget widget, Gtk.TargetList 
targets, Gdk.DragAction actions, int button, Gdk.Event event, int x, int y);
+       [Version (since = "3.10")]
+       public static unowned Gdk.DragContext drag_begin_with_coordinates (Gtk.Widget widget, Gtk.TargetList 
targets, Gdk.DragAction actions, int button, Gdk.Event? event, int x, int y);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.16")]
        public static void drag_cancel (Gdk.DragContext context);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool drag_check_threshold (Gtk.Widget widget, int start_x, int start_y, int current_x, 
int current_y);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static void drag_dest_add_image_targets (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static void drag_dest_add_text_targets (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static void drag_dest_add_uri_targets (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static Gdk.Atom drag_dest_find_target (Gtk.Widget widget, Gdk.DragContext context, 
Gtk.TargetList target_list);
+       public static Gdk.Atom drag_dest_find_target (Gtk.Widget widget, Gdk.DragContext context, 
Gtk.TargetList? target_list);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static unowned Gtk.TargetList drag_dest_get_target_list (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.10")]
        public static bool drag_dest_get_track_motion (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void drag_dest_set (Gtk.Widget widget, Gtk.DestDefaults flags, Gtk.TargetEntry[] 
targets, Gdk.DragAction actions);
+       public static void drag_dest_set (Gtk.Widget widget, Gtk.DestDefaults flags, [CCode 
(array_length_cname = "n_targets", array_length_pos = 3.5)] Gtk.TargetEntry[]? targets, Gdk.DragAction 
actions);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_dest_set_proxy (Gtk.Widget widget, Gdk.Window proxy_window, Gdk.DragProtocol 
protocol, bool use_coordinates);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void drag_dest_set_target_list (Gtk.Widget widget, Gtk.TargetList target_list);
+       public static void drag_dest_set_target_list (Gtk.Widget widget, Gtk.TargetList? target_list);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.10")]
        public static void drag_dest_set_track_motion (Gtk.Widget widget, bool track_motion);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_dest_unset (Gtk.Widget widget);
@@ -9721,58 +13007,72 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_get_data (Gtk.Widget widget, Gdk.DragContext context, Gdk.Atom target, uint32 
time_);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget drag_get_source_widget (Gdk.DragContext context);
+       public static unowned Gtk.Widget? drag_get_source_widget (Gdk.DragContext context);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_highlight (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_set_icon_default (Gdk.DragContext context);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.2")]
        public static void drag_set_icon_gicon (Gdk.DragContext context, GLib.Icon icon, int hot_x, int 
hot_y);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.8")]
        public static void drag_set_icon_name (Gdk.DragContext context, string icon_name, int hot_x, int 
hot_y);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_set_icon_pixbuf (Gdk.DragContext context, Gdk.Pixbuf pixbuf, int hot_x, int 
hot_y);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public static void drag_set_icon_stock (Gdk.DragContext context, string stock_id, int hot_x, int 
hot_y);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_set_icon_surface (Gdk.DragContext context, Cairo.Surface surface);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_set_icon_widget (Gdk.DragContext context, Gtk.Widget widget, int hot_x, int 
hot_y);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static void drag_source_add_image_targets (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static void drag_source_add_text_targets (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static void drag_source_add_uri_targets (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.TargetList drag_source_get_target_list (Gtk.Widget widget);
+       [Version (since = "2.4")]
+       public static unowned Gtk.TargetList? drag_source_get_target_list (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void drag_source_set (Gtk.Widget widget, Gdk.ModifierType start_button_mask, 
Gtk.TargetEntry[] targets, Gdk.DragAction actions);
+       public static void drag_source_set (Gtk.Widget widget, Gdk.ModifierType start_button_mask, [CCode 
(array_length_cname = "n_targets", array_length_pos = 3.5)] Gtk.TargetEntry[]? targets, Gdk.DragAction 
actions);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.2")]
        public static void drag_source_set_icon_gicon (Gtk.Widget widget, GLib.Icon icon);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.8")]
        public static void drag_source_set_icon_name (Gtk.Widget widget, string icon_name);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_source_set_icon_pixbuf (Gtk.Widget widget, Gdk.Pixbuf pixbuf);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public static void drag_source_set_icon_stock (Gtk.Widget widget, string stock_id);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void drag_source_set_target_list (Gtk.Widget widget, Gtk.TargetList target_list);
+       [Version (since = "2.4")]
+       public static void drag_source_set_target_list (Gtk.Widget widget, Gtk.TargetList? target_list);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_source_unset (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_unhighlight (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.4", replacement = "render_insertion_cursor")]
+       [Version (deprecated = true, deprecated_since = "3.4", replacement = "render_insertion_cursor", since 
= "3.0")]
        public static void draw_insertion_cursor (Gtk.Widget widget, Cairo.Context cr, Gdk.Rectangle 
location, bool is_primary, Gtk.TextDirection direction, bool draw_arrow);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool events_pending ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       public static bool @false ();
+       [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static uint get_binary_age ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static Gdk.Event get_current_event ();
+       public static Gdk.Event? get_current_event ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gdk.Device get_current_event_device ();
+       public static unowned Gdk.Device? get_current_event_device ();
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool get_current_event_state (out Gdk.ModifierType state);
        [CCode (cheader_filename = "gtk/gtk.h")]
@@ -9782,48 +13082,60 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static unowned Pango.Language get_default_language ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget get_event_widget (Gdk.Event event);
+       public static unowned Gtk.Widget? get_event_widget (Gdk.Event event);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static uint get_interface_age ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.12")]
        public static Gtk.TextDirection get_locale_direction ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static uint get_major_version ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static uint get_micro_version ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.0")]
        public static uint get_minor_version ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static GLib.OptionGroup get_option_group (bool open_default_display);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void grab_add (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget grab_get_current ();
+       public static unowned Gtk.Widget? grab_get_current ();
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void grab_remove (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated_since = "3.10")]
        public static Gtk.IconSize icon_size_from_name (string name);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated_since = "3.10")]
        public static unowned string icon_size_get_name (Gtk.IconSize size);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool icon_size_lookup (Gtk.IconSize size, out int width, out int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated_since = "3.10")]
        public static bool icon_size_lookup_for_settings (Gtk.Settings settings, Gtk.IconSize size, out int 
width, out int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated_since = "3.10")]
        public static Gtk.IconSize icon_size_register (string name, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated_since = "3.10")]
        public static void icon_size_register_alias (string alias, Gtk.IconSize target);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void init ([CCode (array_length_pos = 0.9)] ref unowned string[]? argv);
+       public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned 
string[]? argv);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool init_check ([CCode (array_length_pos = 0.9)] ref unowned string[] argv);
+       public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref 
unowned string[]? argv);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool init_with_args ([CCode (array_length_pos = 0.9)] ref unowned string[] argv, 
string? parameter_string, [CCode (array_length = false)] GLib.OptionEntry[] entries, string? 
translation_domain) throws GLib.Error;
+       [Version (since = "2.6")]
+       public static bool init_with_args ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref 
unowned string[]? argv, string? parameter_string, [CCode (array_length = false, array_null_terminated = 
true)] GLib.OptionEntry[] entries, string? translation_domain) throws GLib.Error;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.4")]
+       [Version (deprecated = true, deprecated_since = "3.4")]
        public static uint key_snooper_install (Gtk.KeySnoopFunc snooper);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.4")]
+       [Version (deprecated = true, deprecated_since = "3.4")]
        public static void key_snooper_remove (uint snooper_handler_id);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void main ();
@@ -9838,114 +13150,137 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void main_quit ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_arrow (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, Gtk.ArrowType arrow_type, bool fill, int x, 
int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "render_background")]
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "render_background")]
        public static void paint_box (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "render_frame_gap")]
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "render_frame_gap")]
        public static void paint_box_gap (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height, 
Gtk.PositionType gap_side, int gap_x, int gap_width);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_check (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_diamond (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "render_expander")]
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "render_expander")]
        public static void paint_expander (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.Widget? widget, string? detail, int x, int y, Gtk.ExpanderStyle expander_style);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "render_frame and render_background")]
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "render_extension")]
        public static void paint_extension (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height, 
Gtk.PositionType gap_side);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_flat_box (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_focus (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_handle (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height, 
Gtk.Orientation orientation);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_hline (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.Widget? widget, string? detail, int x1, int x2, int y);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_layout (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, bool 
use_text, Gtk.Widget? widget, string? detail, int x, int y, Pango.Layout layout);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_option (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "render_handle")]
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "render_handle")]
        public static void paint_resize_grip (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.Widget? widget, string? detail, Gdk.WindowEdge edge, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_shadow (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "render_frame")]
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "render_frame")]
        public static void paint_shadow_gap (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height, 
Gtk.PositionType gap_side, int gap_x, int gap_width);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_slider (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height, 
Gtk.Orientation orientation);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0", replacement = "render_activity")]
-       public static void paint_spinner (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.Widget widget, string detail, uint step, int x, int y, int width, int height);
+       [Version (deprecated = true, deprecated_since = "3.0", replacement = "render_activity")]
+       public static void paint_spinner (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.Widget? widget, string? detail, uint step, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_tab (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.ShadowType shadow_type, Gtk.Widget? widget, string? detail, int x, int y, int width, int height);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void paint_vline (Gtk.Style style, Cairo.Context cr, Gtk.StateType state_type, 
Gtk.Widget? widget, string? detail, int y1_, int y2_, int x);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool parse_args ([CCode (array_length_pos = 0.5)] ref unowned string[] argv);
+       public static bool parse_args ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref 
unowned string[] argv);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static Gtk.PageSetup print_run_page_setup_dialog (Gtk.Window parent, Gtk.PageSetup page_setup, 
Gtk.PrintSettings settings);
+       [Version (since = "2.10")]
+       public static Gtk.PageSetup print_run_page_setup_dialog (Gtk.Window? parent, Gtk.PageSetup? 
page_setup, Gtk.PrintSettings settings);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void print_run_page_setup_dialog_async (Gtk.Window parent, Gtk.PageSetup page_setup, 
Gtk.PrintSettings settings, [CCode (scope = "async")] Gtk.PageSetupDoneFunc done_cb);
+       [Version (since = "2.10")]
+       public static void print_run_page_setup_dialog_async (Gtk.Window? parent, Gtk.PageSetup? page_setup, 
Gtk.PrintSettings settings, [CCode (scope = "async")] Gtk.PageSetupDoneFunc done_cb);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void propagate_event (Gtk.Widget widget, Gdk.Event event);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void rc_add_default_file (string filename);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static string rc_find_module_in_path (string module_file);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static string rc_find_pixmap_in_path (Gtk.Settings settings, GLib.Scanner scanner, string 
pixmap_file);
        [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static unowned string[] rc_get_default_files ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static string rc_get_im_module_file ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static string rc_get_im_module_path ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static string rc_get_module_dir ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static unowned Gtk.Style rc_get_style (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static unowned Gtk.Style? rc_get_style_by_paths (Gtk.Settings settings, string? widget_path, 
string? class_path, GLib.Type type);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static string rc_get_theme_dir ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void rc_parse (string filename);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static uint rc_parse_color (GLib.Scanner scanner, out Gdk.Color color);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static uint rc_parse_color_full (GLib.Scanner scanner, Gtk.RcStyle style, out Gdk.Color color);
+       [Version (deprecated = true, deprecated_since = "3.0", since = "2.12")]
+       public static uint rc_parse_color_full (GLib.Scanner scanner, Gtk.RcStyle? style, out Gdk.Color 
color);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static uint rc_parse_priority (GLib.Scanner scanner, Gtk.PathPriorityType priority);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static uint rc_parse_state (GLib.Scanner scanner, out Gtk.StateType state);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void rc_parse_string (string rc_string);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static bool rc_reparse_all ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static bool rc_reparse_all_for_settings (Gtk.Settings settings, bool force_load);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0", since = "2.4")]
        public static void rc_reset_styles (Gtk.Settings settings);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static unowned GLib.Scanner rc_scanner_new ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void rc_set_default_files ([CCode (array_length = false, array_null_terminated = true)] 
string[] filenames);
        [CCode (cheader_filename = "gtk/gtk.h")]
        [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_activity")]
@@ -10000,87 +13335,119 @@ namespace Gtk {
        [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_slider")]
        public static void render_slider (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height, Gtk.Orientation orientation);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
        public static void rgb_to_hsv (double r, double g, double b, out double h, out double s, out double 
v);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void selection_add_target (Gtk.Widget widget, Gdk.Atom selection, Gdk.Atom target, uint 
info);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void selection_add_targets (Gtk.Widget widget, Gdk.Atom selection, [CCode 
(array_length_pos = 3.1, array_length_type = "guint")] Gtk.TargetEntry[] targets);
+       public static void selection_add_targets (Gtk.Widget widget, Gdk.Atom selection, [CCode 
(array_length_cname = "ntargets", array_length_pos = 3.1, array_length_type = "guint")] Gtk.TargetEntry[] 
targets);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void selection_clear_targets (Gtk.Widget widget, Gdk.Atom selection);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool selection_convert (Gtk.Widget widget, Gdk.Atom selection, Gdk.Atom target, uint32 
time_);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool selection_owner_set (Gtk.Widget widget, Gdk.Atom selection, uint32 time_);
+       public static bool selection_owner_set (Gtk.Widget? widget, Gdk.Atom selection, uint32 time_);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool selection_owner_set_for_display (Gdk.Display display, Gtk.Widget widget, Gdk.Atom 
selection, uint32 time_);
+       [Version (since = "2.2")]
+       public static bool selection_owner_set_for_display (Gdk.Display display, Gtk.Widget? widget, Gdk.Atom 
selection, uint32 time_);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void selection_remove_all (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void set_debug_flags (uint flags);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.6")]
        public static void show_about_dialog (Gtk.Window? parent, ...);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
        public static bool show_uri (Gdk.Screen? screen, string uri, uint32 timestamp) throws GLib.Error;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.add")]
-       public static void stock_add (Gtk.StockItem[] items);
+       [Version (deprecated = true, deprecated_since = "3.10")]
+       public static void stock_add ([CCode (array_length_cname = "n_items", array_length_pos = 1.1, 
array_length_type = "guint")] Gtk.StockItem[] items);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.add_static")]
-       public static void stock_add_static (Gtk.StockItem[] items);
+       [Version (deprecated = true, deprecated_since = "3.10")]
+       public static void stock_add_static ([CCode (array_length_cname = "n_items", array_length_pos = 1.1, 
array_length_type = "guint")] Gtk.StockItem[] items);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.list_ids")]
+       [Version (deprecated = true, deprecated_since = "3.10")]
        public static GLib.SList<string> stock_list_ids ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Version (deprecated_since = "vala-0.22", replacement = "Gtk.Stock.set_translate_func")]
-       public static void stock_set_translate_func (string domain, owned Gtk.TranslateFunc func);
+       [Version (deprecated = true, deprecated_since = "3.10")]
+       public static bool stock_lookup (string stock_id, out Gtk.StockItem item);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void target_table_free (Gtk.TargetEntry[] targets);
+       [Version (deprecated = true, deprecated_since = "3.10", since = "2.8")]
+       public static void stock_set_translate_func (string domain, owned Gtk.TranslateFunc func);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.10")]
+       public static void target_table_free ([CCode (array_length_cname = "n_targets", array_length_pos = 
1.1)] Gtk.TargetEntry[] targets);
+       [CCode (array_length_pos = 1.1, cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.10")]
        public static Gtk.TargetEntry[] target_table_new_from_list (Gtk.TargetList list);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool targets_include_image (Gdk.Atom[] targets, bool writable);
+       [Version (since = "2.10")]
+       public static bool targets_include_image ([CCode (array_length_cname = "n_targets", array_length_pos 
= 1.5)] Gdk.Atom[] targets, bool writable);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool targets_include_rich_text (Gdk.Atom[] targets, Gtk.TextBuffer buffer);
+       [Version (since = "2.10")]
+       public static bool targets_include_rich_text ([CCode (array_length_cname = "n_targets", 
array_length_pos = 1.5)] Gdk.Atom[] targets, Gtk.TextBuffer buffer);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool targets_include_text (Gdk.Atom[] targets);
+       [Version (since = "2.10")]
+       public static bool targets_include_text ([CCode (array_length_cname = "n_targets", array_length_pos = 
1.1)] Gdk.Atom[] targets);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool targets_include_uri (Gdk.Atom[] targets);
+       [Version (since = "2.10")]
+       public static bool targets_include_uri ([CCode (array_length_cname = "n_targets", array_length_pos = 
1.1)] Gdk.Atom[] targets);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static unowned Gtk.Widget test_create_simple_window (string window_title, string dialog_text);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static unowned Gtk.Widget test_create_widget (GLib.Type widget_type, ...);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static Gtk.Widget test_display_button_window (string window_title, string dialog_text, ...);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
        public static unowned Gtk.Widget test_find_label (Gtk.Widget widget, string label_pattern);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
        public static unowned Gtk.Widget test_find_sibling (Gtk.Widget base_widget, GLib.Type widget_type);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget test_find_widget (Gtk.Widget widget, string label_pattern, GLib.Type 
widget_type);
+       [Version (since = "2.14")]
+       public static unowned Gtk.Widget? test_find_widget (Gtk.Widget widget, string label_pattern, 
GLib.Type widget_type);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void test_init ([CCode (array_length_pos = 0.9)] ref unowned string[] argvp, ...);
-       [CCode (array_length = false, array_length_type = "guint", array_null_terminated = true, 
cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
+       public static void test_init ([CCode (array_length_cname = "argcp", array_length_pos = 0.5)] ref 
unowned string[] argvp, ...);
+       [CCode (array_length_pos = 0.1, array_length_type = "guint", array_null_terminated = true, 
cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
        public static unowned GLib.Type[] test_list_all_types ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
        public static void test_register_all_types ();
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static double test_slider_get_value (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static void test_slider_set_perc (Gtk.Widget widget, double percentage);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static bool test_spin_button_click (Gtk.SpinButton spinner, uint button, bool upwards);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static string test_text_get (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void test_text_set (Gtk.Widget widget, string str);
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
+       public static void test_text_set (Gtk.Widget widget, string string);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated = true, deprecated_since = "3.20", since = "2.14")]
        public static bool test_widget_click (Gtk.Widget widget, uint button, Gdk.ModifierType modifiers);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "2.14")]
        public static bool test_widget_send_key (Gtk.Widget widget, uint keyval, Gdk.ModifierType modifiers);
        [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (since = "3.10")]
        public static void test_widget_wait_for_draw (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool tree_get_row_drag_data (Gtk.SelectionData selection_data, out unowned 
Gtk.TreeModel tree_model, out Gtk.TreePath path);
+       public static bool tree_get_row_drag_data (Gtk.SelectionData selection_data, out unowned 
Gtk.TreeModel? tree_model, out Gtk.TreePath? path);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool tree_set_row_drag_data (Gtk.SelectionData selection_data, Gtk.TreeModel 
tree_model, Gtk.TreePath path);
+       [CCode (cheader_filename = "gtk/gtk.h")]
+       public static bool @true ();
 }
diff --git a/vapi/metadata/Gtk-3.0-custom.vala b/vapi/metadata/Gtk-3.0-custom.vala
new file mode 100644
index 0000000..fb5efee
--- /dev/null
+++ b/vapi/metadata/Gtk-3.0-custom.vala
@@ -0,0 +1,429 @@
+namespace Gtk {
+       [CCode (type_cname = "GCallback")]
+       [Version (deprecated_since = "3.10")]
+       public delegate void ActionCallback (Action action);
+       public delegate bool AccelGroupActivate (Gtk.AccelGroup accel_group, GLib.Object acceleratable, uint 
keyval, Gdk.ModifierType modifier);
+       [CCode (type_cname = "GCallback")]
+       public delegate void RadioActionCallback (Gtk.Action action, Gtk.Action current);
+
+       [CCode (has_type_id = false)]
+       [Compact]
+       class BindingEntry {
+               public static void add_signal (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType 
modifiers, string signal_name, uint n_args, ...);
+       }
+
+       [CCode (has_type_id = false)]
+       [Compact]
+       public class BindingSet {
+               public static unowned BindingSet @new (string name);
+       }
+
+       [CCode (type_id = "gtk_container_get_type ()")]
+       public abstract class Container : Gtk.Widget {
+               [CCode (vfunc_name = "forall")]
+               [NoWrapper]
+               public virtual void forall_internal (bool include_internal, Gtk.Callback callback);
+               [HasEmitter]
+               public virtual signal void set_focus_child (Gtk.Widget? child);
+
+               [Version (deprecated_since = "vala-0.34", replacement = "find_child_property")]
+               public class unowned GLib.ParamSpec? class_find_child_property (string property_name);
+               [Version (deprecated_since = "vala-0.34", replacement = "list_child_propertie")]
+               public class (unowned GLib.ParamSpec)[] class_list_child_properties ();
+       }
+
+       [CCode (type_id = "gtk_container_accessible_get_type ()")]
+       public class ContainerAccessible : Gtk.WidgetAccessible {
+               [NoWrapper]
+               public virtual int add_gtk (Gtk.Widget widget, void* data);
+               [NoWrapper]
+               public virtual int remove_gtk (Gtk.Widget widget, void* data);
+       }
+
+       [CCode (type_id = "gtk_css_provider_get_type ()")]
+       public class CssProvider : GLib.Object {
+               public bool load_from_data (string data, ssize_t length = -1) throws GLib.Error;
+       }
+
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "gtk_icon_info_copy", free_function = 
"gtk_icon_info_free", type_id = "gtk_icon_info_get_type ()")]
+       [Compact]
+       public class IconInfo {
+       }
+
+       [CCode (cheader_filename = "gtk/gtk.h", has_copy_function = false, has_destroy_function = false, 
has_type_id = false)]
+       public struct RecentData {
+       }
+
+       [CCode (type_id = "gtk_style_get_type ()")]
+       public class Style : GLib.Object {
+               [NoWrapper]
+               public virtual Gtk.Style clone ();
+               public Gtk.Style copy ();
+               [CCode (instance_pos = -1, vfunc_name = "copy")]
+               [NoWrapper]
+               public virtual void copy_to (Gtk.Style dest);
+       }
+
+       [CCode (has_type_id = false)]
+       public struct ActionEntry {
+               public weak string name;
+               public weak string stock_id;
+               public weak string label;
+               public weak string accelerator;
+               public weak string tooltip;
+               [CCode (delegate_target = false, type = "GCallback")]
+               public weak Gtk.ActionCallback callback;
+       }
+
+       [CCode (has_type_id = false)]
+       public struct ToggleActionEntry {
+               public weak string name;
+               public weak string stock_id;
+               public weak string label;
+               public weak string accelerator;
+               public weak string tooltip;
+               [CCode (delegate_target = false, type = "GCallback")]
+               public weak Gtk.ActionCallback callback;
+               public bool is_active;
+       }
+
+       [CCode (type_id = "gtk_tree_model_get_type ()")]
+       public interface TreeModel : GLib.Object {
+               [HasEmitter]
+               public virtual signal void rows_reordered (Gtk.TreePath path, Gtk.TreeIter iter, [CCode 
(array_length = false)] int[] new_order);
+       }
+
+       [CCode (type_id = "gtk_widget_get_type ()")]
+       public class Widget : GLib.Object {
+               [NoWrapper, Version (deprecated = true), CCode (vfunc_name = 
"get_preferred_height_for_width")]
+               public virtual void get_preferred_height_for_width_internal (int width, out int 
minimum_height, out int natural_height);
+               [NoWrapper, Version (deprecated = true), CCode (vfunc_name = "get_preferred_height")]
+               public virtual void get_preferred_height_internal (out int minimum_height, out int 
natural_height);
+               [NoWrapper, Version (deprecated = true), CCode (vfunc_name = 
"get_preferred_width_for_height")]
+               public virtual void get_preferred_width_for_height_internal (int height, out int 
minimum_width, out int natural_width);
+               [NoWrapper, Version (deprecated = true), CCode (vfunc_name = "get_preferred_width")]
+               public virtual void get_preferred_width_internal (out int minimum_width, out int 
natural_width);
+       }
+
+       [CCode (type_id = "gtk_widget_accessible_get_type ()")]
+       public class WidgetAccessible : Gtk.Accessible {
+               [NoWrapper]
+               public virtual void notify_gtk (GLib.ParamSpec pspec);
+       }
+
+       [CCode (type_id = "gtk_editable_get_type ()")]
+       public interface Editable : GLib.Object {
+               [NoWrapper]
+               public abstract void do_insert_text (string new_text, int new_text_length, ref int position);
+               [NoWrapper]
+               public abstract void do_delete_text (int start_pos, int end_pos);
+       }
+
+       [CCode (has_type_id = false)]
+       public struct BindingArg {
+               [CCode (cname = "d.long_data")]
+               public long long_data;
+               [CCode (cname = "d.double_data")]
+               public double double_data;
+               [CCode (cname = "d.string_data")]
+               public weak string string_data;
+       }
+
+       [Version (deprecated_since = "3.10")]
+       public static Gtk.IconSize icon_size_from_name (string name);
+       [Version (deprecated_since = "3.10")]
+       public static unowned string icon_size_get_name (Gtk.IconSize size);
+       public static bool icon_size_lookup (Gtk.IconSize size, out int width, out int height);
+       [Version (deprecated_since = "3.10")]
+       public static bool icon_size_lookup_for_settings (Gtk.Settings settings, Gtk.IconSize size, out int 
width, out int height);
+       [Version (deprecated_since = "3.10")]
+       public static Gtk.IconSize icon_size_register (string name, int width, int height);
+       [Version (deprecated_since = "3.10")]
+       public static void icon_size_register_alias (string alias, Gtk.IconSize target);
+
+       [CCode (type_id = "gtk_number_up_layout_get_type ()")]
+       public enum NumberUpLayout {
+               [Version (deprecated_since = "vala-0.34", replacement = "LRTB")]
+               LEFT_TO_RIGHT_TOP_TO_BOTTOM,
+               [Version (deprecated_since = "vala-0.34", replacement = "LRBT")]
+               LEFT_TO_RIGHT_BOTTOM_TO_TOP,
+               [Version (deprecated_since = "vala-0.34", replacement = "RLTB")]
+               RIGHT_TO_LEFT_TOP_TO_BOTTOM,
+               [Version (deprecated_since = "vala-0.34", replacement = "RLBT")]
+               RIGHT_TO_LEFT_BOTTOM_TO_TOP,
+               [Version (deprecated_since = "vala-0.34", replacement = "TBLR")]
+               TOP_TO_BOTTOM_LEFT_TO_RIGHT,
+               [Version (deprecated_since = "vala-0.34", replacement = "TBRL")]
+               TOP_TO_BOTTOM_RIGHT_TO_LEFT,
+               [Version (deprecated_since = "vala-0.34", replacement = "BTLR")]
+               BOTTOM_TO_TOP_LEFT_TO_RIGHT,
+               [Version (deprecated_since = "vala-0.34", replacement = "BTRL")]
+               BOTTOM_TO_TOP_RIGHT_TO_LEFT
+       }
+
+       [CCode (cname = "gint", has_type_id = false)]
+       public enum SortColumn {
+               [CCode (cname = "GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID")]
+               DEFAULT,
+               [CCode (cname = "GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID")]
+               UNSORTED
+       }
+
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ABOUT")]
+       public const string STOCK_ABOUT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ADD")]
+       public const string STOCK_ADD;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.APPLY")]
+       public const string STOCK_APPLY;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.BOLD")]
+       public const string STOCK_BOLD;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CANCEL")]
+       public const string STOCK_CANCEL;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CAPS_LOCK_WARNING")]
+       public const string STOCK_CAPS_LOCK_WARNING;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CDROM")]
+       public const string STOCK_CDROM;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CLEAR")]
+       public const string STOCK_CLEAR;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CLOSE")]
+       public const string STOCK_CLOSE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.COLOR_PICKER")]
+       public const string STOCK_COLOR_PICKER;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CONNECT")]
+       public const string STOCK_CONNECT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CONVERT")]
+       public const string STOCK_CONVERT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.COPY")]
+       public const string STOCK_COPY;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CUT")]
+       public const string STOCK_CUT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DELETE")]
+       public const string STOCK_DELETE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_AUTHENTICATION")]
+       public const string STOCK_DIALOG_AUTHENTICATION;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_ERROR")]
+       public const string STOCK_DIALOG_ERROR;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_INFO")]
+       public const string STOCK_DIALOG_INFO;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_QUESTION")]
+       public const string STOCK_DIALOG_QUESTION;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_WARNING")]
+       public const string STOCK_DIALOG_WARNING;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIRECTORY")]
+       public const string STOCK_DIRECTORY;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DISCARD")]
+       public const string STOCK_DISCARD;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DISCONNECT")]
+       public const string STOCK_DISCONNECT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DND")]
+       public const string STOCK_DND;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DND_MULTIPLE")]
+       public const string STOCK_DND_MULTIPLE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.EDIT")]
+       public const string STOCK_EDIT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.EXECUTE")]
+       public const string STOCK_EXECUTE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FILE")]
+       public const string STOCK_FILE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FIND")]
+       public const string STOCK_FIND;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FIND_AND_REPLACE")]
+       public const string STOCK_FIND_AND_REPLACE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FLOPPY")]
+       public const string STOCK_FLOPPY;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
+       public const string STOCK_FULLSCREEN;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_BOTTOM")]
+       public const string STOCK_GOTO_BOTTOM;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_FIRST")]
+       public const string STOCK_GOTO_FIRST;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_LAST")]
+       public const string STOCK_GOTO_LAST;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_TOP")]
+       public const string STOCK_GOTO_TOP;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_BACK")]
+       public const string STOCK_GO_BACK;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_DOWN")]
+       public const string STOCK_GO_DOWN;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_FORWARD")]
+       public const string STOCK_GO_FORWARD;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_UP")]
+       public const string STOCK_GO_UP;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HARDDISK")]
+       public const string STOCK_HARDDISK;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HELP")]
+       public const string STOCK_HELP;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HOME")]
+       public const string STOCK_HOME;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INDENT")]
+       public const string STOCK_INDENT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INDEX")]
+       public const string STOCK_INDEX;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INFO")]
+       public const string STOCK_INFO;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ITALIC")]
+       public const string STOCK_ITALIC;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUMP_TO")]
+       public const string STOCK_JUMP_TO;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_CENTER")]
+       public const string STOCK_JUSTIFY_CENTER;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_FILL")]
+       public const string STOCK_JUSTIFY_FILL;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_LEFT")]
+       public const string STOCK_JUSTIFY_LEFT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_RIGHT")]
+       public const string STOCK_JUSTIFY_RIGHT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
+       public const string STOCK_LEAVE_FULLSCREEN;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_FORWARD")]
+       public const string STOCK_MEDIA_FORWARD;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_NEXT")]
+       public const string STOCK_MEDIA_NEXT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PAUSE")]
+       public const string STOCK_MEDIA_PAUSE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PLAY")]
+       public const string STOCK_MEDIA_PLAY;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PREVIOUS")]
+       public const string STOCK_MEDIA_PREVIOUS;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_RECORD")]
+       public const string STOCK_MEDIA_RECORD;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_REWIND")]
+       public const string STOCK_MEDIA_REWIND;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_STOP")]
+       public const string STOCK_MEDIA_STOP;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MISSING_IMAGE")]
+       public const string STOCK_MISSING_IMAGE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NETWORK")]
+       public const string STOCK_NETWORK;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NEW")]
+       public const string STOCK_NEW;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NO")]
+       public const string STOCK_NO;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.OK")]
+       public const string STOCK_OK;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.OPEN")]
+       public const string STOCK_OPEN;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_LANDSCAPE")]
+       public const string STOCK_ORIENTATION_LANDSCAPE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_PORTRAIT")]
+       public const string STOCK_ORIENTATION_PORTRAIT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_LANDSCAPE")]
+       public const string STOCK_ORIENTATION_REVERSE_LANDSCAPE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_PORTRAIT")]
+       public const string STOCK_ORIENTATION_REVERSE_PORTRAIT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PAGE_SETUP")]
+       public const string STOCK_PAGE_SETUP;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PASTE")]
+       public const string STOCK_PASTE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PREFERENCES")]
+       public const string STOCK_PREFERENCES;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT")]
+       public const string STOCK_PRINT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_ERROR")]
+       public const string STOCK_PRINT_ERROR;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PAUSED")]
+       public const string STOCK_PRINT_PAUSED;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PREVIEW")]
+       public const string STOCK_PRINT_PREVIEW;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_REPORT")]
+       public const string STOCK_PRINT_REPORT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_WARNING")]
+       public const string STOCK_PRINT_WARNING;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PROPERTIES")]
+       public const string STOCK_PROPERTIES;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.QUIT")]
+       public const string STOCK_QUIT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REDO")]
+       public const string STOCK_REDO;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REFRESH")]
+       public const string STOCK_REFRESH;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REMOVE")]
+       public const string STOCK_REMOVE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REVERT_TO_SAVED")]
+       public const string STOCK_REVERT_TO_SAVED;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SAVE")]
+       public const string STOCK_SAVE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SAVE_AS")]
+       public const string STOCK_SAVE_AS;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_ALL")]
+       public const string STOCK_SELECT_ALL;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_COLOR")]
+       public const string STOCK_SELECT_COLOR;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_FONT")]
+       public const string STOCK_SELECT_FONT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SORT_ASCENDING")]
+       public const string STOCK_SORT_ASCENDING;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SORT_DESCENDING")]
+       public const string STOCK_SORT_DESCENDING;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SPELL_CHECK")]
+       public const string STOCK_SPELL_CHECK;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.STOP")]
+       public const string STOCK_STOP;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.STRIKETHROUGH")]
+       public const string STOCK_STRIKETHROUGH;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDELETE")]
+       public const string STOCK_UNDELETE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDERLINE")]
+       public const string STOCK_UNDERLINE;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDO")]
+       public const string STOCK_UNDO;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNINDENT")]
+       public const string STOCK_UNINDENT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.YES")]
+       public const string STOCK_YES;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_100")]
+       public const string STOCK_ZOOM_100;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_FIT")]
+       public const string STOCK_ZOOM_FIT;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_IN")]
+       public const string STOCK_ZOOM_IN;
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_OUT")]
+       public const string STOCK_ZOOM_OUT;
+
+       [Version (deprecated_since = "3.10")]
+       [CCode (cheader_filename = "gtk/gtk.h")]
+       namespace Stock {
+               public static void add (Gtk.StockItem[] items);
+               public static void add_static (Gtk.StockItem[] items);
+               public static GLib.SList<string> list_ids ();
+               public static bool lookup (string stock_id, out Gtk.StockItem item);
+               public static void set_translate_func (string domain, owned Gtk.TranslateFunc func);
+       }
+
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_focus")]
+       public static void render_focus (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_frame")]
+       public static void render_frame (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_frame_gap")]
+       public static void render_frame_gap (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height, Gtk.PositionType gap_side, double xy0_gap, double xy1_gap);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_handle")]
+       public static void render_handle (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_icon")]
+       public static void render_icon (Gtk.StyleContext context, Cairo.Context cr, Gdk.Pixbuf pixbuf, double 
x, double y);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_icon_pixbuf")]
+       public static Gdk.Pixbuf render_icon_pixbuf (Gtk.StyleContext context, Gtk.IconSource source, 
Gtk.IconSize size);
+       public static void render_icon_surface (Gtk.StyleContext context, Cairo.Context cr, Cairo.Surface 
surface, double x, double y);
+       public static void render_insertion_cursor (Gtk.StyleContext context, Cairo.Context cr, double x, 
double y, Pango.Layout layout, int index, Pango.Direction direction);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_layout")]
+       public static void render_layout (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
Pango.Layout layout);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_activity")]
+       public static void render_activity (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_arrow")]
+       public static void render_arrow (Gtk.StyleContext context, Cairo.Context cr, double angle, double x, 
double y, double size);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_background")]
+       public static void render_background (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_check")]
+       public static void render_check (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_expander")]
+       public static void render_expander (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_extension")]
+       public static void render_extension (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height, Gtk.PositionType gap_side);
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_line")]
+       public static void render_line (Gtk.StyleContext context, Cairo.Context cr, double x0, double y0, 
double x1, double y1);
+       [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_option")]
+       public static void render_option (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height);
+       [CCode (cheader_filename = "gtk/gtk.h")]
+       [Version (deprecated_since = "vala-0.16", replacement = "StyleContext.render_slider")]
+       public static void render_slider (Gtk.StyleContext context, Cairo.Context cr, double x, double y, 
double width, double height, Gtk.Orientation orientation);
+}
diff --git a/vapi/metadata/Gtk-3.0.metadata b/vapi/metadata/Gtk-3.0.metadata
new file mode 100644
index 0000000..8346dec
--- /dev/null
+++ b/vapi/metadata/Gtk-3.0.metadata
@@ -0,0 +1,571 @@
+// Issues which can't (currently) be fixed through annotations alone,
+// but may be some day.
+////////////////////////////////////////////////////////////////////
+
+// G-I doesn't support per-sybmol includes
+* cheader_filename="gtk/gtk.h"
+*Accessible cheader_filename="gtk/gtk.h,gtk/gtk-a11y.h"
+IMContext cheader_filename="gtk/gtk.h,gtk/gtkimmodule.h"
+
+// Causes vapigen issues, not sure why -- <union> without name
+
+// G-I doesn't support structs
+BindingSet struct=false
+BindingEntry struct=false
+BindingSignal struct=false
+Border struct
+FileFilterInfo struct=false
+FixedChild struct=false
+Requisition struct
+TargetEntry struct
+TextIter struct
+TreeIter struct
+
+// Bug #636812: no support for annotating the type of a closure
+AccelGroup
+  .connect*.closure type="owned Gtk.AccelGroupActivate"
+AccelLabel
+  .set_accel_closure.accel_closure type="owned Gtk.AccelGroupActivate"
+
+// Bug #: Virtual methods without invokers
+Entry
+  .get_frame_size.* out
+  .get_text_area_size.* out
+EntryBuffer
+  .get_text#virtual_method.n_bytes out default=null
+Range
+  .get_range_border.* out
+  .get_range_size_request.minimum out
+  .get_range_size_request.natural out
+RcStyle
+  .create_rc_style unowned=false skip=false
+  .create_style unowned=false skip=false
+TextView
+  .create_buffer unowned=false skip=false
+Widget
+  .adjust_size_allocation.*_size ref
+  .adjust_size_allocation.allocated_pos ref
+  .adjust_size_request.*_size ref
+  .compute_expand#virtual_method.* out
+  .dispatch_child_properties_changed.pspecs array array_length_idx=0
+RecentChooser
+  .get_recent_manager skip=false
+
+// Arrays without length arguments
+TreeStore
+  .reorder skip=false
+
+// Better deprecation notices
+Accessible
+  .connect_widget_destroyed replacement="set_widget"
+Button
+  .enter replacement="Gtk.Widget.enter_notify_event"
+  .leave replacement="Gtk.Widget.leave_notify_event"
+  .pressed replacement="Gtk.Widget.button_press_event"
+  .released replacement="Gtk.Widget.button_release_event"
+CellRenderer
+  .get_size replacement="get_preferred_size"
+  .cell_background_gdk replacement="cell_background_rgba"
+CellRendererText
+  .background_gdk replacement="background_rgba"
+  .foreground_gdk replacement="foreground_rgba"
+CellView
+  .set_background_color replacement="set_background_rgba"
+  .background_gdk replacement="background_rgba"
+ColorButton
+  .color replacement="ColorChooser.rgba"
+ColorSelection
+  .get_current_color replacement="get_current_rgba"
+  .get_previous_color replacement="get_previous_rgba"
+  .set_current_color replacement="set_current_rgba"
+  .set_previous_color replacement="set_previous_rgba"
+  .current_color replacement="current_rgba"
+MenuItem
+  .get_right_justified replacement="Widget.get_hexpand and Widget.get_halign"
+  .set_right_justified replacement="Widget.set_hexpand and Widget.set_halign"
+TextTag
+  .background_gdk replacement="background_rgba"
+  .foreground_gdk replacement="foreground_rgba"
+  .paragraph_background_gdk replacement="paragraph_background_rgba"
+Widget
+  .class_path replacement="get_path"
+  .modify_fg replacement="override_color"
+  .modify_bg replacement="override_background_color"
+  .modify_text replacement="override_color"
+  .modify_base replacement="override_background_color"
+  .modify_font replacement="override_font"
+  .modify_cursor replacement="override_cursor"
+  .path replacement="get_path"
+  .reset_rc_styles replacement="reset_style"
+draw_insertion_cursor replacement="render_insertion_cursor"
+paint_box replacement="render_background"
+paint_box_gap replacement="render_frame_gap"
+paint_expander replacement="render_expander"
+paint_extension replacement="render_extension"
+paint_shadow_gap replacement="render_frame"
+paint_spinner replacement="render_activity"
+paint_resize_grip replacement="render_handle"
+
+// G-I cannot deprecate whole types
+Action deprecated_since="3.10" replacement="GLib.Action"
+ActionGroup deprecated_since="3.10"
+Alignment deprecated_since="3.14"
+FontSelection deprecated_since="3.2" replacement="FontChooserWidget"
+FontSelectionDialog deprecated_since="3.2" replacement="FontChooserDialog"
+Gradient deprecated_since="3.8"
+HandleBox deprecated_since="3.4"
+HBox deprecated_since="3.2" replacement="Box"
+HButtonBox deprecated_since="3.2" replacement="ButtonBox"
+HPaned deprecated_since="3.2" replacement="Paned"
+HScale deprecated_since="3.2" replacement="Scale"
+HScrollbar deprecated_since="3.2" replacement="Scrollbar"
+HSeparator deprecated_since="3.2" replacement="Separator"
+IconFactory deprecated_since="3.10" replacement="IconTheme"
+IconSet deprecated_since="3.10" replacement="IconTheme"
+IconSource deprecated_since="3.10" replacement="IconTheme"
+ImageMenuItem deprecated_since="3.10"
+Misc deprecated_since="3.14"
+NumerableIcon deprecated_since="3.14"
+RadioAction deprecated_since="3.10"
+StatusIcon deprecated_since="3.14"
+Style deprecated_since="3.0" replacement="StyleContext"
+Table deprecated_since="3.4" replacement="Grid"
+TearoffMenuItem deprecated_since="3.4"
+ToggleAction deprecated_since="3.10"
+UIManager deprecated_since="3.10"
+VBox deprecated_since="3.2" replacement="Box"
+VButtonBox deprecated_since="3.2" replacement="ButtonBox"
+VPaned deprecated_since="3.2" replacement="Paned"
+VScale deprecated_since="3.2" replacement="Scale"
+VScrollbar deprecated_since="3.2" replacement="Scrollbar"
+VSeparator deprecated_since="3.2" replacement="Separator"
+Activatable deprecated_since="3.10"
+
+// G-I cannot handle returning non-boxed types
+binding_set_by_class skip=false
+ContainerClass
+  .find_child_property skip=false
+get_option_group skip=false
+
+// G-I cannot handle variadic functions
+*.*_valist skip=false
+*.*_valist.args type="va_list"
+*.*_valist.var_args type="va_list"
+Builder
+  .add_callback_symbols skip=false
+CellArea
+  .add_with_properties skip=false
+  .cell_get skip=false
+  .cell_set skip=false
+Container
+  .add_with_properties skip=false
+  .child_get* skip=false
+  .child_set* skip=false
+Dialog
+  .add_buttons skip=false
+  .set_alternative_button_order skip=false sentinel="-1"
+  .new_with_buttons skip=false
+FileChooserDialog
+  .new skip=false
+InfoBar
+  .add_buttons skip=false
+  .new_with_buttons skip=false
+ListStore
+  .new skip=false sentinel="-1"
+  .insert_with_values skip=false sentinel="-1"
+  .set skip=false sentinel="-1"
+MessageDialog
+  .new skip=false printf_format
+  .format_secondary_markup skip=false printf_format
+  .format_secondary_text skip=false printf_format
+  .new_with_markup skip=false printf_format
+RecentChooserDialog
+  .new skip=false
+  .new_for_manager skip=false
+Style
+  .get skip=false
+StyleContext
+  .get skip=false
+  .get_style skip=false
+StyleProperties
+  .set skip=false
+TextBuffer
+  .create_tag skip=false
+  .insert_with_tags skip=false
+  .insert_with_tags_by_name skip=false
+ThemingEngine
+  .get skip=false
+  .get_style skip=false
+  .get_style_property skip=false
+TreePath
+  .new_from_indices skip=false sentinel="-1"
+TreeStore
+  .new skip=false sentinel=""
+  .insert_with_values skip=false sentinel="-1"
+  .set skip=false sentinel="-1"
+TreeView
+  .insert_column_with_attributes skip=false
+TreeViewColumn
+  .set_attributes skip=false
+  .new_with_attributes skip=false
+Widget
+  .new skip=false
+  .style_get skip=false
+Actionable
+  .set_action_target skip=false
+CellLayout
+  .set_attributes skip=false
+TreeModel
+  .get skip=false sentinel="-1"
+
+// Abstract vs. virtual
+CellRenderer
+  .get_size#virtual_method abstract
+  .render#virtual_method abstract
+TreeModel
+  .iter_previous#virtual_method virtual
+  .ref_node#virtual_method virtual
+  .unref_node#virtual_method virtual
+
+// G-I can't handle delegates w/o targets
+Clipboard
+  .set_with_data skip=false
+  .set_with_owner skip=false
+ColorSelection
+  .set_change_palette_with_screen_hook skip=false
+
+// Unregistered callback types
+Builder
+  .lookup_callback_symbol skip=false
+
+// Bug #: Default values
+Button
+  .new_from_icon_name.size default=Gtk.IconSize.BUTTON
+Box
+  .pack_*.expand default=true
+  .pack_*.fill default=true
+  .pack_*.padding default=0
+CellAreaBox
+  .pack_*.align default=false
+  .pack_*.fixed default=true
+  .pack_*.expand default=true
+Editable
+  .get_chars.start_pos default=0
+  .get_chars.end_pos default=-1
+EntryBuffer
+  .new.initial_chars default=null
+Gesture
+  .get_point.x nullable default=null
+  .get_point.y nullable default=null
+Grid
+  .attach*.width default=1
+  .attach*.height default=1
+IconInfo
+  .load_symbolic*.success_color default=null
+  .load_symbolic*.warning_color default=null
+  .load_symbolic*.error_color default=null
+  .load_symbolic*.was_symbolic default=null
+  .*.cancellable default=null
+Layout
+  .new.* default=null
+Notebook
+  .append_page.tab_label default=null
+  .prepend_page.tab_label default=null
+ScaleButton
+  .new.size type="Gtk.IconSize"
+  .new.min default=0.0
+  .new.max default=100.0
+  .new.step default=2.0
+  .new.icons default=null
+TextBuffer
+  .set_text.len default=-1
+TextTag
+  .new.name default=null
+TextMark
+  .new.left_gravity default=false
+Window
+  .new.type default=Gtk.WindowType.TOPLEVEL
+
+// Ownership of out arguments
+CellRenderer
+  .get_preferred_size.minimum_size unowned=false
+  .get_preferred_size.natural_size unowned=false
+CellView
+  .get_size_of_row.requisition unowned=false
+ComboBox
+  .get_active_iter.iter unowned=false
+
+// Structs as generic type arguments
+binding_entry_add_signall.binding_args type="GLib.SList<Gtk.BindingArg?>"
+
+// Subclasses conflicting with virtual methods with different signatures
+CellAreaBox
+  .pack_end name="pack_end_full"
+  .pack_start name="pack_start_full"
+FileFilter
+  .get_name name="get_filter_name"
+  .set_name name="set_filter_name"
+RecentFilter
+  .get_name name="get_filter_name"
+  .set_name name="set_filter_name"
+
+// Field ownership
+RecentData
+  .* unowned=false
+TextAttributes
+  .language unowned=false
+TextAppearance
+  .rgba unowned=false
+
+// Bug #: Nullable properties & fields
+ComboBox.active_id nullable
+RecentData
+  .display_name nullable
+  .description nullable
+RecentFilterInfo
+  .uri nullable
+  .display_name nullable
+  .mime_type nullable
+  .applications nullable
+  .groups nullable
+
+// Bug #: element-type properties
+Settings.color_hash type="GLib.HashTable<string,Gdk.Color>"
+
+// Skipped for G-I, but usable from Vala
+FlowBox
+  .bind_model skip=false
+  .bind_model.create_widget_func nullable
+FlowBoxCreateWidgetFunc skip=false
+  .item type="GLib.Object"
+IMContextSimple
+  .add_table skip=false
+
+// Symbol name conflicts
+Container
+  .forall#virtual_method skip
+  .set_focus_child skip
+EntryBuffer
+  .get_text#method skip
+EntryCompletion
+  .insert_prefix#method name="request_prefix_insertion"
+Notebook
+  .insert_page#virtual_method name="insert_page_menu"
+  .insert_page#virtual_method.tab_label nullable
+  .insert_page#virtual_method.menu_label nullable
+  .insert_page_menu skip
+ToolShell
+  .get_icon_size#method skip
+TreeView
+  .row_expanded#method name="is_row_expanded"
+Widget
+  .compute_expand#virtual_method name="compute_expand_internal"
+  .draw#method name="draw_to_cairo_context"
+Window
+  .activate_default#method name="try_activate_default"
+  .activate_focus#method name="try_activate_focus"
+Editable
+  .delete_text#method skip
+  .insert_text#method skip
+
+// time_t
+RecentInfo
+  .get_added type="time_t"
+  .get_application_info.time_ type="time_t"
+  .get_modified type="time_t"
+  .get_visited type="time_t"
+
+Stock skip
+STOCK_* name="STOCK_(.+)" parent="Gtk.Stock"
+
+// Not sure what g-i was thinking
+NumerableIcon
+  .new symbol_type="constructor"
+  .new_with_style_context symbol_type="constructor"
+TreeModel
+  .filter_new parent="Gtk.TreeModelFilter" name="new" symbol_type="constructor"
+  .sort_new_with_model parent="Gtk.TreeModelSort" name="new_with_model" symbol_type="constructor"
+
+// These aren't actually used publicly anywhere.
+TableChild skip
+TableRowCol skip
+TargetPair skip
+RcProperty skip
+
+// Vala-specific, not really bugs
+/////////////////////////////////
+
+// Backwards compatibility
+AccelGroup
+  .find type="Gtk.AccelKey*"
+Action
+  .create_icon.icon_size type="Gtk.IconSize"
+ActionGroup
+  .add_actions* skip=false
+  .add_*_actions* skip=false
+  .add_radio_actions.on_change type="Gtk.RadioActionCallback"
+  .add_radio_actions_full.on_change type="owned Gtk.RadioActionCallback"
+Button
+  .new_from_icon_name.size type="Gtk.IconSize"
+ClipboardRichTextReceivedFunc
+  .text type="uint8[]?" array_length_idx=3
+ColorButton
+  .get_color return_void
+ColorSelection
+  .get_current_color return_void
+  .get_previous_color return_void
+ColorSelectionDialog
+  .get_color_selection type="unowned Gtk.ColorSelection"
+CssProvider
+  .load_from_data name="load_from_buffer"
+Entry
+  .get_text_area return_void
+EntryBuffer
+  .new.initial_chars type="uint8[]?" array_length_idx=1
+  .emit_inserted_text.chars type="uint8[]" array_length_idx=2
+  .insert_text.chars type="uint8[]" array_length_idx=2
+  .set_text.chars type="uint8[]" array_length_idx=1
+IconInfo
+  .copy skip=false
+  .free skip=false destroys_instance
+IconSet
+  .get_sizes.sizes type="Gtk.IconSize[]"
+  .render_icon*.size type="Gtk.IconSize"
+IconSource
+  .get_size type="Gtk.IconSize"
+  .set_size.size type="Gtk.IconSize"
+Image
+  .*.size type="Gtk.IconSize"
+InfoBar
+  .get_content_area type="unowned Gtk.Container"
+ListStore
+  .append return_void
+  .move_after.iter ref
+  .move_before.iter ref
+  .prepend return_void
+PlacesSidebar
+  .show_other_locations#signal name="show_other_locations_requested"
+SelectionData
+  .get_data skip=false
+Style
+  .base unowned=false
+  .bg unowned=false
+  .dark unowned=false
+  .fg unowned=false
+  .light unowned=false
+  .mid unowned=false
+  .text unowned=false
+  .text_aa unowned=false
+  .copy skip
+  .get_style_property return_void
+render_* parent="Gtk.StyleContext"
+render_* symbol_type="method" instance_idx=0
+render_icon_pixbuf.size type="Gtk.IconSize"
+StyleProperties
+  .get skip=false
+  .lookup_property skip=false
+  .register_property skip=false
+  .register_property.parse_func nullable
+TextBuffer
+  .delete.start ref
+  .delete.end ref
+  .delete_interactive.start_iter ref
+  .delete_interactive.end_iter ref
+  .get_end_iter return_void
+  .get_start_iter return_void
+  .insert*.iter ref
+  .insert_text.pos ref
+  .insert_text#signal.location ref
+TextView
+  .get_iter_location return_void
+  .get_visible_rect return_void
+ThemingEngine
+  .register_property skip=false
+  .render_icon_pixbuf skip=false unowned=false
+ToolItem
+  .get_icon_size type="Gtk.IconSize"
+ToolPalette
+  .get_icon_size type="Gtk.IconSize"
+  .set_icon_size.icon_size type="Gtk.IconSize"
+TreePath
+  .get_indices_with_depth name="get_indices"
+tree_row_reference_reordered skip=false name="reordered" parent="Gtk.TreeRowReference"
+TreeStore
+  .move_after.iter ref
+  .move_before.iter ref
+  .remove.iter ref
+TreeView
+  .get_background_area return_void
+  .get_cell_area return_void
+  .get_visible_rect return_void
+Widget
+  .delete_event.event type="Gdk.EventAny"
+  .destroy_event.event type="Gdk.EventAny"
+  .drag_*#method parent="Gtk" symbol_type="function"
+  .get_allocation return_void
+  .get_child_requisition return_void
+  .get_clip return_void
+  .get_parent type="unowned Gtk.Container?"
+  .grab_add parent="Gtk" symbol_type="function"
+  .grab_remove parent="Gtk" symbol_type="function"
+  .render_icon*.size type="Gtk.IconSize"
+  .set_parent.parent type="Gtk.Container"
+  .style_get_property.value ref
+  .touch_event.event type="Gdk.EventTouch"
+WidgetClass
+  .install_style_property_parser skip=false
+TreeModel
+  .get_value return_void
+BindingArg
+  .d.* skip
+StockItem
+  .copy skip=false unowned=false
+TextIter
+  .get_attributes.values out=false
+icon_size_*#function skip
+key_snooper_install skip=false
+rc_property_parse_* skip
+rc_scanner_new skip=false
+show_about_dialog skip=false
+test_create_widget skip=false
+test_display_button_window skip=false
+test_init skip=false
+
+init*.argv unowned
+parse_args.argv unowned
+test_init.argvp unowned
+
+// Forward upstream
+///////////////////
+Widget
+  .drag_dest_set.targets array_length_idx=3
+  .drag_source_set.targets array_length_idx=3
+
+// Not completely sure
+ComboBox
+  .get_row_separator_func skip=false
+Menu
+  .get_for_attach_widget type="unowned GLib.List<Gtk.Menu>"
+Window
+  .list_toplevels type="GLib.List<unowned Gtk.Window>"
+  .set_focus#signal.object nullable
+TreeModel
+  .get_path nullable
+  .iter_next.iter ref
+  .iter_previous.iter ref
+TreeView
+  .get_*_func skip=false
+Widget
+  .drag_begin.event nullable
+
+// Sure
+binding_set_by_class.object_class type="GLib.ObjectClass"
+
+// These delegate types don't have targets in the typedefs, but they
+// get called with a target.
+AccelGroupActivate skip
+
+// Possible TODO
+////////////////
+
+// TreeViewColumn.title nullable // (plus all title params in TreeView and TreeViewColumn)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]