[vala/wip/x-version: 23/24] Update all bindings



commit 71b29db40f62c25622d9e23c0e9db91a4710fe32
Author: Luca Bruno <lucabru src gnome org>
Date:   Thu Dec 25 21:46:38 2014 +0100

    Update all bindings

 codegen/valagsignalmodule.vala              |    2 +-
 vala/valacodecontext.vala                   |    2 +-
 vapi/atk.vapi                               |  211 +++--
 vapi/atspi-2.vapi                           |   38 +-
 vapi/cairo-xcb.vapi                         |    2 +-
 vapi/clutter-1.0.vapi                       | 1486 +++++++++++++++++++++------
 vapi/clutter-gdk-1.0.vapi                   |    6 +
 vapi/clutter-gst-1.0.vapi                   |   10 +-
 vapi/clutter-gst-2.0.vapi                   |   11 +-
 vapi/clutter-gst-3.0.vapi                   |   55 +
 vapi/clutter-gtk-1.0.vapi                   |    7 +-
 vapi/clutter-x11-1.0.vapi                   |   31 +-
 vapi/cogl-pango-1.0.vapi                    |   13 +-
 vapi/gconf-2.0.vapi                         |    2 +-
 vapi/gdk-2.0.vapi                           |  112 +-
 vapi/gdk-3.0.vapi                           |  411 +++++++-
 vapi/gdk-pixbuf-2.0.vapi                    |   58 +-
 vapi/gdk-x11-2.0.vapi                       |    2 +-
 vapi/gdk-x11-3.0.vapi                       |  104 ++-
 vapi/gdl-3.0.vapi                           |   59 +-
 vapi/gedit-2.20.vapi                        |    2 +-
 vapi/gedit.vapi                             |   30 +-
 vapi/gio-2.0.vapi                           | 1038 ++++++++++++++++----
 vapi/gnome-keyring-1.vapi                   |    2 +-
 vapi/gobject-introspection-1.0.vapi         |    8 +
 vapi/goocanvas.vapi                         |    2 +-
 vapi/gstreamer-0.10.vapi                    |   34 +-
 vapi/gstreamer-1.0.vapi                     |   96 ++-
 vapi/gstreamer-allocators-1.0.vapi          |    4 +
 vapi/gstreamer-app-1.0.vapi                 |    1 +
 vapi/gstreamer-audio-1.0.vapi               |    3 +
 vapi/gstreamer-base-1.0.vapi                |   13 +
 vapi/gstreamer-check-1.0.vapi               |   10 +-
 vapi/gstreamer-pbutils-1.0.vapi             |    5 +-
 vapi/gstreamer-rtp-1.0.vapi                 |    2 +
 vapi/gstreamer-rtsp-1.0.vapi                |   15 +-
 vapi/gstreamer-sdp-1.0.vapi                 |   83 ++
 vapi/gstreamer-tag-1.0.vapi                 |    1 +
 vapi/gstreamer-video-1.0.vapi               |   13 +
 vapi/gtk+-2.0.vapi                          |  224 ++--
 vapi/gtk+-3.0.vapi                          |  462 +++++-----
 vapi/gtksourceview-3.0.vapi                 |   34 +-
 vapi/gudev-1.0.vapi                         |    4 +
 vapi/json-glib-1.0.vapi                     |   94 ++-
 vapi/libarchive.vapi                        |   28 +-
 vapi/libgda-4.0.vapi                        |    2 +-
 vapi/libgda-report-4.0.vapi                 |    2 +-
 vapi/libgdata.vapi                          |  857 +++++++++++++++-
 vapi/libglade-2.0.vapi                      |    2 +-
 vapi/libnotify.vapi                         |   16 +-
 vapi/libpeas-1.0.vapi                       |    5 +
 vapi/libpeas-gtk-1.0.vapi                   |    6 +-
 vapi/librsvg-2.0.vapi                       |   34 +-
 vapi/libsoup-2.2.vapi                       |    2 +-
 vapi/libsoup-2.4.vapi                       |  336 +++++--
 vapi/libwnck-1.0.vapi                       |    2 +-
 vapi/libwnck-3.0.vapi                       |   81 ++-
 vapi/linux.vapi                             |    6 +-
 vapi/mx-1.0.vapi                            |  224 ++++-
 vapi/packagekit-glib2.vapi                  |  479 +++++++++
 vapi/packages/gtk+-2.0/gtk+-2.0-custom.vala |    2 +-
 vapi/pango.vapi                             |  132 +++-
 vapi/pangocairo.vapi                        |   29 +-
 vapi/poppler-glib.vapi                      |  181 ++++-
 vapi/rest-0.6.vapi                          |    4 +-
 vapi/rest-0.7.vapi                          |    2 +
 vapi/udisks2.vapi                           |   41 +-
 vapi/vte-2.90.vapi                          |   70 ++
 vapi/vte.vapi                               |    2 +-
 vapi/webkit2gtk-4.0.vapi                    |  117 ++-
 vapi/webkit2gtk-web-extension-4.0.vapi      |   39 +-
 vapi/xcb-icccm.vapi                         |    2 +-
 vapi/xcb.vapi                               |    8 +-
 73 files changed, 6154 insertions(+), 1359 deletions(-)
---
diff --git a/codegen/valagsignalmodule.vala b/codegen/valagsignalmodule.vala
index 3f8e1ea..a84c05c 100644
--- a/codegen/valagsignalmodule.vala
+++ b/codegen/valagsignalmodule.vala
@@ -333,7 +333,7 @@ public class Vala.GSignalModule : GObjectModule {
                        flags += "G_SIGNAL_NO_HOOKS";
                }
 
-               if (sig.get_attribute ("Deprecated") != null && CodeContext.get ().require_glib_version (2, 
31)) {
+               if (sig.version.deprecated && CodeContext.get ().require_glib_version (2, 31)) {
                        flags += "G_SIGNAL_DEPRECATED";
                }
 
diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala
index 0906b48..a08db1e 100644
--- a/vala/valacodecontext.vala
+++ b/vala/valacodecontext.vala
@@ -47,7 +47,7 @@ public class Vala.CodeContext {
        public bool hide_internal { get; set; }
 
        /**
-        * Do not check whether used symbols exist in local packages.
+        * Whether to check if used symbols exist in local packages.
         */
        public bool since_check { get; set; }
 
diff --git a/vapi/atk.vapi b/vapi/atk.vapi
index 149dc55..fa9bc85 100644
--- a/vapi/atk.vapi
+++ b/vapi/atk.vapi
@@ -23,7 +23,7 @@ namespace Atk {
                public virtual int get_start_index ();
                public virtual string get_uri (int i);
                public bool is_inline ();
-               [Deprecated]
+               [Version (deprecated = true, since = "1.4")]
                public virtual bool is_selected_link ();
                public virtual bool is_valid ();
                [NoWrapper]
@@ -31,8 +31,8 @@ namespace Atk {
                public int end_index { get; }
                [NoAccessorMethod]
                public int number_of_anchors { get; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public bool selected_link { get; }
                public int start_index { get; }
                public virtual signal void link_activated ();
@@ -41,11 +41,11 @@ namespace Atk {
        public class Misc : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Misc ();
-               [Deprecated]
+               [Version (deprecated = true, since = "1.13")]
                public static unowned Atk.Misc get_instance ();
-               [Deprecated]
+               [Version (deprecated = true, since = "1.13")]
                public virtual void threads_enter ();
-               [Deprecated]
+               [Version (deprecated = true, since = "1.13")]
                public virtual void threads_leave ();
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_no_op_object_get_type ()")]
@@ -68,19 +68,21 @@ namespace Atk {
                [CCode (has_construct_function = false)]
                protected Object ();
                public bool add_relationship (Atk.RelationType relationship, Atk.Object target);
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual uint connect_property_change_handler (Atk.PropertyChangeHandler handler);
+               [Version (since = "1.12")]
                public virtual Atk.AttributeSet get_attributes ();
                public virtual unowned string get_description ();
                public virtual int get_index_in_parent ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual Atk.Layer get_layer ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual int get_mdi_zorder ();
                public int get_n_accessible_children ();
                [NoWrapper]
                public virtual int get_n_children ();
                public virtual unowned string get_name ();
+               [Version (since = "2.8")]
                public virtual unowned string get_object_locale ();
                public virtual unowned Atk.Object get_parent ();
                public virtual Atk.Role get_role ();
@@ -90,7 +92,7 @@ namespace Atk {
                public Atk.Object ref_accessible_child (int i);
                public virtual Atk.RelationSet ref_relation_set ();
                public virtual Atk.StateSet ref_state_set ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual void remove_property_change_handler (uint handler_id);
                public bool remove_relationship (Atk.RelationType relationship, Atk.Object target);
                public virtual void set_description (string description);
@@ -111,31 +113,31 @@ namespace Atk {
                public Atk.Object accessible_parent { owned get; set; }
                [NoAccessorMethod]
                public int accessible_role { get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public string accessible_table_caption { owned get; set; }
                [NoAccessorMethod]
                public Atk.Object accessible_table_caption_object { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public string accessible_table_column_description { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public Atk.Object accessible_table_column_header { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public string accessible_table_row_description { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public Atk.Object accessible_table_row_header { owned get; set; }
                [NoAccessorMethod]
                public Atk.Object accessible_table_summary { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public double accessible_value { get; set; }
                public virtual signal void active_descendant_changed (void* child);
                public virtual signal void children_changed (uint change_index, void* changed_child);
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual signal void focus_event (bool focus_in);
                public virtual signal void property_change (void* values);
                public virtual signal void state_change (string name, bool state_set);
@@ -153,6 +155,7 @@ namespace Atk {
        public class Plug : Atk.Object, Atk.Component {
                [CCode (has_construct_function = false, type = "AtkObject*")]
                public Plug ();
+               [Version (since = "1.30")]
                public string get_id ();
                [NoWrapper]
                public virtual string get_object_id ();
@@ -161,18 +164,24 @@ namespace Atk {
        [Compact]
        public class Range {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.12")]
                public Range (double lower_limit, double upper_limit, string description);
+               [Version (since = "2.12")]
                public Atk.Range copy ();
+               [Version (since = "2.12")]
                public void free ();
+               [Version (since = "2.12")]
                public unowned string get_description ();
+               [Version (since = "2.12")]
                public double get_lower_limit ();
+               [Version (since = "2.12")]
                public double get_upper_limit ();
        }
        [CCode (cheader_filename = "atk/atk.h")]
        public class Registry : GLib.Object {
-               [Deprecated]
+               [Version (deprecated = true)]
                public weak GLib.HashTable<GLib.Type,Atk.ObjectFactory> factory_singleton_cache;
-               [Deprecated]
+               [Version (deprecated = true)]
                public weak GLib.HashTable<GLib.Type,GLib.Type> factory_type_registry;
                [CCode (has_construct_function = false)]
                protected Registry ();
@@ -187,15 +196,16 @@ namespace Atk {
                public Atk.RelationType relationship;
                [CCode (has_construct_function = false)]
                public Relation ([CCode (array_length_cname = "n_targets", array_length_pos = 1.5)] 
Atk.Object[] targets, Atk.RelationType relationship);
+               [Version (since = "1.9")]
                public void add_target (Atk.Object target);
                public Atk.RelationType get_relation_type ();
                public unowned GLib.GenericArray<Atk.Object> get_target ();
                public bool remove_target (Atk.Object target);
-               [Deprecated (replacement = "RelationType.for_name", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "RelationType.for_name")]
                public static Atk.RelationType type_for_name (string name);
-               [Deprecated (replacement = "RelationType.get_name", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "RelationType.get_name")]
                public static unowned string type_get_name (Atk.RelationType type);
-               [Deprecated (replacement = "RelationType.register", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "RelationType.register")]
                public static Atk.RelationType type_register (string name);
                [NoAccessorMethod]
                public Atk.RelationType relation_type { get; set; }
@@ -204,11 +214,12 @@ namespace Atk {
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_relation_set_get_type ()")]
        public class RelationSet : GLib.Object {
-               [Deprecated]
+               [Version (deprecated = true)]
                public weak GLib.GenericArray<Atk.Relation> relations;
                [CCode (has_construct_function = false)]
                public RelationSet ();
                public void add (Atk.Relation relation);
+               [Version (since = "1.9")]
                public void add_relation_by_type (Atk.RelationType relationship, Atk.Object target);
                public bool contains (Atk.RelationType relationship);
                public bool contains_target (Atk.RelationType relationship, Atk.Object target);
@@ -219,11 +230,13 @@ namespace Atk {
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_socket_get_type ()")]
        public class Socket : Atk.Object, Atk.Component {
-               [Deprecated]
+               [Version (deprecated = true)]
                public weak string embedded_plug_id;
                [CCode (has_construct_function = false, type = "AtkObject*")]
                public Socket ();
+               [Version (since = "1.30")]
                public virtual void embed (string plug_id);
+               [Version (since = "1.30")]
                public bool is_occupied ();
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_state_set_get_type ()")]
@@ -254,19 +267,20 @@ namespace Atk {
                [CCode (has_construct_function = false)]
                protected Util ();
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_add_focus_tracker")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static uint add_focus_tracker (Atk.EventListener focus_tracker);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_add_global_event_listener")]
                public static uint add_global_event_listener ([CCode (type = "GSignalEmissionHook")] 
Atk.SignalEmissionHook listener, string event_type);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_add_key_event_listener")]
                public static uint add_key_event_listener (Atk.KeySnoopFunc listener);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_focus_tracker_init")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static void focus_tracker_init (Atk.EventListenerInit init);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_focus_tracker_notify")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static void focus_tracker_notify (Atk.Object object);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_get_focus_object")]
+               [Version (since = "1.6")]
                public static unowned Atk.Object get_focus_object ();
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_get_root")]
                public static unowned Atk.Object get_root ();
@@ -275,9 +289,10 @@ namespace Atk {
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_get_toolkit_version")]
                public static unowned string get_toolkit_version ();
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_get_version")]
+               [Version (since = "1.20")]
                public static unowned string get_version ();
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_remove_focus_tracker")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static void remove_focus_tracker (uint tracker_id);
                [CCode (cheader_filename = "atk/atk.h", cname = "atk_remove_global_event_listener")]
                public static void remove_global_event_listener (uint listener_id);
@@ -296,20 +311,21 @@ namespace Atk {
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_component_get_type ()")]
        public interface Component : GLib.Object {
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract uint add_focus_handler (Atk.FocusHandler handler);
                public abstract bool contains (int x, int y, Atk.CoordType coord_type);
+               [Version (since = "1.12")]
                public abstract double get_alpha ();
                public abstract void get_extents (int x, int y, int width, int height, Atk.CoordType 
coord_type);
                public abstract Atk.Layer get_layer ();
                public abstract int get_mdi_zorder ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract void get_position (int x, int y, Atk.CoordType coord_type);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract void get_size (int width, int height);
                public abstract bool grab_focus ();
                public abstract Atk.Object? ref_accessible_at_point (int x, int y, Atk.CoordType coord_type);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract void remove_focus_handler (uint handler_id);
                public abstract bool set_extents (int x, int y, int width, int height, Atk.CoordType 
coord_type);
                public abstract bool set_position (int x, int y, Atk.CoordType coord_type);
@@ -319,24 +335,30 @@ namespace Atk {
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_document_get_type ()")]
        public interface Document : GLib.Object {
                [CCode (vfunc_name = "get_document_attribute_value")]
+               [Version (since = "1.12")]
                public virtual unowned string? get_attribute_value (string attribute_name);
                [CCode (vfunc_name = "get_document_attributes")]
+               [Version (since = "1.12")]
                public virtual unowned Atk.AttributeSet get_attributes ();
+               [Version (since = "2.12")]
                public virtual int get_current_page_number ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual void* get_document ();
-               [Deprecated (replacement = "Document.get_locale", since = "vala-0.22")]
+               [Version (deprecated_since = "vala-0.22", replacement = "Document.get_locale")]
                public virtual unowned string get_document_locale ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual unowned string get_document_type ();
                [CCode (vfunc_name = "get_document_locale")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual unowned string get_locale ();
+               [Version (since = "2.12")]
                public virtual int get_page_count ();
                [CCode (vfunc_name = "set_document_attribute")]
+               [Version (since = "1.12")]
                public virtual bool set_attribute_value (string attribute_name, string attribute_value);
                public signal void load_complete ();
                public signal void load_stopped ();
+               [Version (since = "2.12")]
                public signal void page_changed (int page_number);
                public signal void reload ();
        }
@@ -352,6 +374,7 @@ namespace Atk {
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_hyperlink_impl_get_type ()")]
        public interface HyperlinkImpl : GLib.Object {
+               [Version (since = "1.12")]
                public abstract Atk.Hyperlink get_hyperlink ();
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_hypertext_get_type ()")]
@@ -389,6 +412,7 @@ namespace Atk {
                public abstract unowned string get_mime_type (int i);
                public abstract int get_n_mime_types ();
                public abstract GLib.IOChannel get_stream (string mime_type);
+               [Version (since = "1.12")]
                public abstract unowned string? get_uri (string mime_type);
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_table_get_type ()")]
@@ -396,16 +420,16 @@ namespace Atk {
                public abstract bool add_column_selection (int column);
                public abstract bool add_row_selection (int row);
                public abstract unowned Atk.Object? get_caption ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract int get_column_at_index (int index_);
                public abstract unowned string get_column_description (int column);
                public abstract int get_column_extent_at (int row, int column);
                public abstract unowned Atk.Object? get_column_header (int column);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract int get_index_at (int row, int column);
                public abstract int get_n_columns ();
                public abstract int get_n_rows ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract int get_row_at_index (int index_);
                public abstract unowned string? get_row_description (int row);
                public abstract int get_row_extent_at (int row, int column);
@@ -435,27 +459,36 @@ namespace Atk {
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_table_cell_get_type ()")]
        public interface TableCell : Atk.Object {
+               [Version (since = "2.12")]
                public abstract GLib.GenericArray<Atk.Object> get_column_header_cells ();
+               [Version (since = "2.12")]
                public abstract int get_column_span ();
+               [Version (since = "2.12")]
                public abstract bool get_position (out int row, out int column);
+               [Version (since = "2.12")]
                public abstract bool get_row_column_span (out int row, out int column, out int row_span, out 
int column_span);
+               [Version (since = "2.12")]
                public abstract GLib.GenericArray<Atk.Object> get_row_header_cells ();
+               [Version (since = "2.12")]
                public abstract int get_row_span ();
+               [Version (since = "2.12")]
                public abstract Atk.Object get_table ();
        }
        [CCode (cheader_filename = "atk/atk.h")]
        public interface Text : GLib.Object {
                public abstract bool add_selection (int start_offset, int end_offset);
-               [Deprecated (replacement = "TextAttribute.for_name", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "TextAttribute.for_name")]
                public static Atk.TextAttribute attribute_for_name (string name);
-               [Deprecated (replacement = "TextAttribute.get_name", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "TextAttribute.get_name")]
                public static unowned string attribute_get_name (Atk.TextAttribute attr);
-               [Deprecated (replacement = "TextAttribute.get_value", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "TextAttribute.get_value")]
                public static unowned string attribute_get_value (Atk.TextAttribute attr, int index_);
-               [Deprecated (replacement = "TextAttribute.register", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "TextAttribute.register")]
                public static Atk.TextAttribute attribute_register (string name);
+               [Version (since = "1.3")]
                public static void free_ranges ([CCode (array_length = false)] Atk.TextRange[] ranges);
                [CCode (array_length = false, array_null_terminated = true, cname = 
"atk_text_get_bounded_ranges")]
+               [Version (since = "1.3")]
                public virtual Atk.TextRange[] get_bounded_ranges (Atk.TextRectangle rect, Atk.CoordType 
coord_type, Atk.TextClipType x_clip_type, Atk.TextClipType y_clip_type);
                public abstract int get_caret_offset ();
                public abstract unichar get_character_at_offset (int offset);
@@ -464,23 +497,25 @@ namespace Atk {
                public abstract Atk.AttributeSet get_default_attributes ();
                public abstract int get_n_selections ();
                public abstract int get_offset_at_point (int x, int y, Atk.CoordType coords);
+               [Version (since = "1.3")]
                public abstract void get_range_extents (int start_offset, int end_offset, Atk.CoordType 
coord_type, Atk.TextRectangle rect);
                public abstract Atk.AttributeSet get_run_attributes (int offset, out int start_offset, out 
int end_offset);
                public abstract string get_selection (int selection_num, out int start_offset, out int 
end_offset);
+               [Version (since = "2.10")]
                public abstract string? get_string_at_offset (int offset, Atk.TextGranularity granularity, 
out int start_offset, out int end_offset);
                public abstract string get_text (int start_offset, int end_offset);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract string get_text_after_offset (int offset, Atk.TextBoundary boundary_type, out 
int start_offset, out int end_offset);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract string get_text_at_offset (int offset, Atk.TextBoundary boundary_type, out 
int start_offset, out int end_offset);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract string get_text_before_offset (int offset, Atk.TextBoundary boundary_type, 
out int start_offset, out int end_offset);
                public abstract bool remove_selection (int selection_num);
                public abstract bool set_caret_offset (int offset);
                public abstract bool set_selection (int selection_num, int start_offset, int end_offset);
                public virtual signal void text_attributes_changed ();
                public virtual signal void text_caret_moved (int location);
-               [Deprecated]
+               [Version (deprecated = true)]
                public virtual signal void text_changed (int position, int length);
                public signal void text_insert (int arg1, int arg2, string arg3);
                public signal void text_remove (int arg1, int arg2, string arg3);
@@ -488,33 +523,48 @@ namespace Atk {
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_value_get_type ()")]
        public interface Value : GLib.Object {
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract void get_current_value (GLib.Value value);
+               [Version (since = "2.12")]
                public abstract double get_increment ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract void get_maximum_value (GLib.Value value);
-               [Deprecated]
+               [Version (deprecated = true, since = "1.12")]
                public abstract void get_minimum_increment (GLib.Value value);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract void get_minimum_value (GLib.Value value);
+               [Version (since = "2.12")]
                public abstract Atk.Range? get_range ();
+               [Version (since = "2.12")]
                public abstract GLib.SList<Atk.Range> get_sub_ranges ();
+               [Version (since = "2.12")]
                public abstract void get_value_and_text (out double value, out string text);
-               [Deprecated]
+               [Version (deprecated = true)]
                public abstract bool set_current_value (GLib.Value value);
+               [Version (since = "2.12")]
                public abstract void set_value (double new_value);
+               [Version (since = "2.12")]
                public signal void value_changed (double value, string text);
        }
        [CCode (cheader_filename = "atk/atk.h", type_id = "atk_window_get_type ()")]
        public interface Window : Atk.Object {
+               [Version (since = "2.2")]
                public signal void activate ();
+               [Version (since = "2.2")]
                public signal void create ();
+               [Version (since = "2.2")]
                public signal void deactivate ();
+               [Version (since = "2.2")]
                public signal void destroy ();
+               [Version (since = "2.2")]
                public signal void maximize ();
+               [Version (since = "2.2")]
                public signal void minimize ();
+               [Version (since = "2.2")]
                public signal void move ();
+               [Version (since = "2.2")]
                public signal void resize ();
+               [Version (since = "2.2")]
                public signal void restore ();
        }
        [CCode (cheader_filename = "atk/atk.h", has_type_id = false)]
@@ -549,11 +599,11 @@ namespace Atk {
        [CCode (cheader_filename = "atk/atk.h")]
        [SimpleType]
        public struct State : uint64 {
-               [Deprecated (replacement = "StateType.for_name", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "StateType.for_name")]
                public static Atk.StateType type_for_name (string name);
-               [Deprecated (replacement = "StateType.get_name", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "StateType.get_name")]
                public static unowned string type_get_name (Atk.StateType type);
-               [Deprecated (replacement = "StateType.register", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "StateType.register")]
                public static Atk.StateType type_register (string name);
        }
        [CCode (cheader_filename = "atk/atk.h", has_type_id = false)]
@@ -619,7 +669,7 @@ namespace Atk {
        }
        [CCode (cheader_filename = "atk/atk.h", cprefix = "ATK_ROLE_", type_id = "atk_role_get_type ()")]
        public enum Role {
-               [Deprecated (replacement = "Role.ACCELERATOR_LABEL", since = "vala-0.22")]
+               [Version (deprecated_since = "vala-0.22", replacement = "Role.ACCELERATOR_LABEL")]
                ACCEL_LABEL,
                INVALID,
                [CCode (cname = "ATK_ROLE_ACCEL_LABEL")]
@@ -748,7 +798,7 @@ namespace Atk {
                [CCode (cheader_filename = "atk/atk.h")]
                public static unowned string get_name (Atk.Role role);
                [CCode (cheader_filename = "atk/atk.h")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static Atk.Role register (string name);
        }
        [CCode (cheader_filename = "atk/atk.h", cprefix = "ATK_STATE_", type_id = "atk_state_type_get_type 
()")]
@@ -897,88 +947,99 @@ namespace Atk {
        [CCode (cheader_filename = "atk/atk.h", has_target = false)]
        public delegate void EventListenerInit ();
        [CCode (cheader_filename = "atk/atk.h", has_target = false)]
-       [Deprecated]
+       [Version (deprecated = true)]
        public delegate void FocusHandler (Atk.Object object, bool focus_in);
        [CCode (cheader_filename = "atk/atk.h", instance_pos = 0.9)]
        public delegate bool Function ();
        [CCode (cheader_filename = "atk/atk.h", instance_pos = 1.9)]
        public delegate int KeySnoopFunc (Atk.KeyEventStruct event);
        [CCode (cheader_filename = "atk/atk.h", has_target = false)]
-       [Deprecated]
+       [Version (deprecated = true)]
        public delegate void PropertyChangeHandler (Atk.Object obj, Atk.PropertyValues vals);
        [CCode (cheader_filename = "atk/atk.h", cname = "GSignalEmissionHook", has_target = false)]
        public delegate bool SignalEmissionHook (GLib.SignalInvocationHint ihint, [CCode (array_length_pos = 
1.9)] Atk.Value[] param_values, void* data);
        [CCode (cheader_filename = "atk/atk.h", cname = "ATK_BINARY_AGE")]
+       [Version (since = "2.7.4")]
        public const int BINARY_AGE;
        [CCode (cheader_filename = "atk/atk.h", cname = "ATK_INTERFACE_AGE")]
+       [Version (since = "2.7.4")]
        public const int INTERFACE_AGE;
        [CCode (cheader_filename = "atk/atk.h", cname = "ATK_MAJOR_VERSION")]
+       [Version (since = "2.7.4")]
        public const int MAJOR_VERSION;
        [CCode (cheader_filename = "atk/atk.h", cname = "ATK_MICRO_VERSION")]
+       [Version (since = "2.7.4")]
        public const int MICRO_VERSION;
        [CCode (cheader_filename = "atk/atk.h", cname = "ATK_MINOR_VERSION")]
+       [Version (since = "2.7.4")]
        public const int MINOR_VERSION;
        [CCode (cheader_filename = "atk/atk.h", cname = "ATK_VERSION_MIN_REQUIRED")]
+       [Version (since = "2.14")]
        public const int VERSION_MIN_REQUIRED;
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.add_focus_tracker", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.add_focus_tracker")]
        public static uint add_focus_tracker (Atk.EventListener focus_tracker);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.add_global_event_listener", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.add_global_event_listener")]
        public static uint add_global_event_listener (GLib.SignalEmissionHook listener, string event_type);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.focus_tracker_init", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.focus_tracker_init")]
        public static void focus_tracker_init (Atk.EventListenerInit init);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.focus_tracker_notify", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.focus_tracker_notify")]
        public static void focus_tracker_notify (Atk.Object object);
        [CCode (cheader_filename = "atk/atk.h")]
+       [Version (since = "2.8")]
        public static uint get_binary_age ();
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Registry.get_default.", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Registry.get_default.")]
        public static unowned Atk.Registry get_default_registry ();
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.get_focus_object", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.get_focus_object")]
        public static unowned Atk.Object get_focus_object ();
        [CCode (cheader_filename = "atk/atk.h")]
+       [Version (since = "2.8")]
        public static uint get_interface_age ();
        [CCode (cheader_filename = "atk/atk.h")]
+       [Version (since = "2.8")]
        public static uint get_major_version ();
        [CCode (cheader_filename = "atk/atk.h")]
+       [Version (since = "2.8")]
        public static uint get_micro_version ();
        [CCode (cheader_filename = "atk/atk.h")]
+       [Version (since = "2.8")]
        public static uint get_minor_version ();
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.get_root", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.get_root")]
        public static unowned Atk.Object get_root ();
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.get_toolkit_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.get_toolkit_name")]
        public static unowned string get_toolkit_name ();
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.get_toolkit_version", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.get_toolkit_version")]
        public static unowned string get_toolkit_version ();
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.get_version", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.get_version")]
        public static unowned string get_version ();
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.remove_focus_tracker", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.remove_focus_tracker")]
        public static void remove_focus_tracker (uint tracker_id);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.remove_global_event_listener", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.remove_global_event_listener")]
        public static void remove_global_event_listener (uint listener_id);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Util.remove_key_event_listener", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Util.remove_key_event_listener")]
        public static void remove_key_event_listener (uint listener_id);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Role.for_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Role.for_name")]
        public static Atk.Role role_for_name (string name);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Role.get_localized_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Role.get_localized_name")]
        public static unowned string role_get_localized_name (Atk.Role role);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Role.get_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Role.get_name")]
        public static unowned string role_get_name (Atk.Role role);
        [CCode (cheader_filename = "atk/atk.h")]
-       [Deprecated (replacement = "Atk.Role.register", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Atk.Role.register")]
        public static Atk.Role role_register (string name);
 }
diff --git a/vapi/atspi-2.vapi b/vapi/atspi-2.vapi
index 29014bd..f603bd4 100644
--- a/vapi/atspi-2.vapi
+++ b/vapi/atspi-2.vapi
@@ -16,7 +16,7 @@ namespace Atspi {
                [CCode (has_construct_function = false)]
                protected Accessible ();
                public void clear_cache ();
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Action get_action ();
                public Atspi.Action get_action_iface ();
                public Atspi.Accessible get_application () throws GLib.Error;
@@ -25,25 +25,25 @@ namespace Atspi {
                public GLib.Array<string> get_attributes_as_array () throws GLib.Error;
                public Atspi.Accessible get_child_at_index (int child_index) throws GLib.Error;
                public int get_child_count () throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Collection get_collection ();
                public Atspi.Collection get_collection_iface ();
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Component get_component ();
                public Atspi.Component get_component_iface ();
                public string get_description () throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Document get_document ();
                public Atspi.Document get_document_iface ();
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.EditableText get_editable_text ();
                public Atspi.EditableText get_editable_text_iface ();
                public Atspi.Hyperlink get_hyperlink ();
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Hypertext get_hypertext ();
                public Atspi.Hypertext get_hypertext_iface ();
                public int get_id () throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Image get_image ();
                public Atspi.Image get_image_iface ();
                public int get_index_in_parent () throws GLib.Error;
@@ -56,20 +56,20 @@ namespace Atspi {
                public GLib.Array<Atspi.Relation> get_relation_set () throws GLib.Error;
                public Atspi.Role get_role () throws GLib.Error;
                public string get_role_name () throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Selection get_selection ();
                public Atspi.Selection get_selection_iface ();
                public Atspi.StateSet get_state_set ();
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Table get_table ();
                public Atspi.TableCell get_table_cell ();
                public Atspi.Table get_table_iface ();
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Text get_text ();
                public Atspi.Text get_text_iface ();
                public string get_toolkit_name () throws GLib.Error;
                public string get_toolkit_version () throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.Value get_value ();
                public Atspi.Value get_value_iface ();
                public void set_cache_mask (Atspi.Cache mask);
@@ -217,12 +217,12 @@ namespace Atspi {
                public bool do_action (int i) throws GLib.Error;
                public string get_action_description (int i) throws GLib.Error;
                public string get_action_name (int i) throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public string get_description (int i) throws GLib.Error;
                public string get_key_binding (int i) throws GLib.Error;
                public string get_localized_name (int i) throws GLib.Error;
                public int get_n_actions () throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public string get_name (int i) throws GLib.Error;
        }
        [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_collection_get_type ()")]
@@ -250,9 +250,9 @@ namespace Atspi {
        }
        [CCode (cheader_filename = "atspi/atspi.h", type_id = "atspi_document_get_type ()")]
        public interface Document : GLib.Object {
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public string get_attribute_value (string attribute) throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public GLib.HashTable<string,string> get_attributes () throws GLib.Error;
                public int get_current_page_number () throws GLib.Error;
                public string get_document_attribute_value (string attribute) throws GLib.Error;
@@ -338,9 +338,9 @@ namespace Atspi {
        public interface Text : GLib.Object {
                public bool add_selection (int start_offset, int end_offset) throws GLib.Error;
                public GLib.HashTable<string,string> get_attribute_run (int offset, bool include_defaults, 
out int start_offset, out int end_offset) throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public string? get_attribute_value (int offset, string attribute_name) throws GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public GLib.HashTable<string,string> get_attributes (int offset, out int start_offset, out 
int end_offset) throws GLib.Error;
                public GLib.Array<Atspi.TextRange> get_bounded_ranges (int x, int y, int width, int height, 
Atspi.CoordType type, Atspi.TextClipType clipTypeX, Atspi.TextClipType clipTypeY) throws GLib.Error;
                public int get_caret_offset () throws GLib.Error;
@@ -352,10 +352,11 @@ namespace Atspi {
                public int get_offset_at_point (int x, int y, Atspi.CoordType type) throws GLib.Error;
                public Atspi.Rect get_range_extents (int start_offset, int end_offset, Atspi.CoordType type) 
throws GLib.Error;
                public Atspi.Range get_selection (int selection_num) throws GLib.Error;
+               [Version (since = "2.9.90")]
                public Atspi.TextRange get_string_at_offset (int offset, Atspi.TextGranularity granularity) 
throws GLib.Error;
                public string get_text (int start_offset, int end_offset) throws GLib.Error;
                public Atspi.TextRange get_text_after_offset (int offset, Atspi.TextBoundaryType type) throws 
GLib.Error;
-               [Deprecated (since = "2.10")]
+               [Version (deprecated = true, deprecated_since = "2.10")]
                public Atspi.TextRange get_text_at_offset (int offset, Atspi.TextBoundaryType type) throws 
GLib.Error;
                public string? get_text_attribute_value (int offset, string attribute_name) throws GLib.Error;
                public GLib.HashTable<string,string> get_text_attributes (int offset, out int start_offset, 
out int end_offset) throws GLib.Error;
@@ -574,6 +575,7 @@ namespace Atspi {
                LAST_DEFINED
        }
        [CCode (cheader_filename = "atspi/atspi.h", cprefix = "ATSPI_ROLE_", type_id = "atspi_role_get_type 
()")]
+       [Version (since = "2.8")]
        public enum Role {
                INVALID,
                ACCELERATOR_LABEL,
diff --git a/vapi/cairo-xcb.vapi b/vapi/cairo-xcb.vapi
index fae14ef..6eebd72 100644
--- a/vapi/cairo-xcb.vapi
+++ b/vapi/cairo-xcb.vapi
@@ -20,7 +20,7 @@
  *     Jürg Billeter <j bitron ch>
  */
 
-[Deprecated (since = "vala-0.26", replacement = "bindings distributed with vala-extra-vapis")]
+[Version (deprecated_since = "vala-0.26", replacement = "bindings distributed with vala-extra-vapis")]
 namespace Cairo {
        [Compact]
        [CCode (cname = "cairo_surface_t", cheader_filename = "cairo-xcb.h")]
diff --git a/vapi/clutter-1.0.vapi b/vapi/clutter-1.0.vapi
index 3f0767e..ebf3bcc 100644
--- a/vapi/clutter-1.0.vapi
+++ b/vapi/clutter-1.0.vapi
@@ -4,10 +4,10 @@
 namespace Clutter {
        namespace FrameSource {
                [CCode (cheader_filename = "clutter/clutter.h")]
-               [Deprecated (since = "1.6")]
+               [Version (deprecated = true, deprecated_since = "1.6", since = "0.8")]
                public static uint add (uint fps, GLib.SourceFunc func);
                [CCode (cheader_filename = "clutter/clutter.h")]
-               [Deprecated (since = "1.6")]
+               [Version (deprecated = true, deprecated_since = "1.6", since = "0.8")]
                public static uint add_full (int priority, uint fps, owned GLib.SourceFunc func);
        }
        namespace Key {
@@ -4553,84 +4553,107 @@ namespace Clutter {
        namespace Threads {
                namespace FrameSource {
                        [CCode (cheader_filename = "clutter/clutter.h", cname = 
"clutter_threads_add_frame_source")]
-                       [Deprecated (since = "1.6")]
+                       [Version (deprecated = true, deprecated_since = "1.6", since = "0.8")]
                        public static uint add (uint fps, GLib.SourceFunc func);
                        [CCode (cheader_filename = "clutter/clutter.h", cname = 
"clutter_threads_add_frame_source_full")]
-                       [Deprecated (since = "1.6")]
+                       [Version (deprecated = true, deprecated_since = "1.6", since = "0.8")]
                        public static uint add_full (int priority, uint fps, owned GLib.SourceFunc func);
                }
                namespace Idle {
                        [CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_idle")]
+                       [Version (since = "0.4")]
                        public static uint add (GLib.SourceFunc func);
                        [CCode (cheader_filename = "clutter/clutter.h", cname = 
"clutter_threads_add_idle_full")]
+                       [Version (since = "0.4")]
                        public static uint add_full (int priority, owned GLib.SourceFunc func);
                }
                namespace Timeout {
                        [CCode (cheader_filename = "clutter/clutter.h", cname = 
"clutter_threads_add_timeout")]
+                       [Version (since = "0.4")]
                        public static uint add (uint interval, GLib.SourceFunc func);
                        [CCode (cheader_filename = "clutter/clutter.h", cname = 
"clutter_threads_add_timeout_full")]
+                       [Version (since = "0.4")]
                        public static uint add_full (int priority, uint interval, owned GLib.SourceFunc func);
                }
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "1.0")]
                public static uint add_repaint_func (owned GLib.SourceFunc func);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "1.10")]
                public static uint add_repaint_func_full (Clutter.RepaintFlags flags, owned GLib.SourceFunc 
func);
                [CCode (cheader_filename = "clutter/clutter.h")]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.4")]
                public static void enter ();
                [CCode (cheader_filename = "clutter/clutter.h")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public static void init ();
                [CCode (cheader_filename = "clutter/clutter.h")]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.4")]
                public static void leave ();
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "1.0")]
                public static void remove_repaint_func (uint handle_id);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.4")]
                public static void set_lock_functions (GLib.Callback enter_fn, GLib.Callback leave_fn);
        }
        namespace Util {
                [CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_util_next_p2")]
-               [Deprecated (since = "1.2")]
+               [Version (deprecated = true, deprecated_since = "1.2")]
                public static int next_power_of_2 (int a);
        }
        namespace Value {
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "1.10")]
                public static Clutter.PaintNode dup_paint_node (GLib.Value value);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.8.4")]
                public static unowned Clutter.Color? get_color (GLib.Value value);
                [CCode (cheader_filename = "clutter/clutter.h")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
                public static unowned Cogl.Fixed? get_fixed (GLib.Value value);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "1.10")]
                public static unowned Clutter.PaintNode get_paint_node (GLib.Value value);
                [CCode (array_length_pos = 1.1, array_length_type = "gsize", cheader_filename = 
"clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static unowned float[] get_shader_float (GLib.Value value);
                [CCode (array_length_pos = 1.1, array_length_type = "gsize", cheader_filename = 
"clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static unowned int[] get_shader_int (GLib.Value value);
                [CCode (array_length_pos = 1.1, array_length_type = "gsize", cheader_filename = 
"clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static unowned float[] get_shader_matrix (GLib.Value value);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static unowned Clutter.Units? get_units (GLib.Value value);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.8.4")]
                public static void set_color (GLib.Value value, Clutter.Color color);
                [CCode (cheader_filename = "clutter/clutter.h")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
                public static void set_fixed (GLib.Value value, Cogl.Fixed fixed_);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "1.10")]
                public static void set_paint_node (GLib.Value value, Clutter.PaintNode? node);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static void set_shader_float (GLib.Value value, [CCode (array_length_cname = "size", 
array_length_pos = 1.5)] float[] floats);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static void set_shader_int (GLib.Value value, [CCode (array_length_cname = "size", 
array_length_pos = 1.5)] int[] ints);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static void set_shader_matrix (GLib.Value value, [CCode (array_length_cname = "size", 
array_length_pos = 1.5)] float[] matrix);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "0.8")]
                public static void set_units (GLib.Value value, Clutter.Units units);
                [CCode (cheader_filename = "clutter/clutter.h")]
+               [Version (since = "1.10")]
                public static void take_paint_node (GLib.Value value, Clutter.PaintNode? node);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_action_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class Action : Clutter.ActorMeta {
                [CCode (has_construct_function = false)]
                protected Action ();
@@ -4639,468 +4662,717 @@ namespace Clutter {
        public class Actor : GLib.InitiallyUnowned, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                public uint32 flags;
                [CCode (has_construct_function = false)]
+               [Version (since = "1.10")]
                public Actor ();
+               [Version (since = "1.4")]
                public void add_action (Clutter.Action action);
+               [Version (since = "1.4")]
                public void add_action_with_name (string name, Clutter.Action action);
+               [Version (since = "1.10")]
                public void add_child (Clutter.Actor child);
+               [Version (since = "1.4")]
                public void add_constraint (Clutter.Constraint constraint);
+               [Version (since = "1.4")]
                public void add_constraint_with_name (string name, Clutter.Constraint constraint);
+               [Version (since = "1.4")]
                public void add_effect (Clutter.Effect effect);
+               [Version (since = "1.4")]
                public void add_effect_with_name (string name, Clutter.Effect effect);
+               [Version (since = "1.10")]
                public void add_transition (string name, Clutter.Transition transition);
+               [Version (since = "0.8")]
                public virtual void allocate (Clutter.ActorBox box, Clutter.AllocationFlags flags);
+               [Version (since = "1.4")]
                public void allocate_align_fill (Clutter.ActorBox box, double x_align, double y_align, bool 
x_fill, bool y_fill, Clutter.AllocationFlags flags);
+               [Version (since = "1.0")]
                public void allocate_available_size (float x, float y, float available_width, float 
available_height, Clutter.AllocationFlags flags);
+               [Version (since = "0.8")]
                public void allocate_preferred_size (Clutter.AllocationFlags flags);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public unowned Clutter.Animation animate (ulong mode, uint duration, ...);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
                public unowned Clutter.Animation animate_with_alpha (Clutter.Alpha alpha, ...);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
                public unowned Clutter.Animation animate_with_alphav (Clutter.Alpha alpha, [CCode 
(array_length_cname = "n_properties", array_length_pos = 1.5)] string[] properties, [CCode 
(array_length_cname = "n_properties", array_length_pos = 1.5)] GLib.Value[] values);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public unowned Clutter.Animation animate_with_timeline (ulong mode, Clutter.Timeline 
timeline, ...);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public unowned Clutter.Animation animate_with_timelinev (ulong mode, Clutter.Timeline 
timeline, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] string[] properties, [CCode 
(array_length_cname = "n_properties", array_length_pos = 2.5)] GLib.Value[] values);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public unowned Clutter.Animation animatev (ulong mode, uint duration, [CCode 
(array_length_cname = "n_properties", array_length_pos = 2.5)] string[] properties, [CCode 
(array_length_cname = "n_properties", array_length_pos = 2.5)] GLib.Value[] values);
+               [Version (since = "0.6")]
                public Clutter.Vertex apply_relative_transform_to_point (Clutter.Actor? ancestor, 
Clutter.Vertex point);
                [NoWrapper]
                public virtual void apply_transform (ref Clutter.Matrix matrix);
+               [Version (since = "0.4")]
                public Clutter.Vertex apply_transform_to_point (Clutter.Vertex point);
+               [Version (since = "1.4")]
                public void clear_actions ();
+               [Version (since = "1.4")]
                public void clear_constraints ();
+               [Version (since = "1.4")]
                public void clear_effects ();
+               [Version (since = "1.4")]
                public bool contains (Clutter.Actor descendant);
+               [Version (since = "1.8")]
                public void continue_paint ();
+               [Version (since = "1.0")]
                public Pango.Context create_pango_context ();
+               [Version (since = "1.0")]
                public Pango.Layout create_pango_layout (string? text);
+               [Version (since = "1.10")]
                public void destroy_all_children ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void detach_animation ();
                [CCode (cname = "clutter_actor_event")]
+               [Version (since = "0.6")]
                public bool emit_event (Clutter.Event event, bool capture);
+               [Version (since = "0.4")]
                public void get_abs_allocation_vertices ([CCode (array_length = false)] Clutter.Vertex[] 
verts);
                public virtual unowned Atk.Object get_accessible ();
+               [Version (since = "1.4")]
                public unowned Clutter.Action get_action (string name);
+               [Version (since = "1.4")]
                public GLib.List<weak Clutter.Action> get_actions ();
+               [Version (since = "0.8")]
                public Clutter.ActorBox get_allocation_box ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public Clutter.Geometry get_allocation_geometry ();
+               [Version (since = "0.6")]
                public void get_allocation_vertices (Clutter.Actor? ancestor, [CCode (array_length = false)] 
Clutter.Vertex[] verts);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public void get_anchor_point (out float anchor_x, out float anchor_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Clutter.Gravity get_anchor_point_gravity ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public unowned Clutter.Animation get_animation ();
+               [Version (since = "1.10")]
                public Clutter.Color get_background_color ();
                [CCode (cname = "clutter_get_actor_by_gid")]
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public static unowned Clutter.Actor get_by_gid (uint32 id_);
+               [Version (since = "1.10")]
                public unowned Clutter.Actor get_child_at_index (int index_);
+               [Version (since = "1.12")]
                public Clutter.Matrix get_child_transform ();
+               [Version (since = "1.10")]
                public GLib.List<weak Clutter.Actor> get_children ();
+               [Version (since = "0.6")]
                public void get_clip (out float xoff, out float yoff, out float width, out float height);
+               [Version (since = "1.4")]
                public bool get_clip_to_allocation ();
+               [Version (since = "1.4")]
                public unowned Clutter.Constraint get_constraint (string name);
+               [Version (since = "1.4")]
                public GLib.List<weak Clutter.Constraint> get_constraints ();
+               [Version (since = "1.10")]
                public unowned Clutter.Content get_content ();
+               [Version (since = "1.10")]
                public Clutter.ActorBox get_content_box ();
+               [Version (since = "1.10")]
                public Clutter.ContentGravity get_content_gravity ();
+               [Version (since = "1.12")]
                public Clutter.ContentRepeat get_content_repeat ();
+               [Version (since = "1.10")]
                public void get_content_scaling_filters (out Clutter.ScalingFilter min_filter, out 
Clutter.ScalingFilter mag_filter);
+               [Version (since = "1.10")]
                public unowned Clutter.PaintVolume get_default_paint_volume ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public float get_depth ();
+               [Version (since = "1.10")]
                public uint get_easing_delay ();
+               [Version (since = "1.10")]
                public uint get_easing_duration ();
+               [Version (since = "1.10")]
                public Clutter.AnimationMode get_easing_mode ();
+               [Version (since = "1.4")]
                public unowned Clutter.Effect get_effect (string name);
+               [Version (since = "1.4")]
                public GLib.List<weak Clutter.Effect> get_effects ();
+               [Version (since = "1.10")]
                public unowned Clutter.Actor get_first_child ();
+               [Version (since = "0.8")]
                public bool get_fixed_position_set ();
+               [Version (since = "1.0")]
                public Clutter.ActorFlags get_flags ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public Clutter.Geometry get_geometry ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public uint32 get_gid ();
                [CCode (cname = "clutter_actor_has_pointer")]
+               [Version (since = "1.2")]
                public bool get_has_pointer ();
                public float get_height ();
+               [Version (since = "1.10")]
                public unowned Clutter.Actor get_last_child ();
+               [Version (since = "1.10")]
                public unowned Clutter.LayoutManager get_layout_manager ();
+               [Version (since = "1.10")]
                public void get_margin (Clutter.Margin margin);
+               [Version (since = "1.10")]
                public float get_margin_bottom ();
+               [Version (since = "1.10")]
                public float get_margin_left ();
+               [Version (since = "1.10")]
                public float get_margin_right ();
+               [Version (since = "1.10")]
                public float get_margin_top ();
+               [Version (since = "1.10")]
                public int get_n_children ();
                public unowned string get_name ();
+               [Version (since = "1.10")]
                public unowned Clutter.Actor get_next_sibling ();
+               [Version (since = "1.8")]
                public Clutter.OffscreenRedirect get_offscreen_redirect ();
                public uint8 get_opacity ();
+               [Version (since = "1.6")]
                public bool get_paint_box (out Clutter.ActorBox box);
+               [Version (since = "0.8")]
                public uint8 get_paint_opacity ();
+               [Version (since = "0.8.4")]
                public bool get_paint_visibility ();
                [NoWrapper]
                public virtual bool get_paint_volume (Clutter.PaintVolume volume);
+               [Version (since = "1.0")]
                public unowned Pango.Context get_pango_context ();
                public unowned Clutter.Actor? get_parent ();
+               [Version (since = "1.12")]
                public void get_pivot_point (out float pivot_x, out float pivot_y);
+               [Version (since = "1.12")]
                public float get_pivot_point_z ();
+               [Version (since = "0.6")]
                public void get_position (out float x, out float y);
+               [Version (since = "0.8")]
                public virtual void get_preferred_height (float for_width, out float min_height_p, out float 
natural_height_p);
+               [Version (since = "0.8")]
                public void get_preferred_size (out float min_width_p, out float min_height_p, out float 
natural_width_p, out float natural_height_p);
+               [Version (since = "0.8")]
                public virtual void get_preferred_width (float for_height, out float min_width_p, out float 
natural_width_p);
+               [Version (since = "1.10")]
                public unowned Clutter.Actor get_previous_sibling ();
+               [Version (since = "0.6")]
                public bool get_reactive ();
+               [Version (since = "1.2")]
                public Clutter.RequestMode get_request_mode ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public double get_rotation (Clutter.RotateAxis axis, out float x, out float y, out float z);
+               [Version (since = "1.12")]
                public double get_rotation_angle (Clutter.RotateAxis axis);
+               [Version (since = "0.2")]
                public void get_scale (out double scale_x, out double scale_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void get_scale_center (out float center_x, out float center_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Clutter.Gravity get_scale_gravity ();
+               [Version (since = "1.12")]
                public double get_scale_z ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public unowned Clutter.Shader get_shader ();
+               [Version (since = "0.2")]
                public void get_size (out float width, out float height);
+               [Version (since = "0.8")]
                public unowned Clutter.Stage get_stage ();
+               [Version (since = "1.2")]
                public Clutter.TextDirection get_text_direction ();
+               [Version (since = "1.12")]
                public Clutter.Matrix get_transform ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Clutter.Matrix get_transformation_matrix ();
+               [Version (since = "1.6")]
                public unowned Clutter.PaintVolume get_transformed_paint_volume (Clutter.Actor 
relative_to_ancestor);
+               [Version (since = "0.8")]
                public void get_transformed_position (out float x, out float y);
+               [Version (since = "0.8")]
                public void get_transformed_size (out float width, out float height);
+               [Version (since = "1.10")]
                public unowned Clutter.Transition get_transition (string name);
+               [Version (since = "1.12")]
                public void get_translation (out float translate_x, out float translate_y, out float 
translate_z);
                public float get_width ();
                public float get_x ();
+               [Version (since = "1.10")]
                public Clutter.ActorAlign get_x_align ();
+               [Version (since = "1.12")]
                public bool get_x_expand ();
                public float get_y ();
+               [Version (since = "1.10")]
                public Clutter.ActorAlign get_y_align ();
+               [Version (since = "1.12")]
                public bool get_y_expand ();
+               [Version (since = "1.12")]
                public float get_z_position ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Clutter.Gravity get_z_rotation_gravity ();
+               [Version (since = "1.0")]
                public void grab_key_focus ();
+               [Version (since = "1.10")]
                public bool has_actions ();
+               [Version (since = "1.4")]
                public bool has_allocation ();
+               [Version (since = "1.10")]
                public bool has_constraints ();
+               [Version (since = "1.10")]
                public bool has_effects ();
+               [Version (since = "1.4")]
                public bool has_key_focus ();
+               [Version (since = "1.8")]
                public virtual bool has_overlaps ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
                public virtual void hide_all ();
+               [Version (since = "1.10")]
                public void insert_child_above (Clutter.Actor child, Clutter.Actor? sibling);
+               [Version (since = "1.10")]
                public void insert_child_at_index (Clutter.Actor child, int index_);
+               [Version (since = "1.10")]
                public void insert_child_below (Clutter.Actor child, Clutter.Actor? sibling);
+               [Version (since = "1.0")]
                public bool is_in_clone_paint ();
+               [Version (since = "0.6")]
                public bool is_rotated ();
+               [Version (since = "0.6")]
                public bool is_scaled ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void lower (Clutter.Actor? above);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void lower_bottom ();
+               [Version (since = "1.0")]
                public virtual void map ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public void move_anchor_point (float anchor_x, float anchor_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public void move_anchor_point_from_gravity (Clutter.Gravity gravity);
+               [Version (since = "0.2")]
                public void move_by (float dx, float dy);
+               [Version (since = "1.12")]
                public bool needs_expand (Clutter.Orientation orientation);
                [NoWrapper]
                public virtual void paint_node (Clutter.PaintNode root);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void pop_internal ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void push_internal ();
                public void queue_redraw ();
+               [Version (since = "1.10")]
                public void queue_redraw_with_clip (Cairo.RectangleInt? clip);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void raise (Clutter.Actor? below);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void raise_top ();
+               [Version (since = "1.4")]
                public void remove_action (Clutter.Action action);
+               [Version (since = "1.4")]
                public void remove_action_by_name (string name);
+               [Version (since = "1.10")]
                public void remove_all_children ();
+               [Version (since = "1.10")]
                public void remove_all_transitions ();
+               [Version (since = "1.10")]
                public void remove_child (Clutter.Actor child);
                public void remove_clip ();
+               [Version (since = "1.4")]
                public void remove_constraint (Clutter.Constraint constraint);
+               [Version (since = "1.4")]
                public void remove_constraint_by_name (string name);
+               [Version (since = "1.4")]
                public void remove_effect (Clutter.Effect effect);
+               [Version (since = "1.4")]
                public void remove_effect_by_name (string name);
+               [Version (since = "1.10")]
                public void remove_transition (string name);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
                public void reparent (Clutter.Actor new_parent);
+               [Version (since = "1.10")]
                public void replace_child (Clutter.Actor old_child, Clutter.Actor new_child);
+               [Version (since = "1.10")]
                public void restore_easing_state ();
+               [Version (since = "1.10")]
                public void save_easing_state ();
+               [Version (since = "1.10")]
                public void set_allocation (Clutter.ActorBox box, Clutter.AllocationFlags flags);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public void set_anchor_point (float anchor_x, float anchor_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public void set_anchor_point_from_gravity (Clutter.Gravity gravity);
+               [Version (since = "1.10")]
                public void set_background_color (Clutter.Color? color);
+               [Version (since = "1.10")]
                public void set_child_above_sibling (Clutter.Actor child, Clutter.Actor? sibling);
+               [Version (since = "1.10")]
                public void set_child_at_index (Clutter.Actor child, int index_);
+               [Version (since = "1.10")]
                public void set_child_below_sibling (Clutter.Actor child, Clutter.Actor? sibling);
+               [Version (since = "1.12")]
                public void set_child_transform (Clutter.Matrix? transform);
+               [Version (since = "0.6")]
                public void set_clip (float xoff, float yoff, float width, float height);
+               [Version (since = "1.4")]
                public void set_clip_to_allocation (bool clip_set);
+               [Version (since = "1.10")]
                public void set_content (Clutter.Content? content);
+               [Version (since = "1.10")]
                public void set_content_gravity (Clutter.ContentGravity gravity);
+               [Version (since = "1.12")]
                public void set_content_repeat (Clutter.ContentRepeat repeat);
+               [Version (since = "1.10")]
                public void set_content_scaling_filters (Clutter.ScalingFilter min_filter, 
Clutter.ScalingFilter mag_filter);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public void set_depth (float depth);
+               [Version (since = "1.10")]
                public void set_easing_delay (uint msecs);
+               [Version (since = "1.10")]
                public void set_easing_duration (uint msecs);
+               [Version (since = "1.10")]
                public void set_easing_mode (Clutter.AnimationMode mode);
+               [Version (since = "0.8")]
                public void set_fixed_position_set (bool is_set);
+               [Version (since = "1.0")]
                public void set_flags (Clutter.ActorFlags flags);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void set_geometry (Clutter.Geometry geometry);
+               [Version (since = "0.2")]
                public void set_height (float height);
+               [Version (since = "1.10")]
                public void set_layout_manager (Clutter.LayoutManager? manager);
+               [Version (since = "1.10")]
                public void set_margin (Clutter.Margin margin);
+               [Version (since = "1.10")]
                public void set_margin_bottom (float margin);
+               [Version (since = "1.10")]
                public void set_margin_left (float margin);
+               [Version (since = "1.10")]
                public void set_margin_right (float margin);
+               [Version (since = "1.10")]
                public void set_margin_top (float margin);
                public void set_name (string name);
+               [Version (since = "1.8")]
                public void set_offscreen_redirect (Clutter.OffscreenRedirect redirect);
                public void set_opacity (uint8 opacity);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void set_parent (Clutter.Actor parent);
+               [Version (since = "1.12")]
                public void set_pivot_point (float pivot_x, float pivot_y);
+               [Version (since = "1.12")]
                public void set_pivot_point_z (float pivot_z);
                public void set_position (float x, float y);
+               [Version (since = "0.6")]
                public void set_reactive (bool reactive);
+               [Version (since = "1.2")]
                public void set_request_mode (Clutter.RequestMode mode);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public void set_rotation (Clutter.RotateAxis axis, double angle, float x, float y, float z);
+               [Version (since = "1.12")]
                public void set_rotation_angle (Clutter.RotateAxis axis, double angle);
+               [Version (since = "0.2")]
                public void set_scale (double scale_x, double scale_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_scale_full (double scale_x, double scale_y, float center_x, float center_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_scale_with_gravity (double scale_x, double scale_y, Clutter.Gravity gravity);
+               [Version (since = "1.12")]
                public void set_scale_z (double scale_z);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public bool set_shader (Clutter.Shader? shader);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
                public void set_shader_param (string param, GLib.Value value);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.8")]
                public void set_shader_param_float (string param, float value);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.8")]
                public void set_shader_param_int (string param, int value);
                public void set_size (float width, float height);
+               [Version (since = "1.2")]
                public void set_text_direction (Clutter.TextDirection text_dir);
+               [Version (since = "1.12")]
                public void set_transform (Clutter.Matrix? transform);
+               [Version (since = "1.12")]
                public void set_translation (float translate_x, float translate_y, float translate_z);
+               [Version (since = "0.2")]
                public void set_width (float width);
+               [Version (since = "0.6")]
                public void set_x (float x);
+               [Version (since = "1.10")]
                public void set_x_align (Clutter.ActorAlign x_align);
+               [Version (since = "1.12")]
                public void set_x_expand (bool expand);
+               [Version (since = "0.6")]
                public void set_y (float y);
+               [Version (since = "1.10")]
                public void set_y_align (Clutter.ActorAlign y_align);
+               [Version (since = "1.12")]
                public void set_y_expand (bool expand);
+               [Version (since = "1.12")]
                public void set_z_position (float z_position);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_z_rotation_from_gravity (double angle, Clutter.Gravity gravity);
                public bool should_pick_paint ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
                public virtual void show_all ();
+               [Version (since = "0.6")]
                public bool transform_stage_point (float x, float y, out float x_out, out float y_out);
+               [Version (since = "1.0")]
                public virtual void unmap ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.1.1")]
                public void unparent ();
+               [Version (since = "1.0")]
                public void unset_flags (Clutter.ActorFlags flags);
                [NoAccessorMethod]
+               [Version (since = "1.4")]
                public Clutter.Action actions { set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public Clutter.ActorBox allocation { get; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Clutter.Gravity anchor_gravity { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public float anchor_x { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public float anchor_y { get; set; }
+               [Version (since = "1.10")]
                public Clutter.Color background_color { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.10")]
                public bool background_color_set { get; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public bool child_transform_set { get; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public Clutter.Geometry clip { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public Clutter.Rect clip_rect { owned get; set; }
+               [Version (since = "1.0")]
                public bool clip_to_allocation { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.4")]
                public Clutter.Constraint constraints { set; }
+               [Version (since = "1.10")]
                public Clutter.Content content { get; set; }
+               [Version (since = "1.10")]
                public Clutter.ActorBox content_box { get; }
+               [Version (since = "1.10")]
                public Clutter.ContentGravity content_gravity { get; set; }
+               [Version (since = "1.12")]
                public Clutter.ContentRepeat content_repeat { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public float depth { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.4")]
                public Clutter.Effect effect { set; }
+               [Version (since = "1.10")]
                public Clutter.Actor first_child { get; }
+               [Version (since = "0.8")]
                public bool fixed_position_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public float fixed_x { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public float fixed_y { get; set; }
                [NoAccessorMethod]
                public bool has_clip { get; }
                [NoAccessorMethod]
+               [Version (since = "1.2")]
                public bool has_pointer { get; }
                public float height { get; set; }
+               [Version (since = "1.10")]
                public Clutter.Actor last_child { get; }
+               [Version (since = "1.10")]
                public Clutter.LayoutManager layout_manager { get; set; }
                [NoAccessorMethod]
                public Clutter.ScalingFilter magnification_filter { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.0")]
                public bool mapped { get; }
+               [Version (since = "1.10")]
                public float margin_bottom { get; set; }
+               [Version (since = "1.10")]
                public float margin_left { get; set; }
+               [Version (since = "1.10")]
                public float margin_right { get; set; }
+               [Version (since = "1.10")]
                public float margin_top { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public float min_height { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public bool min_height_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public float min_width { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public bool min_width_set { get; set; }
                [NoAccessorMethod]
                public Clutter.ScalingFilter minification_filter { get; set; }
+               [Version (since = "0.2")]
                public string name { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public float natural_height { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public bool natural_height_set { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public float natural_width { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public bool natural_width_set { get; set; }
+               [Version (since = "1.8")]
                public Clutter.OffscreenRedirect offscreen_redirect { get; set; }
                public uint opacity { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public Clutter.Point pivot_point { owned get; set; }
+               [Version (since = "1.12")]
                public float pivot_point_z { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public Clutter.Point position { owned get; set; }
+               [Version (since = "0.6")]
                public bool reactive { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.0")]
                public bool realized { get; }
+               [Version (since = "0.8")]
                public Clutter.RequestMode request_mode { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double rotation_angle_x { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double rotation_angle_y { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double rotation_angle_z { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public Clutter.Vertex rotation_center_x { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public Clutter.Vertex rotation_center_y { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public Clutter.Vertex rotation_center_z { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Clutter.Gravity rotation_center_z_gravity { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public float scale_center_x { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public float scale_center_y { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Clutter.Gravity scale_gravity { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double scale_x { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double scale_y { get; set; }
+               [Version (since = "1.12")]
                public double scale_z { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public bool show_on_set_parent { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public Clutter.Size size { owned get; set; }
+               [Version (since = "1.0")]
                public Clutter.TextDirection text_direction { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public bool transform_set { get; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public float translation_x { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public float translation_y { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public float translation_z { get; set; }
                [NoAccessorMethod]
                public bool visible { get; set; }
                public float width { get; set; }
                public float x { get; set; }
+               [Version (since = "1.10")]
                public Clutter.ActorAlign x_align { get; set; }
+               [Version (since = "1.12")]
                public bool x_expand { get; set; }
                public float y { get; set; }
+               [Version (since = "1.10")]
                public Clutter.ActorAlign y_align { get; set; }
+               [Version (since = "1.12")]
                public bool y_expand { get; set; }
+               [Version (since = "1.12")]
                public float z_position { get; set; }
+               [Version (since = "1.0")]
                public signal void allocation_changed (Clutter.ActorBox box, Clutter.AllocationFlags flags);
+               [Version (since = "0.6")]
                public virtual signal bool button_press_event (Clutter.ButtonEvent event);
+               [Version (since = "0.6")]
                public virtual signal bool button_release_event (Clutter.ButtonEvent event);
+               [Version (since = "0.6")]
                public virtual signal bool captured_event (Clutter.Event event);
                [HasEmitter]
+               [Version (since = "0.2")]
                public virtual signal void destroy ();
+               [Version (since = "0.6")]
                public virtual signal bool enter_event (Clutter.CrossingEvent event);
+               [Version (since = "0.6")]
                public virtual signal bool event (Clutter.Event event);
                [HasEmitter]
+               [Version (since = "0.2")]
                public virtual signal void hide ();
+               [Version (since = "0.6")]
                public virtual signal void key_focus_in ();
+               [Version (since = "0.6")]
                public virtual signal void key_focus_out ();
+               [Version (since = "0.6")]
                public virtual signal bool key_press_event (Clutter.KeyEvent event);
+               [Version (since = "0.6")]
                public virtual signal bool key_release_event (Clutter.KeyEvent event);
+               [Version (since = "0.6")]
                public virtual signal bool leave_event (Clutter.CrossingEvent event);
+               [Version (since = "0.6")]
                public virtual signal bool motion_event (Clutter.MotionEvent event);
-               [Deprecated (since = "1.12")]
                [HasEmitter]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public virtual signal void paint ();
+               [Version (since = "0.2")]
                public virtual signal void parent_set (Clutter.Actor? old_parent);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public virtual signal void pick (Clutter.Color color);
                [HasEmitter]
+               [Version (since = "1.2")]
                public virtual signal void queue_relayout ();
-               [Deprecated (since = "1.16")]
                [HasEmitter]
+               [Version (deprecated = true, deprecated_since = "1.16", since = "0.8")]
                public virtual signal void realize ();
+               [Version (since = "0.6")]
                public virtual signal bool scroll_event (Clutter.ScrollEvent event);
                [HasEmitter]
+               [Version (since = "0.2")]
                public virtual signal void show ();
+               [Version (since = "1.12")]
                public virtual signal bool touch_event (Clutter.Event event);
+               [Version (since = "1.12")]
                public signal void transition_stopped (string name, bool is_finished);
+               [Version (since = "1.10")]
                public signal void transitions_completed ();
-               [Deprecated (since = "1.16")]
                [HasEmitter]
+               [Version (deprecated = true, deprecated_since = "1.16", since = "0.8")]
                public virtual signal void unrealize ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_meta_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class ActorMeta : GLib.InitiallyUnowned {
                [CCode (has_construct_function = false)]
                protected ActorMeta ();
@@ -5116,6 +5388,7 @@ namespace Clutter {
                public string name { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_align_constraint_get_type ()")]
+       [Version (since = "1.4")]
        public class AlignConstraint : Clutter.Constraint {
                [CCode (has_construct_function = false, type = "ClutterConstraint*")]
                public AlignConstraint (Clutter.Actor? source, Clutter.AlignAxis axis, float factor);
@@ -5130,35 +5403,43 @@ namespace Clutter {
                public Clutter.Actor source { get; set construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_alpha_get_type ()")]
-       [Deprecated (since = "1.12")]
+       [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
        public class Alpha : GLib.InitiallyUnowned, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
                public Alpha ();
                [CCode (has_construct_function = false)]
+               [Version (since = "1.0")]
                public Alpha.full (Clutter.Timeline timeline, ulong mode);
                public double get_alpha ();
+               [Version (since = "1.0")]
                public ulong get_mode ();
                public unowned Clutter.Timeline get_timeline ();
+               [Version (since = "1.0")]
                public static ulong register_closure (GLib.Closure closure);
+               [Version (since = "1.0")]
                public static ulong register_func (Clutter.AlphaFunc func);
+               [Version (since = "0.8")]
                public void set_closure (GLib.Closure closure);
                public void set_func (owned Clutter.AlphaFunc func);
+               [Version (since = "1.0")]
                public void set_mode (ulong mode);
                public void set_timeline (Clutter.Timeline timeline);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.0")]
                public Alpha.with_func (Clutter.Timeline timeline, owned Clutter.AlphaFunc func);
                public double alpha { get; }
+               [Version (since = "1.0")]
                public ulong mode { get; set construct; }
                public Clutter.Timeline timeline { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_animation_get_type ()")]
-       [Deprecated (since = "1.12")]
+       [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
        public class Animation : GLib.Object, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
                public Animation ();
                public unowned Clutter.Animation bind (string property_name, GLib.Value final);
                public unowned Clutter.Animation bind_interval (string property_name, owned Clutter.Interval 
interval);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
                public unowned Clutter.Alpha get_alpha ();
                public uint get_duration ();
                public unowned Clutter.Interval get_interval (string property_name);
@@ -5167,7 +5448,7 @@ namespace Clutter {
                public unowned GLib.Object get_object ();
                public unowned Clutter.Timeline get_timeline ();
                public bool has_property (string property_name);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
                public void set_alpha (Clutter.Alpha alpha);
                public void set_duration (uint msecs);
                public void set_loop (bool loop);
@@ -5177,7 +5458,7 @@ namespace Clutter {
                public void unbind_property (string property_name);
                public unowned Clutter.Animation update (string property_name, GLib.Value final);
                public void update_interval (string property_name, Clutter.Interval interval);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
                public Clutter.Alpha alpha { get; set; }
                public uint duration { get; set; }
                public bool loop { get; set; }
@@ -5189,7 +5470,7 @@ namespace Clutter {
                public virtual signal void started ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_animator_get_type ()")]
-       [Deprecated (since = "1.12")]
+       [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
        public class Animator : GLib.Object, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
                public Animator ();
@@ -5212,7 +5493,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_animator_key_get_type ()")]
        [Compact]
-       [Deprecated (since = "1.12")]
+       [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
        public class AnimatorKey {
                public ulong get_mode ();
                public unowned GLib.Object get_object ();
@@ -5222,6 +5503,7 @@ namespace Clutter {
                public bool get_value (GLib.Value value);
        }
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.4")]
        public class Backend : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Backend ();
@@ -5235,14 +5517,15 @@ namespace Clutter {
                public virtual void ensure_context (Clutter.Stage stage);
                [NoWrapper]
                public virtual unowned Clutter.DeviceManager get_device_manager ();
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4", since = "0.4")]
                public uint get_double_click_distance ();
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4", since = "0.4")]
                public uint get_double_click_time ();
                [NoWrapper]
                public virtual Clutter.FeatureFlags get_features ();
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
                public unowned string get_font_name ();
+               [Version (since = "0.8")]
                public unowned Cairo.FontOptions get_font_options ();
                public double get_resolution ();
                [NoWrapper]
@@ -5255,21 +5538,25 @@ namespace Clutter {
                public virtual bool pre_parse () throws GLib.Error;
                [NoWrapper]
                public virtual void redraw (Clutter.Stage stage);
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4", since = "0.4")]
                public void set_double_click_distance (uint distance);
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4", since = "0.4")]
                public void set_double_click_time (uint msec);
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
                public void set_font_name (string font_name);
+               [Version (since = "0.8")]
                public void set_font_options (Cairo.FontOptions options);
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4", since = "0.4")]
                public void set_resolution (double dpi);
+               [Version (since = "1.0")]
                public signal void font_changed ();
+               [Version (since = "1.0")]
                public signal void resolution_changed ();
+               [Version (since = "1.4")]
                public signal void settings_changed ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_get_type ()")]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
        public abstract class Behaviour : GLib.Object, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
                protected Behaviour ();
@@ -5281,32 +5568,42 @@ namespace Clutter {
                public unowned Clutter.Alpha get_alpha ();
                public int get_n_actors ();
                public unowned Clutter.Actor get_nth_actor (int index_);
+               [Version (since = "0.4")]
                public bool is_applied (Clutter.Actor actor);
                public void remove (Clutter.Actor actor);
+               [Version (since = "0.4")]
                public void remove_all ();
                public void set_alpha (Clutter.Alpha alpha);
                public Clutter.Alpha alpha { get; set; }
+               [Version (since = "0.4")]
                public virtual signal void applied (Clutter.Actor actor);
+               [Version (since = "0.4")]
                public virtual signal void removed (Clutter.Actor actor);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_depth_get_type ()")]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
        public class BehaviourDepth : Clutter.Behaviour, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+               [Version (since = "0.4")]
                public BehaviourDepth (Clutter.Alpha? alpha, int depth_start, int depth_end);
+               [Version (since = "0.6")]
                public void get_bounds (out int depth_start, out int depth_end);
+               [Version (since = "0.6")]
                public void set_bounds (int depth_start, int depth_end);
                [NoAccessorMethod]
+               [Version (since = "0.4")]
                public int depth_end { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.4")]
                public int depth_start { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_ellipse_get_type ()")]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.4")]
        public class BehaviourEllipse : Clutter.Behaviour, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
                public BehaviourEllipse (Clutter.Alpha? alpha, int x, int y, int width, int height, 
Clutter.RotateDirection direction, double start, double end);
                public double get_angle_end ();
+               [Version (since = "0.6")]
                public double get_angle_start ();
                public double get_angle_tilt (Clutter.RotateAxis axis);
                public void get_center (out int x, out int y);
@@ -5315,6 +5612,7 @@ namespace Clutter {
                public void get_tilt (out double angle_tilt_x, out double angle_tilt_y, out double 
angle_tilt_z);
                public int get_width ();
                public void set_angle_end (double angle_end);
+               [Version (since = "0.6")]
                public void set_angle_start (double angle_start);
                public void set_angle_tilt (Clutter.RotateAxis axis, double angle_tilt);
                public void set_center (int x, int y);
@@ -5337,11 +5635,13 @@ namespace Clutter {
                public int width { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_opacity_get_type ()")]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
        public class BehaviourOpacity : Clutter.Behaviour, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
                public BehaviourOpacity (Clutter.Alpha? alpha, uint8 opacity_start, uint8 opacity_end);
+               [Version (since = "0.6")]
                public void get_bounds (out uint8 opacity_start, out uint8 opacity_end);
+               [Version (since = "0.6")]
                public void set_bounds (uint8 opacity_start, uint8 opacity_end);
                [NoAccessorMethod]
                public uint opacity_end { get; set; }
@@ -5349,21 +5649,25 @@ namespace Clutter {
                public uint opacity_start { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_path_get_type ()")]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
        public class BehaviourPath : Clutter.Behaviour, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
                public BehaviourPath (Clutter.Alpha? alpha, Clutter.Path path);
+               [Version (since = "1.0")]
                public unowned Clutter.Path get_path ();
+               [Version (since = "1.0")]
                public void set_path (Clutter.Path path);
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+               [Version (since = "1.0")]
                public BehaviourPath.with_description (Clutter.Alpha? alpha, string desc);
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+               [Version (since = "1.0")]
                public BehaviourPath.with_knots (Clutter.Alpha? alpha, [CCode (array_length_cname = 
"n_knots", array_length_pos = 2.1, array_length_type = "guint")] Clutter.Knot[] knots);
                public Clutter.Path path { get; set; }
                public virtual signal void knot_reached (uint knot_num);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_rotate_get_type ()")]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.4")]
        public class BehaviourRotate : Clutter.Behaviour, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
                public BehaviourRotate (Clutter.Alpha? alpha, Clutter.RotateAxis axis, 
Clutter.RotateDirection direction, double angle_start, double angle_end);
@@ -5389,39 +5693,47 @@ namespace Clutter {
                public Clutter.RotateDirection direction { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_scale_get_type ()")]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
        public class BehaviourScale : Clutter.Behaviour, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterBehaviour*")]
                public BehaviourScale (Clutter.Alpha? alpha, double x_scale_start, double y_scale_start, 
double x_scale_end, double y_scale_end);
+               [Version (since = "0.4")]
                public void get_bounds (out double x_scale_start, out double y_scale_start, out double 
x_scale_end, out double y_scale_end);
+               [Version (since = "0.6")]
                public void set_bounds (double x_scale_start, double y_scale_start, double x_scale_end, 
double y_scale_end);
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double x_scale_end { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double x_scale_start { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double y_scale_end { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6")]
                public double y_scale_start { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bin_layout_get_type ()")]
+       [Version (since = "1.2")]
        public class BinLayout : Clutter.LayoutManager {
                [CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
                public BinLayout (Clutter.BinAlignment x_align = Clutter.BinAlignment.START, 
Clutter.BinAlignment y_align = Clutter.BinAlignment.START);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void add (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment 
y_align);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void get_alignment (Clutter.Actor? child, out Clutter.BinAlignment x_align, out 
Clutter.BinAlignment y_align);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_alignment (Clutter.Actor? child, Clutter.BinAlignment x_align, 
Clutter.BinAlignment y_align);
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public Clutter.BinAlignment x_align { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public Clutter.BinAlignment y_align { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bind_constraint_get_type ()")]
+       [Version (since = "1.4")]
        public class BindConstraint : Clutter.Constraint {
                [CCode (has_construct_function = false, type = "ClutterConstraint*")]
                public BindConstraint (Clutter.Actor? source, Clutter.BindCoordinate coordinate, float 
offset);
@@ -5436,6 +5748,7 @@ namespace Clutter {
                public Clutter.Actor source { get; set construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_binding_pool_get_type ()")]
+       [Version (since = "1.0")]
        public class BindingPool : GLib.Object {
                [CCode (has_construct_function = false)]
                public BindingPool (string name);
@@ -5454,32 +5767,34 @@ namespace Clutter {
                public string name { owned get; construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_blur_effect_get_type ()")]
+       [Version (since = "1.4")]
        public class BlurEffect : Clutter.OffscreenEffect {
                [CCode (has_construct_function = false, type = "ClutterEffect*")]
                public BlurEffect ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_box_get_type ()")]
+       [Version (since = "1.2")]
        public class Box : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public Box (Clutter.LayoutManager manager);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public Clutter.Color get_color ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public unowned Clutter.LayoutManager get_layout_manager ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void pack (Clutter.Actor actor, ...);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void pack_after (Clutter.Actor actor, Clutter.Actor? sibling, ...);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void pack_at (Clutter.Actor actor, int position, ...);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void pack_before (Clutter.Actor actor, Clutter.Actor? sibling, ...);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void packv (Clutter.Actor actor, [CCode (array_length_cname = "n_properties", 
array_length_pos = 1.5, array_length_type = "guint")] string[] properties, [CCode (array_length_cname = 
"n_properties", array_length_pos = 1.5, array_length_type = "guint")] GLib.Value[] values);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void set_color (Clutter.Color? color);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
                public void set_layout_manager (Clutter.LayoutManager manager);
                public Clutter.Color color { get; set; }
                [NoAccessorMethod]
@@ -5487,61 +5802,69 @@ namespace Clutter {
                public Clutter.LayoutManager layout_manager { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_box_layout_get_type ()")]
+       [Version (since = "1.2")]
        public class BoxLayout : Clutter.LayoutManager {
                [CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
                public BoxLayout ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void get_alignment (Clutter.Actor actor, out Clutter.BoxAlignment x_align, out 
Clutter.BoxAlignment y_align);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public uint get_easing_duration ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public ulong get_easing_mode ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public bool get_expand (Clutter.Actor actor);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void get_fill (Clutter.Actor actor, out bool x_fill, out bool y_fill);
+               [Version (since = "1.4")]
                public bool get_homogeneous ();
+               [Version (since = "1.12")]
                public Clutter.Orientation get_orientation ();
                public bool get_pack_start ();
                public uint get_spacing ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public bool get_use_animations ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public bool get_vertical ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void pack (Clutter.Actor actor, bool expand, bool x_fill, bool y_fill, 
Clutter.BoxAlignment x_align, Clutter.BoxAlignment y_align);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_alignment (Clutter.Actor actor, Clutter.BoxAlignment x_align, 
Clutter.BoxAlignment y_align);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_easing_duration (uint msecs);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_easing_mode (ulong mode);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_expand (Clutter.Actor actor, bool expand);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_fill (Clutter.Actor actor, bool x_fill, bool y_fill);
+               [Version (since = "1.4")]
                public void set_homogeneous (bool homogeneous);
+               [Version (since = "1.12")]
                public void set_orientation (Clutter.Orientation orientation);
                public void set_pack_start (bool pack_start);
                public void set_spacing (uint spacing);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_use_animations (bool animate);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_vertical (bool vertical);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public uint easing_duration { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public ulong easing_mode { get; set; }
+               [Version (since = "1.4")]
                public bool homogeneous { get; set; }
+               [Version (since = "1.12")]
                public Clutter.Orientation orientation { get; set; }
                public bool pack_start { get; set; }
                public uint spacing { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public bool use_animations { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public bool vertical { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = 
"clutter_brightness_contrast_effect_get_type ()")]
+       [Version (since = "1.10")]
        public class BrightnessContrastEffect : Clutter.OffscreenEffect {
                [CCode (has_construct_function = false, type = "ClutterEffect*")]
                public BrightnessContrastEffect ();
@@ -5557,47 +5880,60 @@ namespace Clutter {
                public Clutter.Color contrast { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_cairo_texture_get_type ()")]
-       [Deprecated (since = "1.12")]
+       [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
        public class CairoTexture : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public CairoTexture (uint width, uint height);
                public void clear ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
                public Cairo.Context create ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
                public Cairo.Context create_region (int x_offset, int y_offset, int width, int height);
+               [Version (since = "1.8")]
                public bool get_auto_resize ();
                public void get_surface_size (out uint width, out uint height);
+               [Version (since = "1.8")]
                public void invalidate ();
+               [Version (since = "1.8")]
                public void invalidate_rectangle (Cairo.RectangleInt? rect);
+               [Version (since = "1.8")]
                public void set_auto_resize (bool value);
                public void set_surface_size (uint width, uint height);
+               [Version (since = "1.8")]
                public bool auto_resize { get; set; }
                [NoAccessorMethod]
                public uint surface_height { get; set; }
                [NoAccessorMethod]
                public uint surface_width { get; set; }
+               [Version (since = "1.6")]
                public virtual signal Cairo.Surface create_surface (uint width, uint height);
+               [Version (since = "1.8")]
                public virtual signal bool draw (Cairo.Context cr);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_canvas_get_type ()")]
+       [Version (since = "1.10")]
        public class Canvas : GLib.Object, Clutter.Content {
                [CCode (has_construct_function = false)]
                protected Canvas ();
+               [Version (since = "1.18")]
                public int get_scale_factor ();
                public static Clutter.Content @new ();
+               [Version (since = "1.18")]
                public void set_scale_factor (int scale);
                public bool set_size (int width, int height);
                [NoAccessorMethod]
                public int height { get; set; }
+               [Version (since = "1.18")]
                public int scale_factor { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.18")]
                public bool scale_factor_set { get; }
                [NoAccessorMethod]
                public int width { get; set; }
                public virtual signal bool draw (Cairo.Context cr, int width, int height);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_child_meta_get_type ()")]
+       [Version (since = "0.8")]
        public abstract class ChildMeta : GLib.Object {
                [CCode (has_construct_function = false)]
                protected ChildMeta ();
@@ -5607,30 +5943,38 @@ namespace Clutter {
                public Clutter.Container container { get; construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_click_action_get_type ()")]
+       [Version (since = "1.4")]
        public class ClickAction : Clutter.Action {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public ClickAction ();
                public uint get_button ();
+               [Version (since = "1.8")]
                public void get_coords (out float press_x, out float press_y);
+               [Version (since = "1.6")]
                public Clutter.ModifierType get_state ();
                public void release ();
                [NoAccessorMethod]
                public bool held { get; }
                [NoAccessorMethod]
+               [Version (since = "1.8")]
                public int long_press_duration { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.8")]
                public int long_press_threshold { get; set; }
                [NoAccessorMethod]
                public bool pressed { get; }
                public virtual signal void clicked (Clutter.Actor actor);
+               [Version (since = "1.8")]
                public virtual signal bool long_press (Clutter.Actor actor, Clutter.LongPressState state);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_clip_node_get_type ()")]
+       [Version (since = "1.10")]
        public class ClipNode : Clutter.PaintNode {
                [CCode (has_construct_function = false, type = "ClutterPaintNode*")]
                public ClipNode ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_clone_get_type ()")]
+       [Version (since = "1.0")]
        public class Clone : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Clone (Clutter.Actor source);
@@ -5639,11 +5983,13 @@ namespace Clutter {
                public Clutter.Actor source { get; set construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_node_get_type ()")]
+       [Version (since = "1.10")]
        public class ColorNode : Clutter.PipelineNode {
                [CCode (has_construct_function = false, type = "ClutterPaintNode*")]
                public ColorNode (Clutter.Color? color);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_colorize_effect_get_type ()")]
+       [Version (since = "1.4")]
        public class ColorizeEffect : Clutter.OffscreenEffect {
                [CCode (has_construct_function = false, type = "ClutterEffect*")]
                public ColorizeEffect (Clutter.Color tint);
@@ -5652,6 +5998,7 @@ namespace Clutter {
                public Clutter.Color tint { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_constraint_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class Constraint : Clutter.ActorMeta {
                [CCode (has_construct_function = false)]
                protected Constraint ();
@@ -5661,6 +6008,7 @@ namespace Clutter {
                public virtual void update_preferred_size (Clutter.Actor actor, Clutter.Orientation 
direction, float for_size, float minimum_size, float natural_size);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_deform_effect_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class DeformEffect : Clutter.OffscreenEffect {
                [CCode (has_construct_function = false)]
                protected DeformEffect ();
@@ -5677,6 +6025,7 @@ namespace Clutter {
                public uint y_tiles { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_desaturate_effect_get_type ()")]
+       [Version (since = "1.4")]
        public class DesaturateEffect : Clutter.OffscreenEffect {
                [CCode (has_construct_function = false, type = "ClutterEffect*")]
                public DesaturateEffect (double factor);
@@ -5685,6 +6034,7 @@ namespace Clutter {
                public double factor { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_device_manager_get_type ()")]
+       [Version (since = "1.2")]
        public abstract class DeviceManager : GLib.Object {
                [CCode (has_construct_function = false)]
                protected DeviceManager ();
@@ -5705,6 +6055,7 @@ namespace Clutter {
                public signal void device_removed (Clutter.InputDevice device);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_drag_action_get_type ()")]
+       [Version (since = "1.4")]
        public class DragAction : Clutter.Action {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public DragAction ();
@@ -5719,8 +6070,10 @@ namespace Clutter {
                public void set_drag_handle (Clutter.Actor? handle);
                public void set_drag_threshold (int x_threshold, int y_threshold);
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public Clutter.Rect drag_area { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public bool drag_area_set { get; }
                public Clutter.DragAxis drag_axis { get; set; }
                public Clutter.Actor drag_handle { get; set; }
@@ -5731,19 +6084,23 @@ namespace Clutter {
                public virtual signal void drag_begin (Clutter.Actor actor, float event_x, float event_y, 
Clutter.ModifierType modifiers);
                public virtual signal void drag_end (Clutter.Actor actor, float event_x, float event_y, 
Clutter.ModifierType modifiers);
                public virtual signal void drag_motion (Clutter.Actor actor, float delta_x, float delta_y);
+               [Version (since = "1.12")]
                public virtual signal bool drag_progress (Clutter.Actor actor, float delta_x, float delta_y);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_drop_action_get_type ()")]
+       [Version (since = "1.8")]
        public class DropAction : Clutter.Action {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public DropAction ();
                public virtual signal bool can_drop (Clutter.Actor actor, float event_x, float event_y);
                public virtual signal void drop (Clutter.Actor actor, float event_x, float event_y);
+               [Version (since = "1.12")]
                public signal void drop_cancel (Clutter.Actor actor, float event_x, float event_y);
                public virtual signal void over_in (Clutter.Actor actor);
                public virtual signal void over_out (Clutter.Actor actor);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_effect_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class Effect : Clutter.ActorMeta {
                [CCode (has_construct_function = false)]
                protected Effect ();
@@ -5757,10 +6114,12 @@ namespace Clutter {
                public virtual void post_paint ();
                [NoWrapper]
                public virtual bool pre_paint ();
+               [Version (since = "1.8")]
                public void queue_repaint ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_event_get_type ()")]
        [Compact]
+       [Version (since = "0.2")]
        public class Event {
                public Clutter.AnyEvent any;
                public Clutter.ButtonEvent button;
@@ -5773,68 +6132,116 @@ namespace Clutter {
                public Clutter.EventType type;
                [CCode (has_construct_function = false)]
                public Event (Clutter.EventType type);
+               [Version (since = "1.18")]
                public static uint add_filter (Clutter.Stage? stage, [CCode (delegate_target_pos = 2.2, 
destroy_notify_pos = 2.1)] owned Clutter.EventFilterFunc func);
                public Clutter.Event copy ();
                public void free ();
+               [Version (since = "0.4")]
                public static Clutter.Event @get ();
+               [Version (since = "1.12")]
                public double get_angle (Clutter.Event target);
+               [Version (since = "1.6")]
                public double get_axes (out uint n_axes);
+               [Version (since = "1.0")]
                public uint32 get_button ();
+               [Version (since = "1.0")]
                public uint get_click_count ();
+               [Version (since = "0.4")]
                public void get_coords (out float x, out float y);
+               [Version (since = "1.0")]
                public unowned Clutter.InputDevice get_device ();
                public int get_device_id ();
+               [Version (since = "1.0")]
                public Clutter.InputDeviceType get_device_type ();
+               [Version (since = "1.12")]
                public float get_distance (Clutter.Event target);
+               [Version (since = "1.10")]
                public unowned Clutter.EventSequence get_event_sequence ();
+               [Version (since = "1.0")]
                public Clutter.EventFlags get_flags ();
+               [Version (since = "1.0")]
                public uint16 get_key_code ();
+               [Version (since = "1.0")]
                public uint get_key_symbol ();
                public unichar get_key_unicode ();
+               [Version (since = "1.12")]
                public void get_position (Clutter.Point position);
+               [Version (since = "1.0")]
                public unowned Clutter.Actor get_related ();
+               [Version (since = "1.10")]
                public void get_scroll_delta (out double dx, out double dy);
+               [Version (since = "1.0")]
                public Clutter.ScrollDirection get_scroll_direction ();
+               [Version (since = "0.6")]
                public unowned Clutter.Actor get_source ();
+               [Version (since = "1.6")]
                public unowned Clutter.InputDevice get_source_device ();
+               [Version (since = "0.8")]
                public unowned Clutter.Stage get_stage ();
+               [Version (since = "0.4")]
                public Clutter.ModifierType get_state ();
+               [Version (since = "1.16")]
                public void get_state_full (out Clutter.ModifierType button_state, out Clutter.ModifierType 
base_state, out Clutter.ModifierType latched_state, out Clutter.ModifierType locked_state, out 
Clutter.ModifierType effective_state);
+               [Version (since = "0.4")]
                public uint32 get_time ();
                [CCode (cname = "clutter_event_type")]
                public Clutter.EventType get_type ();
+               [Version (since = "1.12")]
                public bool has_control_modifier ();
+               [Version (since = "1.12")]
                public bool has_shift_modifier ();
+               [Version (since = "1.12")]
                public bool is_pointer_emulated ();
+               [Version (since = "0.4")]
                public static unowned Clutter.Event peek ();
+               [Version (since = "0.6")]
                public void put ();
+               [Version (since = "1.18")]
                public static void remove_filter (uint id);
+               [Version (since = "1.8")]
                public void set_button (uint32 button);
+               [Version (since = "1.8")]
                public void set_coords (float x, float y);
+               [Version (since = "1.6")]
                public void set_device (Clutter.InputDevice? device);
+               [Version (since = "1.8")]
                public void set_flags (Clutter.EventFlags flags);
+               [Version (since = "1.8")]
                public void set_key_code (uint16 key_code);
+               [Version (since = "1.8")]
                public void set_key_symbol (uint key_sym);
+               [Version (since = "1.8")]
                public void set_key_unicode (unichar key_unicode);
+               [Version (since = "1.8")]
                public void set_related (Clutter.Actor? actor);
+               [Version (since = "1.10")]
                public void set_scroll_delta (double dx, double dy);
+               [Version (since = "1.8")]
                public void set_scroll_direction (Clutter.ScrollDirection direction);
+               [Version (since = "1.8")]
                public void set_source (Clutter.Actor? actor);
+               [Version (since = "1.8")]
                public void set_source_device (Clutter.InputDevice? device);
+               [Version (since = "1.8")]
                public void set_stage (Clutter.Stage? stage);
+               [Version (since = "1.8")]
                public void set_state (Clutter.ModifierType state);
+               [Version (since = "1.8")]
                public void set_time (uint32 time_);
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_event_sequence_get_type ()")]
        [Compact]
+       [Version (since = "1.12")]
        public class EventSequence {
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_fixed_layout_get_type ()")]
+       [Version (since = "1.2")]
        public class FixedLayout : Clutter.LayoutManager {
                [CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
                public FixedLayout ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_flow_layout_get_type ()")]
+       [Version (since = "1.2")]
        public class FlowLayout : Clutter.LayoutManager {
                [CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
                public FlowLayout (Clutter.FlowOrientation orientation);
@@ -5844,6 +6251,7 @@ namespace Clutter {
                public Clutter.FlowOrientation get_orientation ();
                public void get_row_height (out float min_height, out float max_height);
                public float get_row_spacing ();
+               [Version (since = "1.16")]
                public bool get_snap_to_grid ();
                public void set_column_spacing (float spacing);
                public void set_column_width (float min_width, float max_width);
@@ -5851,6 +6259,7 @@ namespace Clutter {
                public void set_orientation (Clutter.FlowOrientation orientation);
                public void set_row_height (float min_height, float max_height);
                public void set_row_spacing (float spacing);
+               [Version (since = "1.16")]
                public void set_snap_to_grid (bool snap_to_grid);
                public float column_spacing { get; set; }
                public bool homogeneous { get; set; }
@@ -5864,37 +6273,56 @@ namespace Clutter {
                public float min_row_height { get; set; }
                public Clutter.FlowOrientation orientation { get; set construct; }
                public float row_spacing { get; set; }
+               [Version (since = "1.16")]
                public bool snap_to_grid { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_gesture_action_get_type ()")]
+       [Version (since = "1.8")]
        public class GestureAction : Clutter.Action {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public GestureAction ();
+               [Version (since = "1.12")]
                public void cancel ();
                [NoWrapper]
                public virtual bool gesture_prepare (Clutter.Actor actor);
+               [Version (since = "1.12")]
                public unowned Clutter.InputDevice get_device (uint point);
+               [Version (since = "1.14")]
                public unowned Clutter.Event get_last_event (uint point);
                public void get_motion_coords (uint point, out float motion_x, out float motion_y);
+               [Version (since = "1.12")]
                public float get_motion_delta (uint point, out float delta_x, out float delta_y);
+               [Version (since = "1.12")]
                public uint get_n_current_points ();
+               [Version (since = "1.12")]
                public int get_n_touch_points ();
                public void get_press_coords (uint point, out float press_x, out float press_y);
                public void get_release_coords (uint point, out float release_x, out float release_y);
+               [Version (since = "1.12")]
                public unowned Clutter.EventSequence get_sequence (uint point);
+               [Version (since = "1.18")]
                public void get_threshold_trigger_distance (out float x, out float y);
+               [Version (since = "1.20")]
                public Clutter.GestureTriggerEdge get_threshold_trigger_edge ();
-               [Deprecated (since = "1.20")]
+               [Version (deprecated = true, deprecated_since = "1.20", since = "1.18")]
                public Clutter.GestureTriggerEdge get_threshold_trigger_egde ();
+               [Version (since = "1.12")]
                public float get_velocity (uint point, out float velocity_x, out float velocity_y);
+               [Version (since = "1.12")]
                public void set_n_touch_points (int nb_points);
+               [Version (since = "1.18")]
                public void set_threshold_trigger_distance (float x, float y);
+               [Version (since = "1.18")]
                public void set_threshold_trigger_edge (Clutter.GestureTriggerEdge edge);
+               [Version (since = "1.16")]
                public int n_touch_points { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.18")]
                public float threshold_trigger_distance_x { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "1.18")]
                public float threshold_trigger_distance_y { get; construct; }
+               [Version (since = "1.18")]
                public Clutter.GestureTriggerEdge threshold_trigger_edge { get; construct; }
                public virtual signal bool gesture_begin (Clutter.Actor actor);
                public virtual signal void gesture_cancel (Clutter.Actor actor);
@@ -5902,6 +6330,7 @@ namespace Clutter {
                public virtual signal bool gesture_progress (Clutter.Actor actor);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_grid_layout_get_type ()")]
+       [Version (since = "1.12")]
        public class GridLayout : Clutter.LayoutManager {
                [CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
                public GridLayout ();
@@ -5928,23 +6357,26 @@ namespace Clutter {
                public uint row_spacing { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_group_get_type ()")]
+       [Version (since = "0.1")]
        public class Group : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public Group ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
                public int get_n_children ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
                public unowned Clutter.Actor get_nth_child (int index_);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void remove_all ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_image_get_type ()")]
+       [Version (since = "1.10")]
        public class Image : GLib.Object, Clutter.Content {
                [CCode (has_construct_function = false)]
                protected Image ();
                public static Clutter.Content @new ();
                public bool set_area ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat 
pixel_format, Cairo.RectangleInt rect, uint row_stride) throws GLib.Error;
+               [Version (since = "1.12")]
                public bool set_bytes (GLib.Bytes data, Cogl.PixelFormat pixel_format, uint width, uint 
height, uint row_stride) throws GLib.Error;
                public bool set_data ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat 
pixel_format, uint width, uint height, uint row_stride) throws GLib.Error;
        }
@@ -5952,69 +6384,109 @@ namespace Clutter {
        public class InputDevice : GLib.Object {
                [CCode (has_construct_function = false)]
                protected InputDevice ();
+               [Version (since = "1.6")]
                public unowned Clutter.InputDevice get_associated_device ();
+               [Version (since = "1.6")]
                public Clutter.InputAxis get_axis (uint index_);
+               [Version (since = "1.6")]
                public bool get_axis_value ([CCode (array_length = false)] double[] axes, Clutter.InputAxis 
axis, out double value);
+               [Version (since = "1.12")]
                public bool get_coords (Clutter.EventSequence? sequence, Clutter.Point point);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void get_device_coords (out int x, out int y);
+               [Version (since = "1.0")]
                public int get_device_id ();
+               [Version (since = "1.6")]
                public Clutter.InputMode get_device_mode ();
+               [Version (since = "1.2")]
                public unowned string get_device_name ();
+               [Version (since = "1.0")]
                public Clutter.InputDeviceType get_device_type ();
+               [Version (since = "1.6")]
                public bool get_enabled ();
                [CCode (cname = "clutter_get_input_device_for_id")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
                public static unowned Clutter.InputDevice get_for_id (int id_);
+               [Version (since = "1.10")]
                public unowned Clutter.Actor get_grabbed_actor ();
+               [Version (since = "1.6")]
                public bool get_has_cursor ();
+               [Version (since = "1.6")]
                public bool get_key (uint index_, out uint keyval, out Clutter.ModifierType modifiers);
+               [Version (since = "1.16")]
                public Clutter.ModifierType get_modifier_state ();
+               [Version (since = "1.6")]
                public uint get_n_axes ();
+               [Version (since = "1.6")]
                public uint get_n_keys ();
+               [Version (since = "1.2")]
                public unowned Clutter.Actor get_pointer_actor ();
+               [Version (since = "1.2")]
                public unowned Clutter.Stage get_pointer_stage ();
+               [Version (since = "1.6")]
                public GLib.List<weak Clutter.InputDevice> get_slave_devices ();
+               [Version (since = "1.10")]
                public void grab (Clutter.Actor actor);
+               [Version (since = "1.10")]
                public bool keycode_to_evdev (uint hardware_keycode, uint evdev_keycode);
+               [Version (since = "1.12")]
                public unowned Clutter.Actor sequence_get_grabbed_actor (Clutter.EventSequence sequence);
+               [Version (since = "1.12")]
                public void sequence_grab (Clutter.EventSequence sequence, Clutter.Actor actor);
+               [Version (since = "1.12")]
                public void sequence_ungrab (Clutter.EventSequence sequence);
+               [Version (since = "1.6")]
                public void set_enabled (bool enabled);
+               [Version (since = "1.6")]
                public void set_key (uint index_, uint keyval, Clutter.ModifierType modifiers);
+               [Version (since = "1.10")]
                public void ungrab ();
+               [Version (since = "1.2")]
                public void update_from_event (Clutter.Event event, bool update_stage);
                [NoAccessorMethod]
+               [Version (since = "1.6")]
                public Clutter.Backend backend { owned get; construct; }
                [NoAccessorMethod]
+               [Version (since = "1.6")]
                public Clutter.DeviceManager device_manager { owned get; construct; }
                public Clutter.InputMode device_mode { get; construct; }
+               [Version (since = "1.2")]
                public Clutter.InputDeviceType device_type { get; construct; }
+               [Version (since = "1.6")]
                public bool enabled { get; set; }
+               [Version (since = "1.6")]
                public bool has_cursor { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "1.2")]
                public int id { get; construct; }
+               [Version (since = "1.6")]
                public uint n_axes { get; }
                [NoAccessorMethod]
+               [Version (since = "1.2")]
                public string name { owned get; construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_interval_get_type ()")]
+       [Version (since = "1.0")]
        public class Interval : GLib.InitiallyUnowned, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
                public Interval (GLib.Type gtype, ...);
                public Clutter.Interval clone ();
+               [Version (since = "1.4")]
                public unowned GLib.Value? compute (double factor);
                public virtual bool compute_value (double factor, out GLib.Value value);
                public GLib.Value get_final_value ();
                public GLib.Value get_initial_value ();
                public void get_interval (...);
                public GLib.Type get_value_type ();
+               [Version (since = "1.12")]
                public bool is_valid ();
                public unowned GLib.Value? peek_final_value ();
                public unowned GLib.Value? peek_initial_value ();
                public static void register_progress_func (GLib.Type value_type, Clutter.ProgressFunc func);
+               [Version (since = "1.10")]
                public void set_final (...);
                public void set_final_value (GLib.Value value);
+               [Version (since = "1.10")]
                public void set_initial (...);
                public void set_initial_value (GLib.Value value);
                public void set_interval (...);
@@ -6022,12 +6494,15 @@ namespace Clutter {
                [CCode (has_construct_function = false)]
                public Interval.with_values (GLib.Type gtype, GLib.Value? initial, GLib.Value? final);
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public GLib.Value final { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.12")]
                public GLib.Value initial { owned get; set; }
                public GLib.Type value_type { get; construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_keyframe_transition_get_type ()")]
+       [Version (since = "1.12")]
        public class KeyframeTransition : Clutter.PropertyTransition, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterTransition*")]
                public KeyframeTransition (string property_name);
@@ -6040,11 +6515,12 @@ namespace Clutter {
                public void set_values ([CCode (array_length_cname = "n_values", array_length_pos = 0.5, 
array_length_type = "guint")] GLib.Value[] values);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layout_manager_get_type ()")]
+       [Version (since = "1.2")]
        public abstract class LayoutManager : GLib.InitiallyUnowned {
                [CCode (has_construct_function = false)]
                protected LayoutManager ();
                public virtual void allocate (Clutter.Container container, Clutter.ActorBox allocation, 
Clutter.AllocationFlags flags);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public virtual unowned Clutter.Alpha begin_animation (uint duration, ulong mode);
                public void child_get (Clutter.Container container, Clutter.Actor actor, ...);
                public void child_get_property (Clutter.Container container, Clutter.Actor actor, string 
property_name, GLib.Value value);
@@ -6052,11 +6528,12 @@ namespace Clutter {
                public void child_set_property (Clutter.Container container, Clutter.Actor actor, string 
property_name, GLib.Value value);
                [NoWrapper]
                public virtual unowned Clutter.LayoutMeta create_child_meta (Clutter.Container container, 
Clutter.Actor actor);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public virtual void end_animation ();
                public unowned GLib.ParamSpec find_child_property (string name);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public virtual double get_animation_progress ();
+               [Version (since = "1.0")]
                public unowned Clutter.LayoutMeta get_child_meta (Clutter.Container container, Clutter.Actor 
actor);
                [NoWrapper]
                public virtual GLib.Type get_child_meta_type ();
@@ -6069,6 +6546,7 @@ namespace Clutter {
                public virtual signal void layout_changed ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layout_meta_get_type ()")]
+       [Version (since = "1.2")]
        public abstract class LayoutMeta : Clutter.ChildMeta {
                [CCode (has_construct_function = false)]
                protected LayoutMeta ();
@@ -6076,6 +6554,7 @@ namespace Clutter {
                public Clutter.LayoutManager manager { get; construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_list_model_get_type ()")]
+       [Version (since = "0.6")]
        public class ListModel : Clutter.Model, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterModel*")]
                public ListModel (uint n_columns, ...);
@@ -6084,6 +6563,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_margin_get_type ()")]
        [Compact]
+       [Version (since = "1.10")]
        public class Margin {
                public float bottom;
                public float left;
@@ -6095,6 +6575,7 @@ namespace Clutter {
                public void free ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_model_get_type ()")]
+       [Version (since = "0.6")]
        public abstract class Model : GLib.Object, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
                protected Model ();
@@ -6105,6 +6586,7 @@ namespace Clutter {
                public void @foreach (Clutter.ModelForeachFunc func);
                public virtual unowned string get_column_name (uint column);
                public virtual GLib.Type get_column_type (uint column);
+               [Version (since = "1.0")]
                public bool get_filter_set ();
                public Clutter.ModelIter get_first_iter ();
                public virtual Clutter.ModelIter get_iter_at_row (uint row);
@@ -6128,6 +6610,7 @@ namespace Clutter {
                public void set_sort (int column, owned Clutter.ModelSortFunc? func);
                public void set_sorting_column (int column);
                public void set_types ([CCode (array_length_cname = "n_columns", array_length_pos = 0.5, 
array_length_type = "guint")] GLib.Type[] types);
+               [Version (since = "1.0")]
                public bool filter_set { get; }
                public virtual signal void filter_changed ();
                public virtual signal void row_added (Clutter.ModelIter iter);
@@ -6136,9 +6619,11 @@ namespace Clutter {
                public virtual signal void sort_changed ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_model_iter_get_type ()")]
+       [Version (since = "0.6")]
        public abstract class ModelIter : GLib.Object {
                [CCode (has_construct_function = false)]
                protected ModelIter ();
+               [Version (since = "0.8")]
                public virtual Clutter.ModelIter copy ();
                public void @get (...);
                public virtual unowned Clutter.Model get_model ();
@@ -6156,18 +6641,22 @@ namespace Clutter {
                public uint row { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_offscreen_effect_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class OffscreenEffect : Clutter.Effect {
                [CCode (has_construct_function = false)]
                protected OffscreenEffect ();
                public virtual Cogl.Handle create_texture (float width, float height);
                public unowned Cogl.Material get_target ();
+               [Version (since = "1.14")]
                public bool get_target_rect (out unowned Clutter.Rect rect);
-               [Deprecated (since = "1.14")]
+               [Version (deprecated = true, deprecated_since = "1.14", since = "1.8")]
                public bool get_target_size (out float width, out float height);
+               [Version (since = "1.10")]
                public unowned Cogl.Handle get_texture ();
                public virtual void paint_target ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_page_turn_effect_get_type ()")]
+       [Version (since = "1.4")]
        public class PageTurnEffect : Clutter.DeformEffect {
                [CCode (has_construct_function = false, type = "ClutterEffect*")]
                public PageTurnEffect (double period, double angle, float radius);
@@ -6182,6 +6671,7 @@ namespace Clutter {
                public float radius { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_paint_node_get_type ()")]
+       [Version (since = "1.10")]
        public abstract class PaintNode {
                [CCode (has_construct_function = false)]
                protected PaintNode ();
@@ -6194,22 +6684,37 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_paint_volume_get_type ()")]
        [Compact]
+       [Version (since = "1.4")]
        public class PaintVolume {
+               [Version (since = "1.6")]
                public Clutter.PaintVolume copy ();
+               [Version (since = "1.6")]
                public void free ();
+               [Version (since = "1.6")]
                public float get_depth ();
+               [Version (since = "1.6")]
                public float get_height ();
+               [Version (since = "1.6")]
                public Clutter.Vertex get_origin ();
+               [Version (since = "1.6")]
                public float get_width ();
+               [Version (since = "1.6")]
                public void set_depth (float depth);
+               [Version (since = "1.6")]
                public bool set_from_allocation (Clutter.Actor actor);
+               [Version (since = "1.6")]
                public void set_height (float height);
+               [Version (since = "1.6")]
                public void set_origin (Clutter.Vertex origin);
+               [Version (since = "1.6")]
                public void set_width (float width);
+               [Version (since = "1.6")]
                public void union (Clutter.PaintVolume another_pv);
+               [Version (since = "1.10")]
                public void union_box (Clutter.ActorBox box);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pan_action_get_type ()")]
+       [Version (since = "1.12")]
        public class PanAction : Clutter.GestureAction {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public PanAction ();
@@ -6218,7 +6723,9 @@ namespace Clutter {
                public bool get_interpolate ();
                public void get_interpolated_coords (out float interpolated_x, out float interpolated_y);
                public float get_interpolated_delta (out float delta_x, out float delta_y);
+               [Version (since = "1.14")]
                public void get_motion_coords (uint point, out float motion_x, out float motion_y);
+               [Version (since = "1.14")]
                public float get_motion_delta (uint point, out float delta_x, out float delta_y);
                public Clutter.PanAxis get_pan_axis ();
                public void set_acceleration_factor (double factor);
@@ -6238,6 +6745,7 @@ namespace Clutter {
                protected ParamSpecUnit ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_path_get_type ()")]
+       [Version (since = "1.0")]
        public class Path : GLib.InitiallyUnowned {
                [CCode (has_construct_function = false)]
                public Path ();
@@ -6271,6 +6779,7 @@ namespace Clutter {
                public uint length { get; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_path_constraint_get_type ()")]
+       [Version (since = "1.6")]
        public class PathConstraint : Clutter.Constraint {
                [CCode (has_construct_function = false, type = "ClutterConstraint*")]
                public PathConstraint (Clutter.Path? path, float offset);
@@ -6283,12 +6792,14 @@ namespace Clutter {
                public signal void node_reached (Clutter.Actor actor, uint index);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pipeline_node_get_type ()")]
+       [Version (since = "1.10")]
        public class PipelineNode : Clutter.PaintNode {
                [CCode (has_construct_function = false)]
                protected PipelineNode ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_point_get_type ()")]
        [Compact]
+       [Version (since = "1.12")]
        public class Point {
                public float x;
                public float y;
@@ -6301,6 +6812,7 @@ namespace Clutter {
                public static unowned Clutter.Point zero ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_property_transition_get_type ()")]
+       [Version (since = "1.10")]
        public class PropertyTransition : Clutter.Transition, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterTransition*")]
                public PropertyTransition (string? property_name);
@@ -6310,6 +6822,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_rect_get_type ()")]
        [Compact]
+       [Version (since = "1.12")]
        public class Rect {
                public weak Clutter.Point origin;
                public weak Clutter.Size size;
@@ -6334,103 +6847,121 @@ namespace Clutter {
                public static unowned Clutter.Rect zero ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_rectangle_get_type ()")]
+       [Version (since = "0.1")]
        public class Rectangle : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Rectangle ();
+               [Version (since = "0.2")]
                public Clutter.Color get_border_color ();
+               [Version (since = "0.2")]
                public uint get_border_width ();
                public Clutter.Color get_color ();
                public void set_border_color (Clutter.Color color);
+               [Version (since = "0.2")]
                public void set_border_width (uint width);
                public void set_color (Clutter.Color color);
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Rectangle.with_color (Clutter.Color color);
+               [Version (since = "0.2")]
                public Clutter.Color border_color { get; set; }
+               [Version (since = "0.2")]
                public uint border_width { get; set; }
                public Clutter.Color color { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.2")]
                public bool has_border { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_rotate_action_get_type ()")]
+       [Version (since = "1.12")]
        public class RotateAction : Clutter.GestureAction {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public RotateAction ();
                public virtual signal bool rotate (Clutter.Actor actor, double angle);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_score_get_type ()")]
+       [Version (since = "0.6")]
        public class Score : GLib.Object {
                [CCode (has_construct_function = false)]
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public Score ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public ulong append (Clutter.Timeline? parent, Clutter.Timeline timeline);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.8")]
                public ulong append_at_marker (Clutter.Timeline parent, string marker_name, Clutter.Timeline 
timeline);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public bool get_loop ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public unowned Clutter.Timeline get_timeline (ulong id_);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public bool is_playing ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public GLib.SList<weak Clutter.Timeline> list_timelines ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public void pause ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public void remove (ulong id_);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public void remove_all ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public void rewind ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public void set_loop (bool loop);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public void start ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public void stop ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public bool loop { get; set; }
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public virtual signal void completed ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public virtual signal void paused ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public virtual signal void started ();
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public virtual signal void timeline_completed (Clutter.Timeline timeline);
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public virtual signal void timeline_started (Clutter.Timeline timeline);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_script_get_type ()")]
+       [Version (since = "0.6")]
        public class Script : GLib.Object {
                [CCode (has_construct_function = false)]
                public Script ();
+               [Version (since = "0.8")]
                public void add_search_paths ([CCode (array_length_cname = "n_paths", array_length_pos = 1.1, 
array_length_type = "gsize")] string[] paths);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.8")]
                public void add_states (string? name, Clutter.State state);
                public void connect_signals (void* user_data);
                public void connect_signals_full (Clutter.ScriptConnectFunc func);
                public void ensure_objects ();
                public unowned GLib.Object get_object (string name);
                public int get_objects (...);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.8")]
                public unowned Clutter.State get_states (string? name);
+               [Version (since = "1.10")]
                public unowned string get_translation_domain ();
                public virtual GLib.Type get_type_from_name (string type_name);
+               [Version (since = "0.8.2")]
                public GLib.List<weak GLib.Object> list_objects ();
                public uint load_from_data (string data, ssize_t length) throws GLib.Error;
                public uint load_from_file (string filename) throws GLib.Error;
+               [Version (since = "1.10")]
                public uint load_from_resource (string resource_path) throws GLib.Error;
+               [Version (since = "0.8")]
                public string lookup_filename (string filename);
+               [Version (since = "1.10")]
                public void set_translation_domain (string? domain);
                public void unmerge_objects (uint merge_id);
                [NoAccessorMethod]
                public string filename { owned get; }
                [NoAccessorMethod]
                public bool filename_set { get; }
+               [Version (since = "1.10")]
                public string translation_domain { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_scroll_actor_get_type ()")]
+       [Version (since = "1.12")]
        public class ScrollActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public ScrollActor ();
@@ -6441,13 +6972,15 @@ namespace Clutter {
                public Clutter.ScrollMode scroll_mode { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_settings_get_type ()")]
+       [Version (since = "1.4")]
        public class Settings : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Settings ();
                public static unowned Clutter.Settings get_default ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.4")]
                public Clutter.Backend backend { construct; }
                [NoAccessorMethod]
+               [Version (since = "1.8")]
                public int dnd_drag_threshold { get; set; }
                [NoAccessorMethod]
                public int double_click_distance { get; set; }
@@ -6468,6 +7001,7 @@ namespace Clutter {
                [NoAccessorMethod]
                public uint fontconfig_timestamp { set; }
                [NoAccessorMethod]
+               [Version (since = "1.8")]
                public int long_press_duration { get; set; }
                [NoAccessorMethod]
                public uint password_hint_time { get; set; }
@@ -6477,24 +7011,31 @@ namespace Clutter {
                public int window_scaling_factor { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_get_type ()")]
-       [Deprecated (since = "1.8")]
+       [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
        public class Shader : GLib.Object {
                [CCode (has_construct_function = false)]
                public Shader ();
+               [Version (since = "0.8")]
                public bool compile () throws GLib.Error;
+               [Version (since = "1.0")]
                public unowned Cogl.Handle get_cogl_fragment_shader ();
+               [Version (since = "1.0")]
                public unowned Cogl.Handle get_cogl_program ();
+               [Version (since = "1.0")]
                public unowned Cogl.Handle get_cogl_vertex_shader ();
                public unowned string get_fragment_source ();
                public bool get_is_enabled ();
                public unowned string get_vertex_source ();
+               [Version (since = "0.8")]
                public bool is_compiled ();
                public void release ();
                public void set_fragment_source (string data, ssize_t length);
                public void set_is_enabled (bool enabled);
+               [Version (since = "1.0")]
                public void set_uniform (string name, GLib.Value value);
                public void set_vertex_source (string data, ssize_t length);
                [NoAccessorMethod]
+               [Version (since = "0.8")]
                public bool compiled { get; }
                [NoAccessorMethod]
                public bool enabled { get; set; }
@@ -6504,8 +7045,10 @@ namespace Clutter {
                public string vertex_source { owned get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_effect_get_type ()")]
+       [Version (since = "1.4")]
        public class ShaderEffect : Clutter.OffscreenEffect {
                [CCode (has_construct_function = false, type = "ClutterEffect*")]
+               [Version (since = "1.8")]
                public ShaderEffect (Clutter.ShaderType shader_type);
                public unowned Cogl.Handle get_program ();
                public unowned Cogl.Handle get_shader ();
@@ -6532,6 +7075,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_size_get_type ()")]
        [Compact]
+       [Version (since = "1.12")]
        public class Size {
                public float height;
                public float width;
@@ -6542,6 +7086,7 @@ namespace Clutter {
                public unowned Clutter.Size init (float width, float height);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_snap_constraint_get_type ()")]
+       [Version (since = "1.6")]
        public class SnapConstraint : Clutter.Constraint {
                [CCode (has_construct_function = false, type = "ClutterConstraint*")]
                public SnapConstraint (Clutter.Actor? source, Clutter.SnapEdge from_edge, Clutter.SnapEdge 
to_edge, float offset);
@@ -6559,228 +7104,283 @@ namespace Clutter {
                public Clutter.SnapEdge to_edge { get; set construct; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_get_type ()")]
+       [Version (since = "0.1")]
        public class Stage : Clutter.Group, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
+               [Version (since = "0.8")]
                public Stage ();
                [CCode (cname = "clutter_stage_event")]
+               [Version (since = "0.4")]
                public bool emit_event (Clutter.Event event);
+               [Version (since = "0.8")]
                public void ensure_current ();
+               [Version (since = "1.0")]
                public void ensure_redraw ();
+               [Version (since = "1.0")]
                public void ensure_viewport ();
+               [Version (since = "1.6")]
                public bool get_accept_focus ();
                public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, int x, int y);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public Clutter.Color get_color ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public static unowned Clutter.Stage get_default ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public Clutter.Fog get_fog ();
+               [Version (since = "1.0")]
                public bool get_fullscreen ();
+               [Version (since = "0.6")]
                public unowned Clutter.Actor get_key_focus ();
+               [Version (since = "1.2")]
                public void get_minimum_size (out uint width, out uint height);
+               [Version (since = "1.8")]
                public bool get_motion_events_enabled ();
+               [Version (since = "1.4")]
                public bool get_no_clear_hint ();
                public Clutter.Perspective get_perspective ();
+               [Version (since = "1.8")]
                public Cairo.RectangleInt get_redraw_clip_bounds ();
+               [Version (since = "1.0")]
                public bool get_throttle_motion_events ();
+               [Version (since = "0.4")]
                public unowned string get_title ();
+               [Version (since = "1.2")]
                public bool get_use_alpha ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public bool get_use_fog ();
+               [Version (since = "0.4")]
                public bool get_user_resizable ();
+               [Version (since = "0.4")]
                public void hide_cursor ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
                public bool is_default ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
                public void queue_redraw ();
                [CCode (array_length = false)]
                public uint8[] read_pixels (int x, int y, int width = -1, int height = -1);
                [CCode (cname = "clutter_redraw")]
                public void redraw ();
+               [Version (since = "1.6")]
                public void set_accept_focus (bool accept_focus);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void set_color (Clutter.Color color);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public void set_fog (Clutter.Fog fog);
+               [Version (since = "1.0")]
                public void set_fullscreen (bool fullscreen);
+               [Version (since = "0.6")]
                public void set_key_focus (Clutter.Actor? actor);
+               [Version (since = "1.2")]
                public void set_minimum_size (uint width, uint height);
+               [Version (since = "1.8")]
                public void set_motion_events_enabled (bool enabled);
+               [Version (since = "1.4")]
                public void set_no_clear_hint (bool no_clear);
                public void set_perspective (Clutter.Perspective perspective);
+               [Version (since = "1.0")]
                public void set_throttle_motion_events (bool throttle);
+               [Version (since = "0.4")]
                public void set_title (string title);
+               [Version (since = "1.2")]
                public void set_use_alpha (bool use_alpha);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public void set_use_fog (bool fog);
+               [Version (since = "0.4")]
                public void set_user_resizable (bool resizable);
                public void show_cursor ();
+               [Version (since = "1.6")]
                public bool accept_focus { get; set; }
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public Clutter.Color color { get; set; }
                [NoAccessorMethod]
                public bool cursor_visible { get; set; }
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
                public Clutter.Fog fog { get; set; }
                [NoAccessorMethod]
                public bool fullscreen_set { get; }
+               [Version (since = "1.2")]
                public Clutter.Actor key_focus { get; set; }
+               [Version (since = "1.4")]
                public bool no_clear_hint { get; set; }
-               [Deprecated (since = "1.10")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public bool offscreen { get; set; }
+               [Version (since = "0.8.2")]
                public Clutter.Perspective perspective { get; set; }
+               [Version (since = "0.4")]
                public string title { get; set; }
+               [Version (since = "1.2")]
                public bool use_alpha { get; set; }
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public bool use_fog { get; set; }
+               [Version (since = "0.4")]
                public bool user_resizable { get; set; }
+               [Version (since = "0.6")]
                public virtual signal void activate ();
+               [Version (since = "1.20")]
                public signal void after_paint ();
+               [Version (since = "0.6")]
                public virtual signal void deactivate ();
+               [Version (since = "1.2")]
                public virtual signal bool delete_event (Clutter.Event event);
+               [Version (since = "0.6")]
                public virtual signal void fullscreen ();
+               [Version (since = "0.6")]
                public virtual signal void unfullscreen ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_manager_get_type ()")]
+       [Version (since = "1.0")]
        public class StageManager : GLib.Object {
                [CCode (has_construct_function = false)]
                protected StageManager ();
+               [Version (since = "0.8")]
                public static unowned Clutter.StageManager get_default ();
+               [Version (since = "0.8")]
                public unowned Clutter.Stage get_default_stage ();
+               [Version (since = "0.8")]
                public GLib.SList<weak Clutter.Stage> list_stages ();
                public unowned GLib.SList<Clutter.Stage> peek_stages ();
-               [Deprecated (since = "1.2")]
+               [Version (deprecated = true, deprecated_since = "1.2", since = "0.8")]
                public void set_default_stage (Clutter.Stage stage);
+               [Version (since = "0.8")]
                public Clutter.Stage default_stage { get; }
+               [Version (since = "0.8")]
                public virtual signal void stage_added (Clutter.Stage stage);
+               [Version (since = "0.8")]
                public virtual signal void stage_removed (Clutter.Stage stage);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_state_get_type ()")]
+       [Version (since = "1.4")]
        public class State : GLib.Object, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public State ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned Clutter.Animator get_animator (string source_state_name, string 
target_state_name);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public uint get_duration (string? source_state_name, string? target_state_name);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public GLib.List<weak Clutter.StateKey> get_keys (string? source_state_name, string? 
target_state_name, GLib.Object? object, string? property_name);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned string get_state ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public GLib.List<weak string> get_states ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned Clutter.Timeline get_timeline ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void remove_key (string? source_state_name, string? target_state_name, GLib.Object? 
object, string? property_name);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_animator (string source_state_name, string target_state_name, 
Clutter.Animator? animator);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_duration (string? source_state_name, string? target_state_name, uint 
duration);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned Clutter.State set_key (string? source_state_name, string target_state_name, 
GLib.Object object, string property_name, uint mode, GLib.Value value, double pre_delay, double post_delay);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned Clutter.Timeline set_state (string target_state_name);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned Clutter.Timeline warp_to_state (string target_state_name);
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public uint duration { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public string state { owned get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public virtual signal void completed ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "clutter_state_key_get_type ()")]
        [Compact]
+       [Version (since = "1.4")]
        public class StateKey {
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public ulong get_mode ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned GLib.Object get_object ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public double get_post_delay ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public double get_pre_delay ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned string get_property_name ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public GLib.Type get_property_type ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned string get_source_state_name ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public unowned string get_target_state_name ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public bool get_value (GLib.Value value);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_swipe_action_get_type ()")]
+       [Version (since = "1.8")]
        public class SwipeAction : Clutter.GestureAction {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public SwipeAction ();
-               [Deprecated (since = "1.14")]
+               [Version (deprecated = true, deprecated_since = "1.14", since = "1.8")]
                public virtual signal void swept (Clutter.Actor actor, Clutter.SwipeDirection direction);
+               [Version (since = "1.14")]
                public virtual signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_table_layout_get_type ()")]
-       [Deprecated (since = "1.18")]
+       [Version (deprecated = true, deprecated_since = "1.18", since = "1.4")]
        public class TableLayout : Clutter.LayoutManager {
                [CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
                public TableLayout ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void get_alignment (Clutter.Actor actor, out Clutter.TableAlignment x_align, out 
Clutter.TableAlignment y_align);
                public int get_column_count ();
                public uint get_column_spacing ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public uint get_easing_duration ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public ulong get_easing_mode ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void get_expand (Clutter.Actor actor, out bool x_expand, out bool y_expand);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void get_fill (Clutter.Actor actor, out bool x_fill, out bool y_fill);
                public int get_row_count ();
                public uint get_row_spacing ();
                public void get_span (Clutter.Actor actor, out int column_span, out int row_span);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public bool get_use_animations ();
                public void pack (Clutter.Actor actor, int column, int row);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_alignment (Clutter.Actor actor, Clutter.TableAlignment x_align, 
Clutter.TableAlignment y_align);
                public void set_column_spacing (uint spacing);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_easing_duration (uint msecs);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_easing_mode (ulong mode);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_expand (Clutter.Actor actor, bool x_expand, bool y_expand);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_fill (Clutter.Actor actor, bool x_fill, bool y_fill);
                public void set_row_spacing (uint spacing);
                public void set_span (Clutter.Actor actor, int column_span, int row_span);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_use_animations (bool animate);
                public uint column_spacing { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public uint easing_duration { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public ulong easing_mode { get; set; }
                public uint row_spacing { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public bool use_animations { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_tap_action_get_type ()")]
+       [Version (since = "1.14")]
        public class TapAction : Clutter.GestureAction {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public TapAction ();
                public virtual signal void tap (Clutter.Actor actor);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_get_type ()")]
+       [Version (since = "1.0")]
        public class Text : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Text ();
+               [Version (since = "1.10")]
                public int coords_to_position (float x, float y);
                public void delete_chars (uint n_chars);
                public bool delete_selection ();
@@ -6788,20 +7388,25 @@ namespace Clutter {
                public Text.full (string font_name, string text, Clutter.Color color);
                public bool get_activatable ();
                public unowned Pango.AttrList get_attributes ();
+               [Version (since = "1.10")]
                public unowned Clutter.TextBuffer get_buffer ();
                public string get_chars (ssize_t start_pos, ssize_t end_pos);
                public Clutter.Color get_color ();
                public Clutter.Color get_cursor_color ();
                public int get_cursor_position ();
+               [Version (since = "1.16")]
                public void get_cursor_rect (out unowned Clutter.Rect rect);
                public uint get_cursor_size ();
                public bool get_cursor_visible ();
                public bool get_editable ();
                public Pango.EllipsizeMode get_ellipsize ();
+               [Version (since = "1.2")]
                public Pango.FontDescription get_font_description ();
                public unowned string get_font_name ();
+               [Version (since = "0.6")]
                public bool get_justify ();
                public unowned Pango.Layout get_layout ();
+               [Version (since = "1.8")]
                public void get_layout_offsets (out int x, out int y);
                public Pango.Alignment get_line_alignment ();
                public bool get_line_wrap ();
@@ -6809,6 +7414,7 @@ namespace Clutter {
                public int get_max_length ();
                public unichar get_password_char ();
                public bool get_selectable ();
+               [Version (since = "1.8")]
                public Clutter.Color get_selected_text_color ();
                public string get_selection ();
                public int get_selection_bound ();
@@ -6821,6 +7427,7 @@ namespace Clutter {
                public bool position_to_coords (int position, out float x, out float y, out float line_height 
= null);
                public void set_activatable (bool activatable);
                public void set_attributes (Pango.AttrList? attrs);
+               [Version (since = "1.10")]
                public void set_buffer (Clutter.TextBuffer buffer);
                public void set_color (Clutter.Color color);
                public void set_cursor_color (Clutter.Color? color);
@@ -6829,6 +7436,7 @@ namespace Clutter {
                public void set_cursor_visible (bool cursor_visible);
                public void set_editable (bool editable);
                public void set_ellipsize (Pango.EllipsizeMode mode);
+               [Version (since = "1.2")]
                public void set_font_description (Pango.FontDescription font_desc);
                public void set_font_name (string? font_name);
                public void set_justify (bool justify);
@@ -6838,8 +7446,10 @@ namespace Clutter {
                public void set_markup (string? markup);
                public void set_max_length (int max);
                public void set_password_char (unichar wc);
+               [Version (since = "1.2")]
                public void set_preedit_string (string? preedit_str, Pango.AttrList? preedit_attrs, uint 
cursor_pos);
                public void set_selectable (bool selectable);
+               [Version (since = "1.8")]
                public void set_selected_text_color (Clutter.Color? color);
                public void set_selection (ssize_t start_pos, ssize_t end_pos);
                public void set_selection_bound (int selection_bound);
@@ -6850,21 +7460,25 @@ namespace Clutter {
                [CCode (cname = "clutter_text_activate")]
                public bool try_activate ();
                [CCode (has_construct_function = false, type = "ClutterActor*")]
+               [Version (since = "1.10")]
                public Text.with_buffer (Clutter.TextBuffer buffer);
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Text.with_text (string? font_name, string text);
                public bool activatable { get; set; }
                public Pango.AttrList attributes { get; set; }
+               [Version (since = "1.8")]
                public Clutter.TextBuffer buffer { get; set; }
                public Clutter.Color color { get; set; }
                public Clutter.Color cursor_color { get; set; }
                [NoAccessorMethod]
                public bool cursor_color_set { get; }
+               [Version (since = "1.12")]
                public int cursor_position { get; set; }
                public int cursor_size { get; set; }
                public bool cursor_visible { get; set; }
                public bool editable { get; set; }
                public Pango.EllipsizeMode ellipsize { get; set; }
+               [Version (since = "1.2")]
                public Pango.FontDescription font_description { owned get; set; }
                public string font_name { get; set; }
                public bool justify { get; set; }
@@ -6873,12 +7487,14 @@ namespace Clutter {
                public Pango.WrapMode line_wrap_mode { get; set; }
                public int max_length { get; set; }
                public uint password_char { get; set; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public int position { get; set; }
                public bool selectable { get; set; }
+               [Version (since = "1.8")]
                public Clutter.Color selected_text_color { get; set; }
                [NoAccessorMethod]
+               [Version (since = "1.8")]
                public bool selected_text_color_set { get; }
                public int selection_bound { get; set; }
                public Clutter.Color selection_color { get; set; }
@@ -6888,14 +7504,17 @@ namespace Clutter {
                public string text { get; set; }
                public bool use_markup { get; set; }
                public virtual signal void activate ();
+               [Version (since = "1.16")]
                public virtual signal void cursor_changed ();
-               [Deprecated (since = "1.16")]
+               [Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
                public virtual signal void cursor_event (Clutter.Geometry geometry);
                [HasEmitter]
+               [Version (since = "1.2")]
                public signal void delete_text (int start_pos, int end_pos);
                public virtual signal void text_changed ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_buffer_get_type ()")]
+       [Version (since = "1.10")]
        public class TextBuffer : GLib.Object {
                [CCode (has_construct_function = false)]
                public TextBuffer ();
@@ -6921,83 +7540,85 @@ namespace Clutter {
                public virtual signal void inserted_text (uint position, string chars, uint n_chars);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_node_get_type ()")]
+       [Version (since = "1.10")]
        public class TextNode : Clutter.PaintNode {
                [CCode (has_construct_function = false, type = "ClutterPaintNode*")]
                public TextNode (Pango.Layout? layout, Clutter.Color? color);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_get_type ()")]
+       [Version (since = "0.1")]
        public class Texture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable, 
Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public Texture ();
                [CCode (has_construct_function = false, type = "ClutterActor*")]
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
                public Texture.from_actor (Clutter.Actor actor);
                [CCode (has_construct_function = false, type = "ClutterActor*")]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public Texture.from_file (string filename) throws Clutter.TextureError;
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public void get_base_size (out int width, out int height);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public unowned Cogl.Handle get_cogl_material ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public unowned Cogl.Handle get_cogl_texture ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public Clutter.TextureQuality get_filter_quality ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public bool get_keep_aspect_ratio ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public bool get_load_async ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public bool get_load_data_async ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public int get_max_tile_waste ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public bool get_pick_with_alpha ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public Cogl.PixelFormat get_pixel_format ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void get_repeat (out bool repeat_x, out bool repeat_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public bool get_sync_size ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
                public bool set_area_from_rgb_data ([CCode (array_length = false)] uint8[] data, bool 
has_alpha, int x, int y, int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws 
GLib.Error;
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public void set_cogl_material (Cogl.Handle cogl_material);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public void set_cogl_texture (Cogl.Handle cogl_tex);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public void set_filter_quality (Clutter.TextureQuality filter_quality);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
                public bool set_from_file (string filename) throws GLib.Error;
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.4")]
                public bool set_from_rgb_data ([CCode (array_length = false)] uint8[] data, bool has_alpha, 
int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws GLib.Error;
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public bool set_from_yuv_data ([CCode (array_length = false)] uint8[] data, int width, int 
height, Clutter.TextureFlags flags) throws GLib.Error;
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_keep_aspect_ratio (bool keep_aspect);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_load_async (bool load_async);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_load_data_async (bool load_async);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
                public void set_pick_with_alpha (bool pick_with_alpha);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_repeat (bool repeat_x, bool repeat_y);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_sync_size (bool sync_size);
                public Cogl.Material cogl_material { get; set; }
                public Cogl.Texture cogl_texture { get; set; }
                [NoAccessorMethod]
                public bool disable_slicing { get; construct; }
-               [Deprecated (since = "1.12")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public string filename { owned get; set; }
                public Clutter.TextureQuality filter_quality { get; set construct; }
                public bool keep_aspect_ratio { get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public bool load_async { set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public bool load_data_async { set; }
                public bool pick_with_alpha { get; set; }
                public Cogl.PixelFormat pixel_format { get; }
@@ -7008,89 +7629,130 @@ namespace Clutter {
                public bool sync_size { get; set; }
                [NoAccessorMethod]
                public int tile_waste { get; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public virtual signal void load_finished (GLib.Error error);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public virtual signal void pixbuf_change ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12")]
                public virtual signal void size_change (int width, int height);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_node_get_type ()")]
+       [Version (since = "1.10")]
        public class TextureNode : Clutter.PipelineNode {
                [CCode (has_construct_function = false, type = "ClutterPaintNode*")]
                public TextureNode (Cogl.Texture texture, Clutter.Color? color, Clutter.ScalingFilter 
min_filter, Clutter.ScalingFilter mag_filter);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_timeline_get_type ()")]
+       [Version (since = "0.2")]
        public class Timeline : GLib.Object, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.6")]
                public Timeline (uint msecs);
+               [Version (since = "1.14")]
                public void add_marker (string marker_name, double progress);
+               [Version (since = "0.8")]
                public void add_marker_at_time (string marker_name, uint msecs);
                public void advance (uint msecs);
+               [Version (since = "0.8")]
                public void advance_to_marker (string marker_name);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public Clutter.Timeline clone ();
+               [Version (since = "1.6")]
                public bool get_auto_reverse ();
+               [Version (since = "1.12")]
                public bool get_cubic_bezier_progress (Clutter.Point c_1, Clutter.Point c_2);
+               [Version (since = "1.10")]
                public int get_current_repeat ();
+               [Version (since = "0.4")]
                public uint get_delay ();
+               [Version (since = "0.6")]
                public uint get_delta ();
+               [Version (since = "0.6")]
                public Clutter.TimelineDirection get_direction ();
+               [Version (since = "0.6")]
                public uint get_duration ();
+               [Version (since = "1.10")]
                public int64 get_duration_hint ();
                public uint get_elapsed_time ();
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public bool get_loop ();
+               [Version (since = "0.6")]
                public double get_progress ();
+               [Version (since = "1.10")]
                public Clutter.AnimationMode get_progress_mode ();
+               [Version (since = "1.10")]
                public int get_repeat_count ();
+               [Version (since = "1.12")]
                public bool get_step_progress (out int n_steps, out Clutter.StepMode step_mode);
+               [Version (since = "0.8")]
                public bool has_marker (string marker_name);
                public bool is_playing ();
                [CCode (array_length_pos = 1.1, array_length_type = "gsize", array_null_terminated = true)]
+               [Version (since = "0.8")]
                public string[] list_markers (int msecs);
                public void pause ();
+               [Version (since = "0.8")]
                public void remove_marker (string marker_name);
                public void rewind ();
+               [Version (since = "1.6")]
                public void set_auto_reverse (bool reverse);
+               [Version (since = "1.12")]
                public void set_cubic_bezier_progress (Clutter.Point c_1, Clutter.Point c_2);
+               [Version (since = "0.4")]
                public void set_delay (uint msecs);
+               [Version (since = "0.6")]
                public void set_direction (Clutter.TimelineDirection direction);
+               [Version (since = "0.6")]
                public void set_duration (uint msecs);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public void set_loop (bool loop);
+               [Version (since = "1.10")]
                public void set_progress_func (owned Clutter.TimelineProgressFunc? func);
+               [Version (since = "1.10")]
                public void set_progress_mode (Clutter.AnimationMode mode);
+               [Version (since = "1.10")]
                public void set_repeat_count (int count);
+               [Version (since = "1.12")]
                public void set_step_progress (int n_steps, Clutter.StepMode step_mode);
                public void skip (uint msecs);
                public void start ();
                public void stop ();
+               [Version (since = "1.6")]
                public bool auto_reverse { get; set; }
+               [Version (since = "0.4")]
                public uint delay { get; set; }
+               [Version (since = "0.6")]
                public Clutter.TimelineDirection direction { get; set; }
+               [Version (since = "0.6")]
                public uint duration { get; set; }
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10")]
                public bool loop { get; set; }
+               [Version (since = "1.10")]
                public Clutter.AnimationMode progress_mode { get; set; }
+               [Version (since = "1.10")]
                public int repeat_count { get; set; }
                public virtual signal void completed ();
+               [Version (since = "0.8")]
                public virtual signal void marker_reached (string marker_name, int msecs);
                public virtual signal void new_frame (int msecs);
                public virtual signal void paused ();
                public virtual signal void started ();
+               [Version (since = "1.12")]
                public virtual signal void stopped (bool is_finished);
        }
        [CCode (cheader_filename = "clutter/clutter.h")]
        [Compact]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.6")]
        public class TimeoutPool {
                [CCode (has_construct_function = false)]
                public TimeoutPool (int priority);
+               [Version (since = "0.4")]
                public uint add (uint fps, owned GLib.SourceFunc func);
+               [Version (since = "0.4")]
                public void remove (uint id_);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transition_get_type ()")]
+       [Version (since = "1.10")]
        public abstract class Transition : Clutter.Timeline, Clutter.Scriptable {
                [CCode (has_construct_function = false)]
                protected Transition ();
@@ -7104,15 +7766,18 @@ namespace Clutter {
                public unowned Clutter.Interval get_interval ();
                public bool get_remove_on_complete ();
                public void set_animatable (Clutter.Animatable? animatable);
+               [Version (since = "1.12")]
                public void set_from_value (GLib.Value value);
                public void set_interval (Clutter.Interval? interval);
                public void set_remove_on_complete (bool remove_complete);
+               [Version (since = "1.12")]
                public void set_to_value (GLib.Value value);
                public Clutter.Animatable animatable { get; set; }
                public Clutter.Interval interval { get; set; }
                public bool remove_on_complete { get; set; }
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transition_group_get_type ()")]
+       [Version (since = "1.12")]
        public class TransitionGroup : Clutter.Transition, Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterTransition*")]
                public TransitionGroup ();
@@ -7121,6 +7786,7 @@ namespace Clutter {
                public void remove_transition (Clutter.Transition transition);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_zoom_action_get_type ()")]
+       [Version (since = "1.12")]
        public class ZoomAction : Clutter.GestureAction {
                [CCode (has_construct_function = false, type = "ClutterAction*")]
                public ZoomAction ();
@@ -7132,64 +7798,82 @@ namespace Clutter {
                public virtual signal bool zoom (Clutter.Actor actor, Clutter.Point focal_point, double 
factor);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_animatable_get_type ()")]
+       [Version (since = "1.0")]
        public interface Animatable : GLib.Object {
-               [Deprecated (since = "1.8")]
+               [Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
                public abstract bool animate_property (Clutter.Animation animation, string property_name, 
GLib.Value initial_value, GLib.Value final_value, double progress, GLib.Value value);
+               [Version (since = "1.4")]
                public abstract unowned GLib.ParamSpec find_property (string property_name);
+               [Version (since = "1.4")]
                public abstract void get_initial_state (string property_name, GLib.Value value);
+               [Version (since = "1.8")]
                public abstract bool interpolate_value (string property_name, Clutter.Interval interval, 
double progress, out GLib.Value value);
+               [Version (since = "1.4")]
                public abstract void set_final_state (string property_name, GLib.Value value);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_container_get_type ()")]
+       [Version (since = "0.4")]
        public interface Container : GLib.Object {
                public void add (params Clutter.Actor[] actors);
                [CCode (vfunc_name = "add")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public abstract void add_actor (Clutter.Actor actor);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public void add_valist (Clutter.Actor first_actor, va_list var_args);
+               [Version (since = "0.8")]
                public void child_get (Clutter.Actor actor, ...);
+               [Version (since = "0.8")]
                public void child_get_property (Clutter.Actor child, string property, GLib.Value value);
+               [Version (since = "0.8")]
                public void child_set (Clutter.Actor actor, ...);
+               [Version (since = "0.8")]
                public void child_set_property (Clutter.Actor child, string property, GLib.Value value);
+               [Version (since = "0.8")]
                public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass klass, 
string property_name);
                [CCode (array_length_pos = 1.1, array_length_type = "guint")]
+               [Version (since = "0.8")]
                public static GLib.ParamSpec[] class_list_child_properties (GLib.ObjectClass klass);
+               [Version (since = "1.2")]
                public virtual void create_child_meta (Clutter.Actor actor);
+               [Version (since = "1.2")]
                public virtual void destroy_child_meta (Clutter.Actor actor);
+               [Version (since = "0.6")]
                public unowned Clutter.Actor find_child_by_name (string child_name);
                [CCode (cname = "clutter_container_class_find_child_property")]
                public class unowned GLib.ParamSpec find_child_property (string property_name);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public abstract void @foreach (Clutter.Callback callback);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
                public virtual void foreach_with_internals (Clutter.Callback callback);
+               [Version (since = "0.8")]
                public virtual unowned Clutter.ChildMeta get_child_meta (Clutter.Actor actor);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public GLib.List<weak Clutter.Actor> get_children ();
                [CCode (cname = "clutter_container_class_list_child_properties")]
                public class unowned GLib.ParamSpec[] list_child_properties ();
                [CCode (vfunc_name = "lower")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public virtual void lower_child (Clutter.Actor actor, Clutter.Actor? sibling = null);
                [CCode (vfunc_name = "raise")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public virtual void raise_child (Clutter.Actor actor, Clutter.Actor? sibling = null);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public void remove (...);
                [CCode (vfunc_name = "remove")]
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public abstract void remove_actor (Clutter.Actor actor);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
                public void remove_valist (Clutter.Actor first_actor, va_list var_args);
-               [Deprecated (since = "1.10")]
+               [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
                public abstract void sort_depth_order ();
                public virtual signal void actor_added (Clutter.Actor actor);
                public virtual signal void actor_removed (Clutter.Actor actor);
                [HasEmitter]
+               [Version (since = "0.8")]
                public virtual signal void child_notify (Clutter.Actor child, GLib.ParamSpec pspec);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_content_get_type ()")]
+       [Version (since = "1.10")]
        public interface Content : GLib.Object {
                public abstract bool get_preferred_size (out float width, out float height);
                public abstract void invalidate ();
@@ -7199,72 +7883,74 @@ namespace Clutter {
                public virtual signal void detached (Clutter.Actor actor);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_media_get_type ()")]
+       [Version (since = "0.2")]
        public interface Media : GLib.Object {
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public double get_audio_volume ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public double get_buffer_fill ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public bool get_can_seek ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public double get_duration ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public bool get_playing ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public double get_progress ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public string get_subtitle_font_name ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public string get_subtitle_uri ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public string get_uri ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_audio_volume (double volume);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public void set_filename (string filename);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public void set_playing (bool playing);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public void set_progress (double progress);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_subtitle_font_name (string font_name);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public void set_subtitle_uri (string uri);
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public void set_uri (string uri);
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public abstract double audio_volume { get; set; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public abstract double buffer_fill { get; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public abstract bool can_seek { get; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public abstract double duration { get; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public abstract bool playing { get; set; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
                public abstract double progress { get; set; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public abstract string subtitle_font_name { owned get; set; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
                public abstract string subtitle_uri { owned get; set; }
                [ConcreteAccessor]
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public abstract string uri { owned get; set; }
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public virtual signal void eos ();
-               [Deprecated (since = "1.12")]
+               [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
                public virtual signal void error (GLib.Error error);
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_scriptable_get_type ()")]
+       [Version (since = "0.6")]
        public interface Scriptable : GLib.Object {
                public abstract unowned string get_id ();
                public abstract bool parse_custom_node (Clutter.Script script, GLib.Value value, string name, 
Json.Node node);
@@ -7310,38 +7996,60 @@ namespace Clutter {
                public float y1;
                public float x2;
                public float y2;
+               [Version (since = "1.12")]
                public static Clutter.ActorBox? alloc ();
+               [Version (since = "1.2")]
                public void clamp_to_pixel ();
+               [Version (since = "1.0")]
                public bool contains (float x, float y);
+               [Version (since = "1.0")]
                public Clutter.ActorBox? copy ();
+               [Version (since = "1.0")]
                public bool equal (Clutter.ActorBox box_b);
+               [Version (since = "1.0")]
                public void free ();
                [CCode (cname = "clutter_actor_box_from_vertices")]
                public ActorBox.from_vertices (Clutter.Vertex[] verts);
+               [Version (since = "1.0")]
                public float get_area ();
+               [Version (since = "1.0")]
                public float get_height ();
+               [Version (since = "1.0")]
                public void get_origin (out float x, out float y);
+               [Version (since = "1.0")]
                public void get_size (out float width, out float height);
+               [Version (since = "1.0")]
                public float get_width ();
+               [Version (since = "1.0")]
                public float get_x ();
+               [Version (since = "1.0")]
                public float get_y ();
+               [Version (since = "1.10")]
                public unowned Clutter.ActorBox? init (float x_1, float y_1, float x_2, float y_2);
+               [Version (since = "1.10")]
                public void init_rect (float x, float y, float width, float height);
+               [Version (since = "1.2")]
                public Clutter.ActorBox interpolate (Clutter.ActorBox final, double progress);
+               [Version (since = "1.6")]
                public void set_origin (float x, float y);
+               [Version (since = "1.6")]
                public void set_size (float width, float height);
+               [Version (since = "1.4")]
                public Clutter.ActorBox union (Clutter.ActorBox b);
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "1.10")]
        public struct ActorIter {
                public void destroy ();
                public void init (Clutter.Actor root);
+               [Version (since = "1.12")]
                public bool is_valid ();
                public bool next (out unowned Clutter.Actor child);
                public bool prev (out unowned Clutter.Actor child);
                public void remove ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "0.2")]
        public struct AnyEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7350,6 +8058,7 @@ namespace Clutter {
                public weak Clutter.Actor source;
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "0.2")]
        public struct ButtonEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7371,10 +8080,14 @@ namespace Clutter {
                public uint8 blue;
                public uint8 alpha;
                public Clutter.Color add (Clutter.Color b);
+               [Version (since = "1.12")]
                public static Clutter.Color? alloc ();
+               [Version (since = "0.2")]
                public Clutter.Color? copy ();
                public Clutter.Color darken ();
+               [Version (since = "0.2")]
                public bool equal (Clutter.Color v2);
+               [Version (since = "0.2")]
                public void free ();
                [CCode (cname = "clutter_color_from_hls")]
                public Color.from_hls (float hue, float luminance, float saturation);
@@ -7382,9 +8095,13 @@ namespace Clutter {
                public Color.from_pixel (uint32 pixel);
                [CCode (cname = "clutter_color_from_string")]
                public Color.from_string (string str);
+               [Version (since = "1.6")]
                public static unowned Clutter.Color? get_static (Clutter.StaticColor color);
+               [Version (since = "1.0")]
                public uint hash ();
+               [Version (since = "1.12")]
                public unowned Clutter.Color? init (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+               [Version (since = "1.6")]
                public Clutter.Color interpolate (Clutter.Color final, double progress);
                public Clutter.Color lighten ();
                [CCode (cname = "clutter_color_from_string")]
@@ -7393,9 +8110,11 @@ namespace Clutter {
                public Clutter.Color subtract (Clutter.Color b);
                public void to_hls (out float hue, out float luminance, out float saturation);
                public uint32 to_pixel ();
+               [Version (since = "0.2")]
                public string to_string ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "0.2")]
        public struct CrossingEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7408,22 +8127,25 @@ namespace Clutter {
                public weak Clutter.Actor related;
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_fog_get_type ()")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
        public struct Fog {
                public float z_near;
                public float z_far;
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_geometry_get_type ()")]
-       [Deprecated (since = "1.16")]
+       [Version (deprecated = true, deprecated_since = "1.16")]
        public struct Geometry {
                public int x;
                public int y;
                public uint width;
                public uint height;
+               [Version (since = "1.4")]
                public bool intersects (Clutter.Geometry geometry1);
+               [Version (since = "1.4")]
                public Clutter.Geometry union (Clutter.Geometry geometry_b);
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "0.2")]
        public struct KeyEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7437,6 +8159,7 @@ namespace Clutter {
                public weak Clutter.InputDevice device;
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_knot_get_type ()")]
+       [Version (since = "0.2")]
        public struct Knot {
                public int x;
                public int y;
@@ -7446,14 +8169,20 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h")]
        public struct Matrix : Cogl.Matrix {
+               [Version (since = "1.12")]
                public static Clutter.Matrix? alloc ();
+               [Version (since = "1.12")]
                public static void free (Clutter.Matrix? matrix);
                public static GLib.Type get_type ();
+               [Version (since = "1.12")]
                public static unowned Clutter.Matrix? init_from_array (Clutter.Matrix matrix, [CCode 
(array_length = false)] float[] values);
+               [Version (since = "1.12")]
                public static unowned Clutter.Matrix? init_from_matrix (Clutter.Matrix a, Clutter.Matrix b);
+               [Version (since = "1.12")]
                public static unowned Clutter.Matrix? init_identity (Clutter.Matrix matrix);
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "0.2")]
        public struct MotionEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7467,6 +8196,7 @@ namespace Clutter {
                public weak Clutter.InputDevice device;
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_path_node_get_type ()")]
+       [Version (since = "1.0")]
        public struct PathNode {
                public Clutter.PathNodeType type;
                [CCode (array_length = false, array_null_terminated = true)]
@@ -7476,6 +8206,7 @@ namespace Clutter {
                public void free ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_perspective_get_type ()")]
+       [Version (since = "0.4")]
        public struct Perspective {
                public float fovy;
                public float aspect;
@@ -7483,6 +8214,7 @@ namespace Clutter {
                public float z_far;
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "0.2")]
        public struct ScrollEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7497,6 +8229,7 @@ namespace Clutter {
                public weak Clutter.InputDevice device;
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "0.2")]
        public struct StageStateEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7507,6 +8240,7 @@ namespace Clutter {
                public Clutter.StageState new_state;
        }
        [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+       [Version (since = "1.10")]
        public struct TouchEvent {
                public Clutter.EventType type;
                public uint32 time;
@@ -7521,6 +8255,7 @@ namespace Clutter {
                public weak Clutter.InputDevice device;
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_UNITS")]
+       [Version (since = "1.0")]
        public struct Units {
                public Clutter.Units? copy ();
                public void free ();
@@ -7544,17 +8279,24 @@ namespace Clutter {
                public string to_string ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_vertex_get_type ()")]
+       [Version (since = "0.4")]
        public struct Vertex {
                public float x;
                public float y;
                public float z;
+               [Version (since = "1.12")]
                public static Clutter.Vertex? alloc ();
+               [Version (since = "1.0")]
                public Clutter.Vertex? copy ();
+               [Version (since = "1.0")]
                public bool equal (Clutter.Vertex vertex_b);
+               [Version (since = "1.0")]
                public void free ();
+               [Version (since = "1.10")]
                public unowned Clutter.Vertex? init (float x, float y, float z);
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_ALIGN_", type_id = 
"clutter_actor_align_get_type ()")]
+       [Version (since = "1.10")]
        public enum ActorAlign {
                FILL,
                START,
@@ -7571,6 +8313,7 @@ namespace Clutter {
                NO_LAYOUT
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ALIGN_", type_id = 
"clutter_align_axis_get_type ()")]
+       [Version (since = "1.4")]
        public enum AlignAxis {
                X_AXIS,
                Y_AXIS,
@@ -7578,12 +8321,14 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = 
"clutter_allocation_flags_get_type ()")]
        [Flags]
+       [Version (since = "1.0")]
        public enum AllocationFlags {
                ALLOCATION_NONE,
                ABSOLUTE_ORIGIN_CHANGED,
                DELEGATE_LAYOUT
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = 
"clutter_animation_mode_get_type ()")]
+       [Version (since = "1.0")]
        public enum AnimationMode {
                CUSTOM_MODE,
                LINEAR,
@@ -7628,18 +8373,20 @@ namespace Clutter {
                ANIMATION_LAST
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BIN_ALIGNMENT_", type_id = 
"clutter_bin_alignment_get_type ()")]
+       [Version (since = "1.2")]
        public enum BinAlignment {
-               [Deprecated]
+               [Version (deprecated = true)]
                FIXED,
-               [Deprecated]
+               [Version (deprecated = true)]
                FILL,
                START,
-               [Deprecated]
+               [Version (deprecated = true)]
                END,
-               [Deprecated]
+               [Version (deprecated = true)]
                CENTER
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BIND_", type_id = 
"clutter_bind_coordinate_get_type ()")]
+       [Version (since = "1.4")]
        public enum BindCoordinate {
                X,
                Y,
@@ -7650,12 +8397,14 @@ namespace Clutter {
                ALL
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BOX_ALIGNMENT_", type_id = 
"clutter_box_alignment_get_type ()")]
+       [Version (since = "1.2")]
        public enum BoxAlignment {
                START,
                END,
                CENTER
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_CONTENT_GRAVITY_", type_id = 
"clutter_content_gravity_get_type ()")]
+       [Version (since = "1.10")]
        public enum ContentGravity {
                TOP_LEFT,
                TOP,
@@ -7671,6 +8420,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REPEAT_", type_id = 
"clutter_content_repeat_get_type ()")]
        [Flags]
+       [Version (since = "1.12")]
        public enum ContentRepeat {
                NONE,
                X_AXIS,
@@ -7678,6 +8428,7 @@ namespace Clutter {
                BOTH
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DRAG_", type_id = 
"clutter_drag_axis_get_type ()")]
+       [Version (since = "1.4")]
        public enum DragAxis {
                AXIS_NONE,
                X_AXIS,
@@ -7691,11 +8442,13 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EVENT_", type_id = 
"clutter_event_flags_get_type ()")]
        [Flags]
+       [Version (since = "0.6")]
        public enum EventFlags {
                NONE,
                FLAG_SYNTHETIC
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = 
"clutter_event_type_get_type ()")]
+       [Version (since = "0.4")]
        public enum EventType {
                NOTHING,
                KEY_PRESS,
@@ -7718,6 +8471,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FEATURE_")]
        [Flags]
+       [Version (since = "0.4")]
        public enum FeatureFlags {
                TEXTURE_NPOT,
                SYNC_TO_VBLANK,
@@ -7736,23 +8490,27 @@ namespace Clutter {
                public static Clutter.FeatureFlags @get ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FLOW_", type_id = 
"clutter_flow_orientation_get_type ()")]
+       [Version (since = "1.2")]
        public enum FlowOrientation {
                HORIZONTAL,
                VERTICAL
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FONT_", type_id = 
"clutter_font_flags_get_type ()")]
        [Flags]
+       [Version (since = "1.0")]
        public enum FontFlags {
                MIPMAPPING,
                HINTING
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GESTURE_TRIGGER_EDGE_", type_id = 
"clutter_gesture_trigger_edge_get_type ()")]
+       [Version (since = "1.18")]
        public enum GestureTriggerEdge {
                NONE,
                AFTER,
                BEFORE
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRAVITY_", type_id = 
"clutter_gravity_get_type ()")]
+       [Version (since = "0.2")]
        public enum Gravity {
                NONE,
                NORTH,
@@ -7766,6 +8524,7 @@ namespace Clutter {
                CENTER
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRID_POSITION_", type_id = 
"clutter_grid_position_get_type ()")]
+       [Version (since = "1.12")]
        public enum GridPosition {
                LEFT,
                RIGHT,
@@ -7773,6 +8532,7 @@ namespace Clutter {
                BOTTOM
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INIT_", type_id = 
"clutter_init_error_get_type ()")]
+       [Version (since = "0.2")]
        public enum InitError {
                SUCCESS,
                ERROR_UNKNOWN,
@@ -7782,6 +8542,7 @@ namespace Clutter {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_AXIS_", type_id = 
"clutter_input_axis_get_type ()")]
+       [Version (since = "1.6")]
        public enum InputAxis {
                IGNORE,
                X,
@@ -7794,6 +8555,7 @@ namespace Clutter {
                LAST
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = 
"clutter_input_device_type_get_type ()")]
+       [Version (since = "1.0")]
        public enum InputDeviceType {
                POINTER_DEVICE,
                KEYBOARD_DEVICE,
@@ -7808,17 +8570,20 @@ namespace Clutter {
                N_DEVICE_TYPES
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_MODE_", type_id = 
"clutter_input_mode_get_type ()")]
+       [Version (since = "1.6")]
        public enum InputMode {
                MASTER,
                SLAVE,
                FLOATING
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INTERPOLATION_", type_id = 
"clutter_interpolation_get_type ()")]
+       [Version (since = "1.2")]
        public enum Interpolation {
                LINEAR,
                CUBIC
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_LONG_PRESS_", type_id = 
"clutter_long_press_state_get_type ()")]
+       [Version (since = "1.8")]
        public enum LongPressState {
                QUERY,
                ACTIVATE,
@@ -7826,6 +8591,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = 
"clutter_modifier_type_get_type ()")]
        [Flags]
+       [Version (since = "0.4")]
        public enum ModifierType {
                SHIFT_MASK,
                LOCK_MASK,
@@ -7862,22 +8628,26 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_OFFSCREEN_REDIRECT_", type_id = 
"clutter_offscreen_redirect_get_type ()")]
        [Flags]
+       [Version (since = "1.8")]
        public enum OffscreenRedirect {
                AUTOMATIC_FOR_OPACITY,
                ALWAYS
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ORIENTATION_", type_id = 
"clutter_orientation_get_type ()")]
+       [Version (since = "1.12")]
        public enum Orientation {
                HORIZONTAL,
                VERTICAL
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PAN_", type_id = 
"clutter_pan_axis_get_type ()")]
+       [Version (since = "1.12")]
        public enum PanAxis {
                AXIS_NONE,
                X_AXIS,
                Y_AXIS
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PATH_", type_id = 
"clutter_path_node_type_get_type ()")]
+       [Version (since = "1.0")]
        public enum PathNodeType {
                MOVE_TO,
                LINE_TO,
@@ -7888,6 +8658,7 @@ namespace Clutter {
                REL_CURVE_TO
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PICK_", type_id = 
"clutter_pick_mode_get_type ()")]
+       [Version (since = "1.0")]
        public enum PickMode {
                NONE,
                REACTIVE,
@@ -7895,35 +8666,41 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REPAINT_FLAGS_", type_id = 
"clutter_repaint_flags_get_type ()")]
        [Flags]
+       [Version (since = "1.10")]
        public enum RepaintFlags {
                PRE_PAINT,
                POST_PAINT,
                QUEUE_REDRAW_ON_ADD
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REQUEST_", type_id = 
"clutter_request_mode_get_type ()")]
+       [Version (since = "0.8")]
        public enum RequestMode {
                HEIGHT_FOR_WIDTH,
                WIDTH_FOR_HEIGHT,
                CONTENT_SIZE
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = 
"clutter_rotate_axis_get_type ()")]
+       [Version (since = "0.4")]
        public enum RotateAxis {
                X_AXIS,
                Y_AXIS,
                Z_AXIS
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ROTATE_", type_id = 
"clutter_rotate_direction_get_type ()")]
+       [Version (since = "0.4")]
        public enum RotateDirection {
                CW,
                CCW
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCALING_FILTER_", type_id = 
"clutter_scaling_filter_get_type ()")]
+       [Version (since = "1.10")]
        public enum ScalingFilter {
                LINEAR,
                NEAREST,
                TRILINEAR
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCROLL_", type_id = 
"clutter_scroll_direction_get_type ()")]
+       [Version (since = "0.4")]
        public enum ScrollDirection {
                UP,
                DOWN,
@@ -7933,6 +8710,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCROLL_", type_id = 
"clutter_scroll_mode_get_type ()")]
        [Flags]
+       [Version (since = "1.12")]
        public enum ScrollMode {
                NONE,
                HORIZONTALLY,
@@ -7940,11 +8718,13 @@ namespace Clutter {
                BOTH
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = 
"clutter_shader_type_get_type ()")]
+       [Version (since = "1.4")]
        public enum ShaderType {
                VERTEX_SHADER,
                FRAGMENT_SHADER
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SNAP_EDGE_", type_id = 
"clutter_snap_edge_get_type ()")]
+       [Version (since = "1.6")]
        public enum SnapEdge {
                TOP,
                RIGHT,
@@ -7953,12 +8733,14 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_STAGE_STATE_", type_id = 
"clutter_stage_state_get_type ()")]
        [Flags]
+       [Version (since = "0.4")]
        public enum StageState {
                FULLSCREEN,
                OFFSCREEN,
                ACTIVATED
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLOR_", type_id = 
"clutter_static_color_get_type ()")]
+       [Version (since = "1.6")]
        public enum StaticColor {
                WHITE,
                BLACK,
@@ -8007,12 +8789,14 @@ namespace Clutter {
                TRANSPARENT
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_STEP_MODE_", type_id = 
"clutter_step_mode_get_type ()")]
+       [Version (since = "1.12")]
        public enum StepMode {
                START,
                END
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SWIPE_DIRECTION_", type_id = 
"clutter_swipe_direction_get_type ()")]
        [Flags]
+       [Version (since = "1.8")]
        public enum SwipeDirection {
                UP,
                DOWN,
@@ -8020,12 +8804,14 @@ namespace Clutter {
                RIGHT
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TABLE_ALIGNMENT_", type_id = 
"clutter_table_alignment_get_type ()")]
+       [Version (since = "1.4")]
        public enum TableAlignment {
                START,
                CENTER,
                END
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXT_DIRECTION_", type_id = 
"clutter_text_direction_get_type ()")]
+       [Version (since = "1.2")]
        public enum TextDirection {
                DEFAULT,
                LTR,
@@ -8033,6 +8819,7 @@ namespace Clutter {
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_", type_id = 
"clutter_texture_flags_get_type ()")]
        [Flags]
+       [Version (since = "0.4")]
        public enum TextureFlags {
                NONE,
                RGB_FLAG_BGR,
@@ -8040,17 +8827,20 @@ namespace Clutter {
                YUV_FLAG_YUV2
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_QUALITY_", type_id = 
"clutter_texture_quality_get_type ()")]
+       [Version (since = "0.8")]
        public enum TextureQuality {
                LOW,
                MEDIUM,
                HIGH
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TIMELINE_", type_id = 
"clutter_timeline_direction_get_type ()")]
+       [Version (since = "0.6")]
        public enum TimelineDirection {
                FORWARD,
                BACKWARD
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_UNIT_", type_id = 
"clutter_unit_type_get_type ()")]
+       [Version (since = "1.0")]
        public enum UnitType {
                PIXEL,
                EM,
@@ -8074,17 +8864,20 @@ namespace Clutter {
                LAST_EVENT
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ZOOM_", type_id = 
"clutter_zoom_axis_get_type ()")]
+       [Version (since = "1.12")]
        public enum ZoomAxis {
                X_AXIS,
                Y_AXIS,
                BOTH
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_IMAGE_ERROR_INVALID_")]
+       [Version (since = "1.10")]
        public errordomain ImageError {
                DATA;
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCRIPT_ERROR_INVALID_")]
+       [Version (since = "0.6")]
        public errordomain ScriptError {
                TYPE_FUNCTION,
                PROPERTY,
@@ -8092,7 +8885,7 @@ namespace Clutter {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SHADER_ERROR_")]
-       [Deprecated (since = "1.8")]
+       [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
        public errordomain ShaderError {
                NO_ASM,
                NO_GLSL,
@@ -8100,6 +8893,7 @@ namespace Clutter {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_ERROR_")]
+       [Version (since = "0.4")]
        public errordomain TextureError {
                OUT_OF_MEMORY,
                NO_YUV,
@@ -8107,38 +8901,48 @@ namespace Clutter {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
-       [Deprecated (since = "1.12")]
+       [Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
        public delegate double AlphaFunc (Clutter.Alpha alpha);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 2.9)]
-       [Deprecated (since = "1.6")]
+       [Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
        public delegate void BehaviourForeachFunc (Clutter.Behaviour behaviour, Clutter.Actor actor);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 4.9)]
+       [Version (since = "1.0")]
        public delegate bool BindingActionFunc (GLib.Object gobject, string action_name, uint key_val, 
Clutter.ModifierType modifiers);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
        public delegate void Callback (Clutter.Actor actor);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+       [Version (since = "1.18")]
        public delegate bool EventFilterFunc (Clutter.Event event);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 2.9)]
+       [Version (since = "0.6")]
        public delegate bool ModelFilterFunc (Clutter.Model model, Clutter.ModelIter iter);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 2.9)]
+       [Version (since = "0.6")]
        public delegate bool ModelForeachFunc (Clutter.Model model, Clutter.ModelIter iter);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
+       [Version (since = "0.6")]
        public delegate int ModelSortFunc (Clutter.Model model, GLib.Value a, GLib.Value b);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+       [Version (since = "1.0")]
        public delegate void PathCallback (Clutter.PathNode node);
        [CCode (cheader_filename = "clutter/clutter.h", has_target = false)]
+       [Version (since = "1.0")]
        public delegate bool ProgressFunc (GLib.Value a, GLib.Value b, double progress, GLib.Value retval);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 6.9)]
+       [Version (since = "0.6")]
        public delegate void ScriptConnectFunc (Clutter.Script script, GLib.Object object, string 
signal_name, string handler_name, GLib.Object connect_object, GLib.ConnectFlags flags);
        [CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
+       [Version (since = "1.10")]
        public delegate double TimelineProgressFunc (Clutter.Timeline timeline, double elapsed, double total);
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_COGL")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
        public const string COGL;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_CURRENT_TIME")]
+       [Version (since = "0.4")]
        public const int CURRENT_TIME;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_FLAVOUR")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
        public const string FLAVOUR;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_MAJOR_VERSION")]
        public const int MAJOR_VERSION;
@@ -8149,6 +8953,7 @@ namespace Clutter {
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PATH_RELATIVE")]
        public const int PATH_RELATIVE;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PRIORITY_REDRAW")]
+       [Version (since = "0.8")]
        public const int PRIORITY_REDRAW;
        [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_VERSION")]
        public const double VERSION;
@@ -8159,71 +8964,93 @@ namespace Clutter {
        [CCode (cheader_filename = "clutter/clutter.h")]
        public static void base_init ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.12")]
        public static void cairo_clear (Cairo.Context cr);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.0")]
        public static void cairo_set_source_color (Cairo.Context cr, Clutter.Color color);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.2")]
        public static bool check_version (uint major, uint minor, uint micro);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.10")]
        public static bool check_windowing_backend (string backend_type);
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
        public static void clear_glyph_cache ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.14")]
        public static void disable_accessibility ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.4")]
        public static void do_event (Clutter.Event event);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.4")]
        public static bool events_pending ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.4")]
        public static bool get_accessibility_enabled ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.2")]
        public static unowned Clutter.Event get_current_event ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.0")]
        public static uint32 get_current_event_time ();
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10")]
        public static bool get_debug_enabled ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.4")]
        public static unowned Clutter.Backend get_default_backend ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static uint get_default_frame_rate ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.2")]
        public static Clutter.TextDirection get_default_text_direction ();
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
        public static Clutter.FontFlags get_font_flags ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.0")]
        public static unowned Pango.FontMap get_font_map ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static unowned Clutter.Actor get_keyboard_grab ();
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.8")]
+       [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
        public static bool get_motion_events_enabled ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.2")]
        public static GLib.OptionGroup get_option_group ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.8.2")]
        public static GLib.OptionGroup get_option_group_without_init ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static unowned Clutter.Actor get_pointer_grab ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static unowned string get_script_id (GLib.Object gobject);
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
        public static bool get_show_fps ();
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10")]
        public static ulong get_timestamp ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static void grab_keyboard (Clutter.Actor actor);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static void grab_pointer (Clutter.Actor actor);
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
        public static void grab_pointer_for_device (Clutter.Actor actor, int id_);
        [CCode (cheader_filename = "clutter/clutter.h")]
        public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] 
ref unowned string[]? argv);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.2")]
        public static Clutter.InitError init_with_args ([CCode (array_length_cname = "argc", array_length_pos 
= 0.5)] ref unowned string[]? argv, string? parameter_string, [CCode (array_length = false)] 
GLib.OptionEntry[]? entries, string? translation_domain) throws GLib.Error;
        [CCode (cheader_filename = "clutter/clutter.h")]
        public static uint32 keysym_to_unicode (uint keyval);
@@ -8234,41 +9061,50 @@ namespace Clutter {
        [CCode (cheader_filename = "clutter/clutter.h")]
        public static void main_quit ();
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
        public static void set_default_frame_rate (uint frames_per_sec);
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
        public static void set_font_flags (Clutter.FontFlags flags);
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.8")]
+       [Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
        public static void set_motion_events_enabled (bool enable);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.16")]
        public static void set_windowing_backend (string backend_type);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.18")]
        public static void test_add_data_full (string test_path, owned GLib.TestDataFunc test_func);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.18")]
        public static bool test_check_actor_at_point (Clutter.Actor stage, Clutter.Point point, Clutter.Actor 
actor, out Clutter.Actor? result);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.18")]
        public static bool test_check_color_at_point (Clutter.Actor stage, Clutter.Point point, Clutter.Color 
color, out Clutter.Color result);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.18")]
        public static unowned Clutter.Actor test_get_stage ();
        [CCode (cheader_filename = "clutter/clutter.h")]
        public static void test_init (int argc, string argv);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.18")]
        public static int test_run ();
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (replacement = "Threads.add_repaint_func", since = "vala-0.14")]
+       [Version (deprecated_since = "vala-0.14", replacement = "Threads.add_repaint_func")]
        public static uint threads_add_repaint_func (GLib.SourceFunc func, void* data, GLib.DestroyNotify 
notify);
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (replacement = "Threads.remove_repaint_func", since = "vala-0.14")]
+       [Version (deprecated_since = "vala-0.14", replacement = "Threads.remove_repaint_func")]
        public static void threads_remove_repaint_func (uint handle_id);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static void ungrab_keyboard ();
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "0.6")]
        public static void ungrab_pointer ();
        [CCode (cheader_filename = "clutter/clutter.h")]
-       [Deprecated (since = "1.10")]
+       [Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
        public static void ungrab_pointer_for_device (int id_);
        [CCode (cheader_filename = "clutter/clutter.h")]
+       [Version (since = "1.10")]
        public static uint unicode_to_keysym (uint32 wc);
 }
diff --git a/vapi/clutter-gdk-1.0.vapi b/vapi/clutter-gdk-1.0.vapi
index a461479..4017c13 100644
--- a/vapi/clutter-gdk-1.0.vapi
+++ b/vapi/clutter-gdk-1.0.vapi
@@ -3,17 +3,23 @@
 [CCode (cprefix = "ClutterGdk", gir_namespace = "ClutterGdk", gir_version = "1.0", lower_case_cprefix = 
"clutter_gdk_")]
 namespace ClutterGdk {
        [CCode (cheader_filename = "clutter/gdk/clutter-gdk.h")]
+       [Version (since = "1.10")]
        public static void disable_event_retrieval ();
        [CCode (cheader_filename = "clutter/gdk/clutter-gdk.h")]
+       [Version (since = "0.6")]
        public static unowned Gdk.Display get_default_display ();
        [CCode (cheader_filename = "clutter/gdk/clutter-gdk.h")]
+       [Version (since = "1.10")]
        public static unowned Clutter.Stage get_stage_from_window (Gdk.Window window);
        [CCode (cheader_filename = "clutter/gdk/clutter-gdk.h")]
+       [Version (since = "1.10")]
        public static unowned Gdk.Window get_stage_window (Clutter.Stage stage);
        [CCode (cheader_filename = "clutter/gdk/clutter-gdk.h")]
        public static Gdk.FilterReturn handle_event (Gdk.Event event);
        [CCode (cheader_filename = "clutter/gdk/clutter-gdk.h")]
+       [Version (since = "0.8")]
        public static void set_display (Gdk.Display display);
        [CCode (cheader_filename = "clutter/gdk/clutter-gdk.h")]
+       [Version (since = "1.10")]
        public static bool set_stage_foreign (Clutter.Stage stage, Gdk.Window window);
 }
diff --git a/vapi/clutter-gst-1.0.vapi b/vapi/clutter-gst-1.0.vapi
index 23909eb..0f01840 100644
--- a/vapi/clutter-gst-1.0.vapi
+++ b/vapi/clutter-gst-1.0.vapi
@@ -19,7 +19,7 @@ namespace ClutterGst {
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", type_id = "clutter_gst_video_sink_get_type 
()")]
        public class VideoSink : Gst.BaseSink, Gst.ImplementsInterface, Gst.Navigation {
                [CCode (has_construct_function = false, type = "GstElement*")]
-               [Deprecated (since = "1.6")]
+               [Version (deprecated = true, deprecated_since = "1.6")]
                public VideoSink (Clutter.Texture texture);
                [NoAccessorMethod]
                public Clutter.Texture texture { owned get; set; }
@@ -30,12 +30,14 @@ namespace ClutterGst {
        public class VideoTexture : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Media, Clutter.Scriptable, ClutterGst.Player {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public VideoTexture ();
+               [Version (since = "1.2")]
                public unowned Cogl.Handle get_idle_material ();
                public void set_idle_material (Cogl.Handle material);
                [NoAccessorMethod]
                public Gst.Fraction pixel_aspect_ratio { get; set; }
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "1.4")]
        public interface Player : Clutter.Media, GLib.Object, Clutter.Media {
                public static void class_init (GLib.ObjectClass object_class);
                public void deinit ();
@@ -43,6 +45,7 @@ namespace ClutterGst {
                public abstract unowned GLib.List<string> get_audio_streams ();
                public abstract ClutterGst.BufferingMode get_buffering_mode ();
                public abstract bool get_idle ();
+               [Version (since = "1.6")]
                public abstract bool get_in_seek ();
                public abstract unowned Gst.Element get_pipeline ();
                public abstract ClutterGst.SeekFlags get_seek_flags ();
@@ -59,6 +62,7 @@ namespace ClutterGst {
                public abstract void* audio_streams { get; }
                public abstract bool idle { get; }
                public abstract Cogl.Handle idle_material { get; set; }
+               [Version (since = "1.6")]
                public abstract bool in_seek { get; }
                public abstract ClutterGst.SeekFlags seek_flags { get; set; }
                public abstract int subtitle_track { get; set; }
@@ -67,12 +71,14 @@ namespace ClutterGst {
                public virtual signal void download_buffering (double start, double stop);
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", cprefix = "CLUTTER_GST_BUFFERING_MODE_", 
type_id = "clutter_gst_buffering_mode_get_type ()")]
+       [Version (since = "1.4")]
        public enum BufferingMode {
                STREAM,
                DOWNLOAD
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", cprefix = "CLUTTER_GST_SEEK_FLAG_", type_id = 
"clutter_gst_seek_flags_get_type ()")]
        [Flags]
+       [Version (since = "1.4")]
        public enum SeekFlags {
                NONE,
                ACCURATE
@@ -80,7 +86,9 @@ namespace ClutterGst {
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
        public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] 
ref unowned string[]? argv);
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "1.0")]
        public static Clutter.InitError init_with_args ([CCode (array_length_cname = "argc", array_length_pos 
= 0.5)] ref unowned string[]? argv, string parameter_string, GLib.OptionEntry entries, string 
translation_domain) throws GLib.Error;
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "1.4")]
        public static void player_class_init (GLib.ObjectClass object_class);
 }
diff --git a/vapi/clutter-gst-2.0.vapi b/vapi/clutter-gst-2.0.vapi
index 83381ee..97cac31 100644
--- a/vapi/clutter-gst-2.0.vapi
+++ b/vapi/clutter-gst-2.0.vapi
@@ -19,7 +19,7 @@ namespace ClutterGst {
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", type_id = "clutter_gst_video_sink_get_type 
()")]
        public class VideoSink : Gst.Base.Sink, Gst.Video.Navigation {
                [CCode (has_construct_function = false, type = "GstElement*")]
-               [Deprecated (since = "1.6")]
+               [Version (deprecated = true, deprecated_since = "1.6")]
                public VideoSink (Clutter.Texture texture);
                [NoAccessorMethod]
                public Clutter.Texture texture { owned get; set; }
@@ -30,12 +30,15 @@ namespace ClutterGst {
        public class VideoTexture : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Media, Clutter.Scriptable, ClutterGst.Player {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public VideoTexture ();
+               [Version (since = "1.2")]
                public unowned Cogl.Handle get_idle_material ();
+               [Version (since = "1.2")]
                public void set_idle_material (Cogl.Handle material);
                [NoAccessorMethod]
                public Gst.Fraction pixel_aspect_ratio { owned get; set; }
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "1.4")]
        public interface Player : Clutter.Media, GLib.Object, Clutter.Media {
                public static void class_init (GLib.ObjectClass object_class);
                public void deinit ();
@@ -43,6 +46,7 @@ namespace ClutterGst {
                public abstract unowned GLib.List<string> get_audio_streams ();
                public abstract ClutterGst.BufferingMode get_buffering_mode ();
                public abstract bool get_idle ();
+               [Version (since = "1.6")]
                public abstract bool get_in_seek ();
                public abstract unowned Gst.Element get_pipeline ();
                public abstract ClutterGst.SeekFlags get_seek_flags ();
@@ -59,6 +63,7 @@ namespace ClutterGst {
                public abstract void* audio_streams { get; }
                public abstract bool idle { get; }
                public abstract Cogl.Handle idle_material { get; set; }
+               [Version (since = "1.6")]
                public abstract bool in_seek { get; }
                public abstract ClutterGst.SeekFlags seek_flags { get; set; }
                public abstract int subtitle_track { get; set; }
@@ -67,12 +72,14 @@ namespace ClutterGst {
                public virtual signal void download_buffering (double start, double stop);
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", cprefix = "CLUTTER_GST_BUFFERING_MODE_", 
type_id = "clutter_gst_buffering_mode_get_type ()")]
+       [Version (since = "1.4")]
        public enum BufferingMode {
                STREAM,
                DOWNLOAD
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", cprefix = "CLUTTER_GST_SEEK_FLAG_", type_id = 
"clutter_gst_seek_flags_get_type ()")]
        [Flags]
+       [Version (since = "1.4")]
        public enum SeekFlags {
                NONE,
                ACCURATE
@@ -80,7 +87,9 @@ namespace ClutterGst {
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
        public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] 
ref unowned string[]? argv);
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "1.0")]
        public static Clutter.InitError init_with_args ([CCode (array_length_cname = "argc", array_length_pos 
= 0.5)] ref unowned string[]? argv, string parameter_string, GLib.OptionEntry entries, string 
translation_domain) throws GLib.Error;
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "1.4")]
        public static void player_class_init (GLib.ObjectClass object_class);
 }
diff --git a/vapi/clutter-gst-3.0.vapi b/vapi/clutter-gst-3.0.vapi
index 9e62fff..3298615 100644
--- a/vapi/clutter-gst-3.0.vapi
+++ b/vapi/clutter-gst-3.0.vapi
@@ -22,12 +22,15 @@ namespace ClutterGst {
                protected Aspectratio ();
                public static Clutter.Content @new ();
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool fill_allocation { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool paint_borders { get; set; }
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", copy_function = "g_boxed_copy", free_function 
= "g_boxed_free", type_id = "clutter_gst_box_get_type ()")]
        [Compact]
+       [Version (since = "3.0")]
        public class Box {
                public float x1;
                public float x2;
@@ -105,19 +108,28 @@ namespace ClutterGst {
                public signal void camera_removed (ClutterGst.CameraDevice camera_device);
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", type_id = "clutter_gst_content_get_type ()")]
+       [Version (since = "0.0")]
        public class Content : GLib.Object, Clutter.Content {
                [CCode (has_construct_function = false)]
                protected Content ();
+               [Version (since = "3.0")]
                public unowned ClutterGst.Frame get_frame ();
+               [Version (since = "3.0")]
                public unowned ClutterGst.Overlays get_overlays ();
+               [Version (since = "3.0")]
                public unowned ClutterGst.Player get_player ();
+               [Version (since = "3.0")]
                public unowned ClutterGst.VideoSink get_sink ();
                [NoWrapper]
                public virtual bool has_painting_content ();
                public static Clutter.Content @new ();
+               [Version (since = "3.0")]
                public static Clutter.Content new_with_sink (ClutterGst.VideoSink sink);
+               [Version (since = "3.0")]
                public void set_frame (ClutterGst.Frame frame);
+               [Version (since = "3.0")]
                public void set_player (ClutterGst.Player player);
+               [Version (since = "3.0")]
                public void set_sink (ClutterGst.VideoSink sink);
                public ClutterGst.Frame frame { get; set; }
                [NoAccessorMethod]
@@ -133,26 +145,33 @@ namespace ClutterGst {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Crop ();
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool cull_backface { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public ClutterGst.Box input_region { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public ClutterGst.Box output_region { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public bool paint_borders { get; set; }
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", copy_function = "g_boxed_copy", free_function 
= "g_boxed_free", type_id = "clutter_gst_frame_get_type ()")]
        [Compact]
+       [Version (since = "3.0")]
        public class Frame {
                public ClutterGst.VideoResolution resolution;
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", copy_function = "g_boxed_copy", free_function 
= "g_boxed_free", type_id = "clutter_gst_overlay_get_type ()")]
        [Compact]
+       [Version (since = "3.0")]
        public class Overlay {
                public weak ClutterGst.Box position;
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", copy_function = "g_boxed_copy", free_function 
= "g_boxed_free", type_id = "clutter_gst_overlays_get_type ()")]
        [Compact]
+       [Version (since = "3.0")]
        public class Overlays {
                public weak GLib.GenericArray<void*> overlays;
        }
@@ -160,54 +179,76 @@ namespace ClutterGst {
        public class Playback : GLib.Object, ClutterGst.Player {
                [CCode (has_construct_function = false)]
                public Playback ();
+               [Version (since = "1.4")]
                public int get_audio_stream ();
+               [Version (since = "1.4")]
                public unowned GLib.List<string> get_audio_streams ();
                public int64 get_buffer_duration ();
                public double get_buffer_fill ();
                public int get_buffer_size ();
+               [Version (since = "1.4")]
                public ClutterGst.BufferingMode get_buffering_mode ();
                public double get_duration ();
+               [Version (since = "1.6")]
                public bool get_in_seek ();
                public double get_position ();
                public double get_progress ();
+               [Version (since = "1.4")]
                public ClutterGst.SeekFlags get_seek_flags ();
                public string get_subtitle_font_name ();
+               [Version (since = "1.4")]
                public int get_subtitle_track ();
+               [Version (since = "1.4")]
                public unowned GLib.List<string> get_subtitle_tracks ();
                public string get_subtitle_uri ();
                public string get_uri ();
+               [Version (since = "1.4")]
                public string get_user_agent ();
                public bool is_live_media ();
+               [Version (since = "1.4")]
                public void set_audio_stream (int index_);
                public void set_buffer_duration (int64 duration);
                public void set_buffer_size (int size);
+               [Version (since = "1.4")]
                public void set_buffering_mode (ClutterGst.BufferingMode mode);
                public void set_filename (string filename);
                public void set_progress (double progress);
+               [Version (since = "1.4")]
                public void set_seek_flags (ClutterGst.SeekFlags flags);
                public void set_subtitle_font_name (string font_name);
+               [Version (since = "1.4")]
                public void set_subtitle_track (int index_);
                public void set_subtitle_uri (string uri);
                public void set_uri (string uri);
+               [Version (since = "1.4")]
                public void set_user_agent (string user_agent);
+               [Version (since = "1.4")]
                public int audio_stream { get; set; }
+               [Version (since = "1.4")]
                public void* audio_streams { get; }
                public double buffer_fill { get; }
                [NoAccessorMethod]
                public bool can_seek { get; }
                public double duration { get; }
+               [Version (since = "1.6")]
                public bool in_seek { get; }
                public double progress { get; set; }
+               [Version (since = "1.4")]
                public ClutterGst.SeekFlags seek_flags { get; set; }
                public string subtitle_font_name { owned get; set; }
+               [Version (since = "1.4")]
                public int subtitle_track { get; set; }
+               [Version (since = "1.4")]
                public void* subtitle_tracks { get; }
                public string subtitle_uri { owned get; set; }
                public string uri { owned get; set; }
+               [Version (since = "1.4")]
                public string user_agent { owned get; set; }
+               [Version (since = "1.4")]
                public virtual signal bool should_buffer (Gst.Query query);
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", type_id = "clutter_gst_video_sink_get_type 
()")]
+       [Version (since = "3.0")]
        public class VideoSink : Gst.Video.Sink, Gst.Video.ColorBalance, Gst.Video.Navigation {
                [CCode (has_construct_function = false)]
                public VideoSink ();
@@ -221,14 +262,23 @@ namespace ClutterGst {
                public virtual signal void pipeline_ready ();
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", type_id = "clutter_gst_player_get_type ()")]
+       [Version (since = "1.4")]
        public interface Player : GLib.Object {
+               [Version (since = "3.0")]
                public abstract double get_audio_volume ();
+               [Version (since = "3.0")]
                public abstract unowned ClutterGst.Frame get_frame ();
+               [Version (since = "3.0")]
                public abstract bool get_idle ();
+               [Version (since = "3.0")]
                public abstract unowned Gst.Element get_pipeline ();
+               [Version (since = "3.0")]
                public abstract bool get_playing ();
+               [Version (since = "3.0")]
                public abstract unowned ClutterGst.VideoSink get_video_sink ();
+               [Version (since = "3.0")]
                public abstract void set_audio_volume (double volume);
+               [Version (since = "3.0")]
                public abstract void set_playing (bool playing);
                public abstract double audio_volume { get; set; }
                public abstract bool idle { get; }
@@ -240,6 +290,7 @@ namespace ClutterGst {
                public virtual signal void size_change (int width, int height);
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", has_type_id = false)]
+       [Version (since = "3.0")]
        public struct VideoResolution {
                public int width;
                public int height;
@@ -247,20 +298,24 @@ namespace ClutterGst {
                public int par_d;
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", cprefix = "CLUTTER_GST_BUFFERING_MODE_", 
type_id = "clutter_gst_buffering_mode_get_type ()")]
+       [Version (since = "1.4")]
        public enum BufferingMode {
                STREAM,
                DOWNLOAD
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h", cprefix = "CLUTTER_GST_SEEK_FLAG_", type_id = 
"clutter_gst_seek_flags_get_type ()")]
        [Flags]
+       [Version (since = "1.4")]
        public enum SeekFlags {
                NONE,
                ACCURATE
        }
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "3.0")]
        public static Gst.Element create_video_sink ();
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
        public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] 
ref unowned string[]? argv);
        [CCode (cheader_filename = "clutter-gst/clutter-gst.h")]
+       [Version (since = "1.0")]
        public static Clutter.InitError init_with_args ([CCode (array_length_cname = "argc", array_length_pos 
= 0.5)] ref unowned string[]? argv, string parameter_string, GLib.OptionEntry entries, string 
translation_domain) throws GLib.Error;
 }
diff --git a/vapi/clutter-gtk-1.0.vapi b/vapi/clutter-gtk-1.0.vapi
index 1040945..0515454 100644
--- a/vapi/clutter-gtk-1.0.vapi
+++ b/vapi/clutter-gtk-1.0.vapi
@@ -18,11 +18,15 @@ namespace GtkClutter {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Embed ();
                public unowned Clutter.Actor get_stage ();
+               [Version (since = "1.4")]
                public bool get_use_layout_size ();
+               [Version (since = "1.4")]
                public void set_use_layout_size (bool use_layout_size);
+               [Version (since = "1.4")]
                public bool use_layout_size { get; set construct; }
        }
        [CCode (cheader_filename = "clutter-gtk/clutter-gtk.h", type_id = "gtk_clutter_texture_get_type ()")]
+       [Version (since = "1.0")]
        public class Texture : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Texture ();
@@ -38,9 +42,10 @@ namespace GtkClutter {
                public unowned Clutter.Actor get_stage ();
        }
        [CCode (cheader_filename = "clutter-gtk/clutter-gtk.h", cprefix = 
"GTK_CLUTTER_TEXTURE_ERROR_INVALID_STOCK_")]
+       [Version (since = "1.0")]
        public errordomain TextureError {
                [CCode (cname = "GTK_CLUTTER_TEXTURE_ERROR_INVALID_STOCK_ID")]
-               [Deprecated (replacement = "INVALID_STOCK_ID", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "INVALID_STOCK_ID")]
                ID,
                [CCode (cname = "GTK_CLUTTER_TEXTURE_ERROR_INVALID_STOCK_ID")]
                INVALID_STOCK_ID
diff --git a/vapi/clutter-x11-1.0.vapi b/vapi/clutter-x11-1.0.vapi
index fca8ce6..158f144 100644
--- a/vapi/clutter-x11-1.0.vapi
+++ b/vapi/clutter-x11-1.0.vapi
@@ -3,6 +3,7 @@
 [CCode (cprefix = "ClutterX11", gir_namespace = "ClutterX11", gir_version = "1.0", lower_case_cprefix = 
"clutter_x11_")]
 namespace ClutterX11 {
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h", type_id = 
"clutter_x11_texture_pixmap_get_type ()")]
+       [Version (since = "0.8")]
        public class TexturePixmap : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public TexturePixmap ();
@@ -38,11 +39,13 @@ namespace ClutterX11 {
                public int window_x { get; }
                [NoAccessorMethod]
                public int window_y { get; }
+               [Version (since = "1.2")]
                public signal void queue_damage_redraw (int x, int y, int width, int height);
                [HasEmitter]
                public virtual signal void update_area (int x, int y, int width, int height);
        }
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h", cprefix = "CLUTTER_X11_FILTER_", has_type_id 
= false)]
+       [Version (since = "0.6")]
        public enum FilterReturn {
                CONTINUE,
                TRANSLATE,
@@ -58,58 +61,80 @@ namespace ClutterX11 {
                LAST_EVENT
        }
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h", instance_pos = 2.9)]
+       [Version (since = "0.6")]
        public delegate ClutterX11.FilterReturn FilterFunc (X.Event xev, Clutter.Event cev);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.6")]
        public static void add_filter (ClutterX11.FilterFunc func);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.8")]
        public static void disable_event_retrieval ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
-       [Deprecated (since = "1.14")]
+       [Version (deprecated = true, deprecated_since = "1.14", since = "0.8")]
        public static void enable_xinput ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "1.4")]
        public static int event_get_key_group (Clutter.Event event);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "1.12")]
        public static uint event_sequence_get_touch_detail (Clutter.EventSequence sequence);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "1.0")]
        public static X.Time get_current_event_time ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.6")]
        public static unowned X.Display get_default_display ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.6")]
        public static int get_default_screen ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
-       [Deprecated (since = "1.2")]
+       [Version (deprecated = true, deprecated_since = "1.2", since = "0.8")]
        public static unowned GLib.SList<Clutter.InputDevice> get_input_devices ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.6")]
        public static X.Window get_root_window ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.8")]
        public static unowned Clutter.Stage get_stage_from_window (X.Window win);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
-       [Deprecated (since = "1.2")]
+       [Version (deprecated = true, deprecated_since = "1.2", since = "0.4")]
        public static X.VisualInfo? get_stage_visual (Clutter.Stage stage);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.4")]
        public static X.Window get_stage_window (Clutter.Stage stage);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "1.2")]
        public static bool get_use_argb_visual ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "1.2")]
        public static X.VisualInfo? get_visual_info ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.8")]
        public static ClutterX11.FilterReturn handle_event (X.Event xevent);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
        public static bool has_composite_extension ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.8")]
        public static bool has_event_retrieval ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.8")]
        public static bool has_xinput ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.6")]
        public static void remove_filter (ClutterX11.FilterFunc func);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.8")]
        public static void set_display (X.Display xdpy);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.4")]
        public static bool set_stage_foreign (Clutter.Stage stage, X.Window xwindow);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "1.2")]
        public static void set_use_argb_visual (bool use_argb);
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.6")]
        public static void trap_x_errors ();
        [CCode (cheader_filename = "clutter/x11/clutter-x11.h")]
+       [Version (since = "0.4")]
        public static int untrap_x_errors ();
 }
diff --git a/vapi/cogl-pango-1.0.vapi b/vapi/cogl-pango-1.0.vapi
index 689e2a0..ebdee26 100644
--- a/vapi/cogl-pango-1.0.vapi
+++ b/vapi/cogl-pango-1.0.vapi
@@ -10,23 +10,30 @@ namespace CoglPango {
        }
        [CCode (cheader_filename = "cogl-pango/cogl-pango.h")]
        public interface FontMap : Pango.CairoFontMap, GLib.Object {
+               [Version (since = "1.0")]
                public static void clear_glyph_cache (CoglPango.FontMap font_map);
                public static Pango.Context create_context (CoglPango.FontMap font_map);
+               [Version (since = "1.0")]
                public static unowned Pango.Renderer get_renderer (CoglPango.FontMap font_map);
+               [Version (since = "1.0")]
                public static Cogl.Bool get_use_mipmapping (CoglPango.FontMap font_map);
+               [Version (since = "1.14")]
                public static Pango.FontMap @new ();
+               [Version (since = "1.14")]
                public static void set_resolution (CoglPango.FontMap font_map, double dpi);
+               [Version (since = "1.0")]
                public static void set_use_mipmapping (CoglPango.FontMap font_map, Cogl.Bool value);
        }
        [CCode (cheader_filename = "cogl-pango/cogl-pango.h")]
+       [Version (since = "1.0")]
        public static void ensure_glyph_cache_for_layout (Pango.Layout layout);
        [CCode (cheader_filename = "cogl-pango/cogl-pango.h")]
-       [Deprecated (since = "1.16")]
+       [Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
        public static void render_layout (Pango.Layout layout, int x, int y, Cogl.Color color, int flags);
        [CCode (cheader_filename = "cogl-pango/cogl-pango.h")]
-       [Deprecated (since = "1.16")]
+       [Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
        public static void render_layout_line (Pango.LayoutLine line, int x, int y, Cogl.Color color);
        [CCode (cheader_filename = "cogl-pango/cogl-pango.h")]
-       [Deprecated (since = "1.16")]
+       [Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
        public static void render_layout_subpixel (Pango.Layout layout, int x, int y, Cogl.Color color, int 
flags);
 }
diff --git a/vapi/gconf-2.0.vapi b/vapi/gconf-2.0.vapi
index e146c42..6179c06 100644
--- a/vapi/gconf-2.0.vapi
+++ b/vapi/gconf-2.0.vapi
@@ -1,6 +1,6 @@
 /* gconf-2.0.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "GLib.Settings")]
+[Version (replacement = "GLib.Settings")]
 namespace GConf {
        [CCode (cheader_filename = "gconf/gconf.h", ref_function = "gconf_change_set_ref", ref_function_void 
= true, type_id = "gconf_change_set_get_type ()", unref_function = "gconf_change_set_unref")]
        [Compact]
diff --git a/vapi/gdk-2.0.vapi b/vapi/gdk-2.0.vapi
index 45848a2..677d2be 100644
--- a/vapi/gdk-2.0.vapi
+++ b/vapi/gdk-2.0.vapi
@@ -1,7 +1,7 @@
 /* gdk-2.0.vapi generated by vapigen, do not modify. */
 
 [CCode (gir_namespace = "Gdk", gir_version = "2.0")]
-[Deprecated (replacement = "gdk-3.0")]
+[Version (replacement = "gdk-3.0")]
 namespace Gdk {
        namespace Key {
                [CCode (cheader_filename = "gdk/gdk.h")]
@@ -4387,7 +4387,7 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h", ref_function = "g_object_ref", unref_function = 
"g_object_unref")]
        public class Bitmap {
                public weak GLib.Object parent_instance;
-               [Deprecated (since = "2.22")]
+               [Version (deprecated_since = "2.22")]
                public static Gdk.Bitmap create_from_data (Gdk.Drawable drawable, [CCode (array_length = 
false)] uint8[] data, int width, int height);
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
@@ -4570,7 +4570,7 @@ namespace Gdk {
        public class Drawable : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Drawable ();
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public unowned Gdk.Image copy_to_image (Gdk.Image image, int src_x, int src_y, int dest_x, 
int dest_y, int width, int height);
                [NoWrapper]
                public virtual unowned Cairo.Surface create_cairo_surface (int width, int height);
@@ -4678,7 +4678,7 @@ namespace Gdk {
                public static unowned Gdk.Font load_for_display (Gdk.Display display, string font_name);
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public class GC : GLib.Object {
                public int clip_x_origin;
                public int clip_y_origin;
@@ -4715,7 +4715,7 @@ namespace Gdk {
                public GC.with_values (Gdk.Drawable drawable, Gdk.GCValues values, Gdk.GCValuesMask 
values_mask);
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public class Image : GLib.Object {
                public uint16 bits_per_pixel;
                public uint16 bpl;
@@ -4791,15 +4791,15 @@ namespace Gdk {
        public class Pixmap : Gdk.Drawable {
                [CCode (has_construct_function = false)]
                public Pixmap (Gdk.Drawable? drawable, int width, int height, int depth);
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public static unowned Gdk.Pixmap colormap_create_from_xpm (Gdk.Drawable drawable, 
Gdk.Colormap colormap, out unowned Gdk.Bitmap mask, Gdk.Color transparent_color, string filename);
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public static unowned Gdk.Pixmap colormap_create_from_xpm_d (Gdk.Drawable drawable, 
Gdk.Colormap colormap, out unowned Gdk.Bitmap mask, Gdk.Color transparent_color, string data);
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public static unowned Gdk.Pixmap create_from_data (Gdk.Drawable drawable, [CCode 
(array_length = false)] uint8[] data, int width, int height, int depth, Gdk.Color fg, Gdk.Color bg);
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public static unowned Gdk.Pixmap create_from_xpm (Gdk.Drawable drawable, out unowned 
Gdk.Bitmap mask, Gdk.Color transparent_color, string filename);
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public static unowned Gdk.Pixmap create_from_xpm_d (Gdk.Drawable drawable, out unowned 
Gdk.Bitmap mask, Gdk.Color transparent_color, string data);
                public static unowned Gdk.Pixmap foreign_new (Gdk.NativeWindow anid);
                public static unowned Gdk.Pixmap foreign_new_for_display (Gdk.Display display, 
Gdk.NativeWindow anid);
@@ -5406,16 +5406,16 @@ namespace Gdk {
                public void union (Gdk.Rectangle src2, out Gdk.Rectangle dest);
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public struct RgbCmap {
                [CCode (array_length = false)]
                public weak uint32[] colors;
                public int n_colors;
                public weak GLib.SList info_list;
                [CCode (has_construct_function = false)]
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public RgbCmap (uint32[] colors);
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public void free ();
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
@@ -6015,7 +6015,7 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h", has_target = false)]
        public delegate void InputFunction (void* data, int source, Gdk.InputCondition condition);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public delegate void SpanFunc (Gdk.Span span);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public const int CURRENT_TIME;
@@ -6082,82 +6082,82 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void drag_status (Gdk.DragContext context, Gdk.DragAction action, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_arc (Gdk.Drawable drawable, Gdk.GC gc, bool filled, int x, int y, int width, 
int height, int angle1, int angle2);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_drawable (Gdk.Drawable drawable, Gdk.GC gc, Gdk.Drawable src, int xsrc, int 
ysrc, int xdest, int ydest, int width, int height);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_glyphs (Gdk.Drawable drawable, Gdk.GC gc, Pango.Font font, int x, int y, 
Pango.GlyphString glyphs);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_glyphs_transformed (Gdk.Drawable drawable, Gdk.GC gc, Pango.Matrix matrix, 
Pango.Font font, int x, int y, Pango.GlyphString glyphs);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_gray_image (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, int width, int 
height, Gdk.RgbDither dith, [CCode (array_length = false)] uchar[] buf, int rowstride);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_image (Gdk.Drawable drawable, Gdk.GC gc, Gdk.Image image, int xsrc, int ysrc, 
int xdest, int ydest, int width, int height);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_indexed_image (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, int width, int 
height, Gdk.RgbDither dith, [CCode (array_length = false)] uchar[] buf, int rowstride, Gdk.RgbCmap cmap);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_layout (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, Pango.Layout layout);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_layout_line (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, Pango.LayoutLine 
line);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_layout_line_with_colors (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, 
Pango.LayoutLine line, Gdk.Color foreground, Gdk.Color background);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_layout_with_colors (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, 
Pango.Layout layout, Gdk.Color foreground, Gdk.Color background);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_line (Gdk.Drawable drawable, Gdk.GC gc, int x1_, int y1_, int x2_, int y2_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_lines (Gdk.Drawable drawable, Gdk.GC gc, Gdk.Point[] points);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_pixbuf (Gdk.Drawable drawable, Gdk.GC gc, Gdk.Pixbuf pixbuf, int src_x, int 
src_y, int dest_x, int dest_y, int width, int height, Gdk.RgbDither dither, int x_dither, int y_dither);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_point (Gdk.Drawable drawable, Gdk.GC gc, int x, int y);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_points (Gdk.Drawable drawable, Gdk.GC gc, Gdk.Point[] points);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_polygon (Gdk.Drawable drawable, Gdk.GC gc, bool filled, Gdk.Point[] points);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_rectangle (Gdk.Drawable drawable, Gdk.GC gc, bool filled, int x, int y, int 
width, int height);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_rgb_32_image (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, int width, int 
height, Gdk.RgbDither dith, [CCode (array_length = false)] uchar[] buf, int rowstride);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_rgb_32_image_dithalign (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, int 
width, int height, Gdk.RgbDither dith, [CCode (array_length = false)] uchar[] buf, int rowstride, int xdith, 
int ydith);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_rgb_image (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, int width, int 
height, Gdk.RgbDither dith, [CCode (array_length = false)] uchar[] rgb_buf, int rowstride);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_rgb_image_dithalign (Gdk.Drawable drawable, Gdk.GC gc, int x, int y, int 
width, int height, Gdk.RgbDither dith, [CCode (array_length = false)] uchar[] rgb_buf, int rowstride, int 
xdith, int ydith);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_segments (Gdk.Drawable drawable, Gdk.GC gc, Gdk.Segment[] segs);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_text (Gdk.Drawable drawable, Gdk.Font font, Gdk.GC gc, int x, int y, string 
text, int text_length);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_text_wc (Gdk.Drawable drawable, Gdk.Font font, Gdk.GC gc, int x, int y, 
Gdk.WChar text, int text_length);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void draw_trapezoids (Gdk.Drawable drawable, Gdk.GC gc, Gdk.Trapezoid[] trapezoids);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void drop_finish (Gdk.DragContext context, bool success, uint32 time_);
@@ -6266,52 +6266,52 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void query_visual_types (out Gdk.VisualType visual_types, int count);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static bool rgb_colormap_ditherable (Gdk.Colormap cmap);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static bool rgb_ditherable ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void rgb_find_color (Gdk.Colormap colormap, ref Gdk.Color color);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static unowned Gdk.Colormap rgb_get_colormap ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static unowned Gdk.Visual rgb_get_visual ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void rgb_set_install (bool install);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void rgb_set_min_colors (int min_colors);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "2.22")]
+       [Version (deprecated = true, deprecated_since = "2.22")]
        public static void rgb_set_verbose (bool verbose);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.convert", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.convert")]
        public static void selection_convert (Gdk.Window requestor, Gdk.Atom selection, Gdk.Atom target, 
uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_get", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_get")]
        public static unowned Gdk.Window selection_owner_get (Gdk.Atom selection);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_get_for_display", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_get_for_display")]
        public static unowned Gdk.Window selection_owner_get_for_display (Gdk.Display display, Gdk.Atom 
selection);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_set", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_set")]
        public static bool selection_owner_set (Gdk.Window owner, Gdk.Atom selection, uint32 time_, bool 
send_event);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_set_for_display", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_set_for_display")]
        public static bool selection_owner_set_for_display (Gdk.Display display, Gdk.Window owner, Gdk.Atom 
selection, uint32 time_, bool send_event);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.property_get", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.property_get")]
        public static int selection_property_get (Gdk.Window requestor, uchar[] data, out Gdk.Atom prop_type, 
int prop_format);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.send_notify", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.send_notify")]
        public static void selection_send_notify (Gdk.NativeWindow requestor, Gdk.Atom selection, Gdk.Atom 
target, Gdk.Atom property, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.send_notify_for_display", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.send_notify_for_display")]
        public static void selection_send_notify_for_display (Gdk.Display display, Gdk.NativeWindow 
requestor, Gdk.Atom selection, Gdk.Atom target, Gdk.Atom property, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void set_double_click_time (uint msec);
diff --git a/vapi/gdk-3.0.vapi b/vapi/gdk-3.0.vapi
index faa09a1..409a5ce 100644
--- a/vapi/gdk-3.0.vapi
+++ b/vapi/gdk-3.0.vapi
@@ -4550,29 +4550,37 @@ namespace Gdk {
                [CCode (cheader_filename = "gdk/gdk.h")]
                public static unowned Gdk.Window? owner_get (Gdk.Atom selection);
                [CCode (cheader_filename = "gdk/gdk.h")]
+               [Version (since = "2.2")]
                public static unowned Gdk.Window? owner_get_for_display (Gdk.Display display, Gdk.Atom 
selection);
                [CCode (cheader_filename = "gdk/gdk.h")]
                public static bool owner_set (Gdk.Window? owner, Gdk.Atom selection, uint32 time_, bool 
send_event);
                [CCode (cheader_filename = "gdk/gdk.h")]
+               [Version (since = "2.2")]
                public static bool owner_set_for_display (Gdk.Display display, Gdk.Window? owner, Gdk.Atom 
selection, uint32 time_, bool send_event);
                [CCode (cheader_filename = "gdk/gdk.h")]
                public static int property_get (Gdk.Window requestor, [CCode (array_length = false, type = 
"guchar**")] uint8[] data, Gdk.Atom prop_type, int prop_format);
                [CCode (cheader_filename = "gdk/gdk.h")]
                public static void send_notify (Gdk.Window requestor, Gdk.Atom selection, Gdk.Atom target, 
Gdk.Atom property, uint32 time_);
                [CCode (cheader_filename = "gdk/gdk.h")]
+               [Version (since = "2.2")]
                public static void send_notify_for_display (Gdk.Display display, Gdk.Window requestor, 
Gdk.Atom selection, Gdk.Atom target, Gdk.Atom property, uint32 time_);
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_app_launch_context_get_type ()")]
        public class AppLaunchContext : GLib.AppLaunchContext {
                [CCode (has_construct_function = false)]
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.14")]
                public AppLaunchContext ();
+               [Version (since = "2.14")]
                public void set_desktop (int desktop);
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.14")]
                public void set_display (Gdk.Display display);
+               [Version (since = "2.14")]
                public void set_icon (GLib.Icon? icon);
+               [Version (since = "2.14")]
                public void set_icon_name (string? icon_name);
+               [Version (since = "2.14")]
                public void set_screen (Gdk.Screen screen);
+               [Version (since = "2.14")]
                public void set_timestamp (uint32 timestamp);
                [NoAccessorMethod]
                public Gdk.Display display { owned get; construct; }
@@ -4580,23 +4588,31 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_cursor_get_type ()")]
        public class Cursor : GLib.Object {
                [CCode (has_construct_function = false)]
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public Cursor (Gdk.CursorType cursor_type);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.2")]
                public Cursor.for_display (Gdk.Display display, Gdk.CursorType cursor_type);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.8")]
                public Cursor.from_name (Gdk.Display display, string name);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public Cursor.from_pixbuf (Gdk.Display display, Gdk.Pixbuf pixbuf, int x, int y);
                [CCode (has_construct_function = false)]
+               [Version (since = "3.10")]
                public Cursor.from_surface (Gdk.Display display, Cairo.Surface surface, double x, double y);
+               [Version (since = "2.22")]
                public Gdk.CursorType get_cursor_type ();
+               [Version (since = "2.2")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "2.8")]
                public Gdk.Pixbuf? get_image ();
+               [Version (since = "3.10")]
                public Cairo.Surface? get_surface (out double x_hot, out double y_hot);
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public Gdk.Cursor @ref ();
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public void unref ();
                public Gdk.CursorType cursor_type { get; construct; }
                public Gdk.Display display { get; construct; }
@@ -4606,46 +4622,76 @@ namespace Gdk {
                [CCode (has_construct_function = false)]
                protected Device ();
                public static void free_history ([CCode (array_length_cname = "n_events", array_length_pos = 
1.1)] Gdk.TimeCoord[] events);
+               [Version (since = "3.0")]
                public unowned Gdk.Device? get_associated_device ();
                public bool get_axis ([CCode (array_length = false)] double[] axes, Gdk.AxisUse use, out 
double value);
+               [Version (since = "2.20")]
                public Gdk.AxisUse get_axis_use (uint index_);
+               [Version (since = "3.0")]
                public bool get_axis_value ([CCode (array_length = false)] double[] axes, Gdk.Atom 
axis_label, out double value);
+               [Version (since = "3.0")]
                public Gdk.DeviceType get_device_type ();
+               [Version (since = "3.0")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "2.20")]
                public bool get_has_cursor ();
                public bool get_history (Gdk.Window window, uint32 start, uint32 stop, [CCode 
(array_length_cname = "n_events", array_length_pos = 4.1)] out Gdk.TimeCoord[] events);
+               [Version (since = "2.20")]
                public bool get_key (uint index_, out uint keyval, out Gdk.ModifierType modifiers);
+               [Version (since = "3.12")]
                public unowned Gdk.Window get_last_event_window ();
+               [Version (since = "2.20")]
                public Gdk.InputMode get_mode ();
+               [Version (since = "3.0")]
                public int get_n_axes ();
+               [Version (since = "2.24")]
                public int get_n_keys ();
+               [Version (since = "2.20")]
                public unowned string get_name ();
+               [Version (since = "3.0")]
                public void get_position (out unowned Gdk.Screen screen, out int x, out int y);
+               [Version (since = "3.10")]
                public void get_position_double (out unowned Gdk.Screen screen, out double x, out double y);
+               [Version (since = "2.20")]
                public Gdk.InputSource get_source ();
                public void get_state (Gdk.Window window, [CCode (array_length = false)] double[]? axes, out 
Gdk.ModifierType mask);
+               [Version (since = "3.0")]
                public unowned Gdk.Window? get_window_at_position (out int win_x, out int win_y);
+               [Version (since = "3.0")]
                public unowned Gdk.Window? get_window_at_position_double (out double win_x, out double win_y);
+               [Version (since = "3.0")]
                public Gdk.GrabStatus grab (Gdk.Window window, Gdk.GrabOwnership grab_ownership, bool 
owner_events, Gdk.EventMask event_mask, Gdk.Cursor? cursor, uint32 time_);
+               [Version (since = "3.0")]
                public GLib.List<weak Gdk.Atom> list_axes ();
                public GLib.List<weak Gdk.Device>? list_slave_devices ();
                public void set_axis_use (uint index_, Gdk.AxisUse use);
                public void set_key (uint index_, uint keyval, Gdk.ModifierType modifiers);
                public bool set_mode (Gdk.InputMode mode);
+               [Version (since = "3.0")]
                public void ungrab (uint32 time_);
+               [Version (since = "3.0")]
                public void warp (Gdk.Screen screen, int x, int y);
+               [Version (since = "3.0")]
                public Gdk.Device? associated_device { get; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.DeviceManager device_manager { owned get; construct; }
+               [Version (since = "3.0")]
                public Gdk.Display display { get; construct; }
+               [Version (since = "3.0")]
                public bool has_cursor { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.InputMode input_mode { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.InputSource input_source { get; construct; }
+               [Version (since = "3.0")]
                public uint n_axes { get; }
+               [Version (since = "3.0")]
                public string? name { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "3.0")]
                public Gdk.DeviceType type { get; construct; }
                public signal void changed ();
        }
@@ -4653,8 +4699,11 @@ namespace Gdk {
        public abstract class DeviceManager : GLib.Object {
                [CCode (has_construct_function = false)]
                protected DeviceManager ();
+               [Version (since = "3.0")]
                public unowned Gdk.Device get_client_pointer ();
+               [Version (since = "3.0")]
                public unowned Gdk.Display? get_display ();
+               [Version (since = "3.0")]
                public GLib.List<weak Gdk.Device> list_devices (Gdk.DeviceType type);
                public Gdk.Display display { get; construct; }
                public signal void device_added (Gdk.Device device);
@@ -4665,57 +4714,88 @@ namespace Gdk {
        public class Display : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Display ();
+               [Version (since = "2.2")]
                public void beep ();
+               [Version (since = "2.2")]
                public void close ();
                public bool device_is_grabbed (Gdk.Device device);
+               [Version (since = "2.4")]
                public void flush ();
+               [Version (since = "3.0")]
                public Gdk.AppLaunchContext get_app_launch_context ();
+               [Version (since = "2.2")]
                public static unowned Gdk.Display? get_default ();
+               [Version (since = "2.4")]
                public uint get_default_cursor_size ();
+               [Version (since = "2.4")]
                public unowned Gdk.Window get_default_group ();
+               [Version (since = "2.2")]
                public unowned Gdk.Screen get_default_screen ();
+               [Version (since = "3.0")]
                public unowned Gdk.DeviceManager? get_device_manager ();
+               [Version (since = "2.2")]
                public Gdk.Event? get_event ();
+               [Version (since = "2.4")]
                public void get_maximal_cursor_size (out uint width, out uint height);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated = true, deprecated_since = "3.10", since = "2.2")]
                public int get_n_screens ();
+               [Version (since = "2.2")]
                public unowned string get_name ();
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.2")]
                public void get_pointer (out unowned Gdk.Screen screen, out int x, out int y, out 
Gdk.ModifierType mask);
+               [Version (since = "2.2")]
                public unowned Gdk.Screen get_screen (int screen_num);
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.2")]
                public unowned Gdk.Window? get_window_at_pointer (out int win_x, out int win_y);
+               [Version (since = "3.0")]
                public bool has_pending ();
+               [Version (since = "2.22")]
                public bool is_closed ();
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.2")]
                public void keyboard_ungrab (uint32 time_);
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.2")]
                public unowned GLib.List<Gdk.Device> list_devices ();
+               [Version (since = "3.0")]
                public void notify_startup_complete (string startup_id);
+               [Version (since = "2.2")]
                public static unowned Gdk.Display? open (string display_name);
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public static unowned Gdk.Display? open_default_libgtk_only ();
+               [Version (since = "2.2")]
                public Gdk.Event? peek_event ();
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.2")]
                public bool pointer_is_grabbed ();
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.2")]
                public void pointer_ungrab (uint32 time_);
+               [Version (since = "2.2")]
                public void put_event (Gdk.Event event);
+               [Version (since = "2.6")]
                public bool request_selection_notification (Gdk.Atom selection);
+               [Version (since = "2.4")]
                public void set_double_click_distance (uint distance);
+               [Version (since = "2.2")]
                public void set_double_click_time (uint msec);
+               [Version (since = "2.6")]
                public void store_clipboard (Gdk.Window clipboard_window, uint32 time_, [CCode 
(array_length_cname = "n_targets", array_length_pos = 3.1)] Gdk.Atom[] targets);
+               [Version (since = "2.6")]
                public bool supports_clipboard_persistence ();
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16", since = "2.12")]
                public bool supports_composite ();
+               [Version (since = "2.4")]
                public bool supports_cursor_alpha ();
+               [Version (since = "2.4")]
                public bool supports_cursor_color ();
+               [Version (since = "2.10")]
                public bool supports_input_shapes ();
+               [Version (since = "2.6")]
                public bool supports_selection_notification ();
+               [Version (since = "2.10")]
                public bool supports_shapes ();
+               [Version (since = "2.2")]
                public void sync ();
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0", since = "2.8")]
                public void warp_pointer (Gdk.Screen screen, int x, int y);
+               [Version (since = "2.2")]
                public signal void closed (bool is_error);
                public signal void opened ();
        }
@@ -4723,25 +4803,38 @@ namespace Gdk {
        public class DisplayManager : GLib.Object {
                [CCode (has_construct_function = false)]
                protected DisplayManager ();
+               [Version (since = "2.2")]
                public static unowned Gdk.DisplayManager @get ();
+               [Version (since = "2.2")]
                public unowned Gdk.Display? get_default_display ();
+               [Version (since = "2.2")]
                public GLib.SList<weak Gdk.Display> list_displays ();
+               [Version (since = "3.0")]
                public unowned Gdk.Display? open_display (string name);
+               [Version (since = "2.2")]
                public void set_default_display (Gdk.Display display);
                public Gdk.Display default_display { get; set; }
+               [Version (since = "2.2")]
                public signal void display_opened (Gdk.Display display);
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_drag_context_get_type ()")]
        public class DragContext : GLib.Object {
                [CCode (has_construct_function = false)]
                protected DragContext ();
+               [Version (since = "2.22")]
                public Gdk.DragAction get_actions ();
+               [Version (since = "3.0")]
                public unowned Gdk.Window get_dest_window ();
                public unowned Gdk.Device get_device ();
+               [Version (since = "3.0")]
                public Gdk.DragProtocol get_protocol ();
+               [Version (since = "2.22")]
                public Gdk.DragAction get_selected_action ();
+               [Version (since = "2.22")]
                public unowned Gdk.Window get_source_window ();
+               [Version (since = "2.22")]
                public Gdk.DragAction get_suggested_action ();
+               [Version (since = "2.22")]
                public unowned GLib.List<Gdk.Atom> list_targets ();
                public void set_device (Gdk.Device device);
        }
@@ -4750,34 +4843,52 @@ namespace Gdk {
        public class Event {
                public Gdk.EventType type;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.2")]
                public Event (Gdk.EventType type);
                public Gdk.Event copy ();
                public void free ();
                public static Gdk.Event? @get ();
                public bool get_axis (Gdk.AxisUse axis_use, out double value);
+               [Version (since = "3.2")]
                public bool get_button (out uint button);
+               [Version (since = "3.2")]
                public bool get_click_count (out uint click_count);
                public bool get_coords (out double x_win, out double y_win);
+               [Version (since = "3.0")]
                public unowned Gdk.Device? get_device ();
+               [Version (since = "3.4")]
                public unowned Gdk.EventSequence get_event_sequence ();
+               [Version (since = "3.10")]
                public Gdk.EventType get_event_type ();
+               [Version (since = "3.2")]
                public bool get_keycode (out uint16 keycode);
+               [Version (since = "3.2")]
                public bool get_keyval (out uint keyval);
                public bool get_root_coords (out double x_root, out double y_root);
+               [Version (since = "2.2")]
                public unowned Gdk.Screen get_screen ();
+               [Version (since = "3.4")]
                public bool get_scroll_deltas (out double delta_x, out double delta_y);
+               [Version (since = "3.2")]
                public bool get_scroll_direction (out Gdk.ScrollDirection direction);
+               [Version (since = "3.0")]
                public unowned Gdk.Device? get_source_device ();
                public bool get_state (out Gdk.ModifierType state);
                public uint32 get_time ();
+               [Version (since = "3.10")]
                public unowned Gdk.Window get_window ();
                public static void handler_set (owned Gdk.EventFunc func);
                public static Gdk.Event? peek ();
                public void put ();
+               [Version (since = "2.12")]
                public static void request_motions (Gdk.EventMotion event);
+               [Version (since = "3.0")]
                public void set_device (Gdk.Device device);
+               [Version (since = "2.2")]
                public void set_screen (Gdk.Screen screen);
+               [Version (since = "3.0")]
                public void set_source_device (Gdk.Device device);
+               [Version (since = "3.4")]
                public bool triggers_context_menu ();
                public Gdk.EventAny any {[CCode (cname = "(GdkEventAny *)")]  get; }
                public Gdk.EventButton button {[CCode (cname = "(GdkEventButton *)")]  get; }
@@ -4881,6 +4992,7 @@ namespace Gdk {
        }
        [CCode (cheader_filename = "gdk/gdk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gdk_event_get_type ()")]
        [Compact]
+       [Version (since = "2.8")]
        public class EventGrabBroken : Gdk.Event {
                public weak Gdk.Window grab_window;
                public bool implicit;
@@ -4924,6 +5036,7 @@ namespace Gdk {
        }
        [CCode (cheader_filename = "gdk/gdk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gdk_event_get_type ()")]
        [Compact]
+       [Version (since = "2.6")]
        public class EventOwnerChange : Gdk.Event {
                public weak Gdk.Window owner;
                public Gdk.OwnerChange reason;
@@ -5014,7 +5127,7 @@ namespace Gdk {
        }
        [CCode (cheader_filename = "gdk/gdk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gdk_event_get_type ()")]
        [Compact]
-       [Deprecated (since = "3.12")]
+       [Version (deprecated = true, deprecated_since = "3.12")]
        public class EventVisibility : Gdk.Event {
                public int8 send_event;
                public Gdk.VisibilityState state;
@@ -5034,14 +5147,23 @@ namespace Gdk {
        public abstract class FrameClock : GLib.Object {
                [CCode (has_construct_function = false)]
                protected FrameClock ();
+               [Version (since = "3.8")]
                public void begin_updating ();
+               [Version (since = "3.8")]
                public void end_updating ();
+               [Version (since = "3.8")]
                public Gdk.FrameTimings? get_current_timings ();
+               [Version (since = "3.8")]
                public int64 get_frame_counter ();
+               [Version (since = "3.8")]
                public int64 get_frame_time ();
+               [Version (since = "3.8")]
                public int64 get_history_start ();
+               [Version (since = "3.8")]
                public void get_refresh_info (int64 base_time, int64 refresh_interval_return, int64 
presentation_time_return);
+               [Version (since = "3.8")]
                public Gdk.FrameTimings? get_timings (int64 frame_counter);
+               [Version (since = "3.8")]
                public void request_phase (Gdk.FrameClockPhase phase);
                public signal void after_paint ();
                public signal void before_paint ();
@@ -5054,96 +5176,157 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h", ref_function = "gdk_frame_timings_ref", type_id = 
"gdk_frame_timings_get_type ()", unref_function = "gdk_frame_timings_unref")]
        [Compact]
        public class FrameTimings {
+               [Version (since = "3.8")]
                public bool get_complete ();
+               [Version (since = "3.8")]
                public int64 get_frame_counter ();
                public int64 get_frame_time ();
+               [Version (since = "3.8")]
                public int64 get_predicted_presentation_time ();
+               [Version (since = "3.8")]
                public int64 get_presentation_time ();
+               [Version (since = "3.8")]
                public int64 get_refresh_interval ();
+               [Version (since = "3.8")]
                public Gdk.FrameTimings @ref ();
+               [Version (since = "3.8")]
                public void unref ();
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_gl_context_get_type ()")]
        public abstract class GLContext : GLib.Object {
                [CCode (has_construct_function = false)]
                protected GLContext ();
+               [Version (since = "3.16")]
                public static void clear_current ();
+               [Version (since = "3.16")]
                public static unowned Gdk.GLContext get_current ();
+               [Version (since = "3.16")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "3.16")]
                public Gdk.GLProfile get_profile ();
+               [Version (since = "3.16")]
                public unowned Gdk.Window get_window ();
+               [Version (since = "3.16")]
                public void make_current ();
+               [Version (since = "3.16")]
                public Gdk.Display display { get; construct; }
+               [Version (since = "3.16")]
                public Gdk.GLProfile profile { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "3.16")]
                public Gdk.GLContext shared_context { owned get; construct; }
+               [Version (since = "3.16")]
                public Gdk.Window window { get; construct; }
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_keymap_get_type ()")]
        public class Keymap : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Keymap ();
+               [Version (since = "2.20")]
                public void add_virtual_modifiers (ref Gdk.ModifierType state);
+               [Version (since = "2.16")]
                public bool get_caps_lock_state ();
                public static unowned Gdk.Keymap get_default ();
                public Pango.Direction get_direction ();
                public bool get_entries_for_keycode (uint hardware_keycode, [CCode (array_length_cname = 
"n_entries", array_length_pos = 3.1)] out Gdk.KeymapKey[] keys, [CCode (array_length_cname = "n_entries", 
array_length_pos = 3.1)] out uint[] keyvals);
                public bool get_entries_for_keyval (uint keyval, [CCode (array_length_cname = "n_keys", 
array_length_pos = 2.1)] out Gdk.KeymapKey[] keys);
+               [Version (since = "2.2")]
                public static unowned Gdk.Keymap get_for_display (Gdk.Display display);
+               [Version (since = "3.4")]
                public Gdk.ModifierType get_modifier_mask (Gdk.ModifierIntent intent);
+               [Version (since = "3.4")]
                public uint get_modifier_state ();
+               [Version (since = "3.0")]
                public bool get_num_lock_state ();
+               [Version (since = "2.12")]
                public bool have_bidi_layouts ();
                public uint lookup_key (Gdk.KeymapKey key);
+               [Version (since = "2.20")]
                public bool map_virtual_modifiers (ref Gdk.ModifierType state);
                public bool translate_keyboard_state (uint hardware_keycode, Gdk.ModifierType state, int 
group, out uint keyval, out int effective_group, out int level, out Gdk.ModifierType consumed_modifiers);
+               [Version (since = "2.0")]
                public signal void direction_changed ();
+               [Version (since = "2.2")]
                public signal void keys_changed ();
+               [Version (since = "2.16")]
                public signal void state_changed ();
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
        public class Screen : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Screen ();
+               [Version (since = "2.10")]
                public Gdk.Window? get_active_window ();
+               [Version (since = "2.2")]
                public static unowned Gdk.Screen? get_default ();
+               [Version (since = "2.2")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "2.10")]
                public unowned Cairo.FontOptions? get_font_options ();
+               [Version (since = "2.2")]
                public int get_height ();
+               [Version (since = "2.2")]
                public int get_height_mm ();
+               [Version (since = "2.2")]
                public int get_monitor_at_point (int x, int y);
+               [Version (since = "2.2")]
                public int get_monitor_at_window (Gdk.Window window);
                public void get_monitor_geometry (int monitor_num, out Gdk.Rectangle dest);
+               [Version (since = "2.14")]
                public int get_monitor_height_mm (int monitor_num);
+               [Version (since = "2.14")]
                public string? get_monitor_plug_name (int monitor_num);
+               [Version (since = "3.10")]
                public int get_monitor_scale_factor (int monitor_num);
+               [Version (since = "2.14")]
                public int get_monitor_width_mm (int monitor_num);
+               [Version (since = "3.4")]
                public Gdk.Rectangle get_monitor_workarea (int monitor_num);
+               [Version (since = "2.2")]
                public int get_n_monitors ();
+               [Version (since = "2.2")]
                public int get_number ();
+               [Version (since = "2.20")]
                public int get_primary_monitor ();
+               [Version (since = "2.10")]
                public double get_resolution ();
+               [Version (since = "2.8")]
                public unowned Gdk.Visual? get_rgba_visual ();
+               [Version (since = "2.2")]
                public unowned Gdk.Window get_root_window ();
+               [Version (since = "2.2")]
                public bool get_setting (string name, GLib.Value value);
+               [Version (since = "2.2")]
                public unowned Gdk.Visual get_system_visual ();
+               [Version (since = "2.2")]
                public GLib.List<weak Gdk.Window> get_toplevel_windows ();
+               [Version (since = "2.2")]
                public int get_width ();
+               [Version (since = "2.2")]
                public int get_width_mm ();
+               [Version (since = "2.10")]
                public GLib.List<Gdk.Window>? get_window_stack ();
                public static int height ();
                public static int height_mm ();
+               [Version (since = "2.10")]
                public bool is_composited ();
+               [Version (since = "2.2")]
                public GLib.List<weak Gdk.Visual> list_visuals ();
+               [Version (since = "2.2")]
                public string make_display_name ();
+               [Version (since = "2.10")]
                public void set_font_options (Cairo.FontOptions? options);
+               [Version (since = "2.10")]
                public void set_resolution (double dpi);
                public static int width ();
                public static int width_mm ();
                public void* font_options { get; set; }
                public double resolution { get; set; }
+               [Version (since = "2.10")]
                public signal void composited_changed ();
+               [Version (since = "2.14")]
                public signal void monitors_changed ();
+               [Version (since = "2.2")]
                public signal void size_changed ();
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_visual_get_type ()")]
@@ -5156,15 +5339,24 @@ namespace Gdk {
                public static unowned Gdk.Visual? get_best_with_both (int depth, Gdk.VisualType visual_type);
                public static unowned Gdk.Visual get_best_with_depth (int depth);
                public static unowned Gdk.Visual get_best_with_type (Gdk.VisualType visual_type);
+               [Version (since = "2.22")]
                public int get_bits_per_rgb ();
+               [Version (since = "2.22")]
                public void get_blue_pixel_details (out uint32 mask, out int shift, out int precision);
+               [Version (since = "2.22")]
                public Gdk.ByteOrder get_byte_order ();
+               [Version (since = "2.22")]
                public int get_colormap_size ();
+               [Version (since = "2.22")]
                public int get_depth ();
+               [Version (since = "2.22")]
                public void get_green_pixel_details (out uint32 mask, out int shift, out int precision);
+               [Version (since = "2.22")]
                public void get_red_pixel_details (out uint32 mask, out int shift, out int precision);
+               [Version (since = "2.2")]
                public unowned Gdk.Screen get_screen ();
                public static unowned Gdk.Visual get_system ();
+               [Version (since = "2.22")]
                public Gdk.VisualType get_visual_type ();
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
@@ -5172,103 +5364,148 @@ namespace Gdk {
                [CCode (has_construct_function = false)]
                public Window (Gdk.Window? parent, Gdk.WindowAttr attributes, Gdk.WindowAttributesType 
attributes_mask);
                public void add_filter (Gdk.FilterFunc function);
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public static unowned Gdk.Window at_pointer (out int win_x, out int win_y);
+               [Version (since = "2.12")]
                public void beep ();
                public void begin_move_drag (int button, int root_x, int root_y, uint32 timestamp);
+               [Version (since = "3.4")]
                public void begin_move_drag_for_device (Gdk.Device device, int button, int root_x, int 
root_y, uint32 timestamp);
                public void begin_paint_rect (Gdk.Rectangle rectangle);
                public void begin_paint_region (Cairo.Region region);
                public void begin_resize_drag (Gdk.WindowEdge edge, int button, int root_x, int root_y, 
uint32 timestamp);
+               [Version (since = "3.4")]
                public void begin_resize_drag_for_device (Gdk.WindowEdge edge, Gdk.Device device, int button, 
int root_x, int root_y, uint32 timestamp);
-               [Deprecated (since = "3.8")]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.6")]
                public void configure_finished ();
                public static void constrain_size (Gdk.Geometry geometry, Gdk.WindowHints flags, int width, 
int height, out int new_width, out int new_height);
+               [Version (since = "2.22")]
                public void coords_from_parent (double parent_x, double parent_y, out double x, out double y);
+               [Version (since = "2.22")]
                public void coords_to_parent (double x, double y, out double parent_x, out double parent_y);
+               [Version (since = "3.16")]
                public Gdk.GLContext create_gl_context (Gdk.GLProfile profile) throws GLib.Error;
+               [Version (since = "3.10")]
                public Cairo.Surface create_similar_image_surface (int format, int width, int height, int 
scale);
+               [Version (since = "2.22")]
                public Cairo.Surface create_similar_surface (Cairo.Content content, int width, int height);
                public void deiconify ();
                [DestroysInstance]
                public void destroy ();
-               [Deprecated (since = "3.8")]
+               [Version (deprecated = true, deprecated_since = "3.8", since = "2.6")]
                public void enable_synchronized_configure ();
                public void end_paint ();
+               [Version (since = "2.18")]
                public bool ensure_native ();
-               [Deprecated (since = "3.14")]
+               [Version (deprecated = true, deprecated_since = "3.14", since = "2.18")]
                public void flush ();
                public void focus (uint32 timestamp);
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public void freeze_toplevel_updates_libgtk_only ();
                public void freeze_updates ();
+               [Version (since = "2.2")]
                public void fullscreen ();
+               [Version (since = "2.18")]
                public void geometry_changed ();
+               [Version (since = "2.22")]
                public bool get_accept_focus ();
+               [Version (since = "2.22")]
                public unowned Cairo.Pattern? get_background_pattern ();
                public GLib.List<weak Gdk.Window> get_children ();
+               [Version (since = "3.10")]
                public GLib.List<weak Gdk.Window> get_children_with_user_data (void* user_data);
                public Cairo.Region get_clip_region ();
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16", since = "2.22")]
                public bool get_composited ();
+               [Version (since = "2.18")]
                public unowned Gdk.Cursor? get_cursor ();
                public bool get_decorations (out Gdk.WMDecoration decorations);
+               [Version (since = "3.0")]
                public unowned Gdk.Cursor? get_device_cursor (Gdk.Device device);
+               [Version (since = "3.0")]
                public Gdk.EventMask get_device_events (Gdk.Device device);
+               [Version (since = "3.0")]
                public unowned Gdk.Window? get_device_position (Gdk.Device device, out int x, out int y, out 
Gdk.ModifierType mask);
+               [Version (since = "3.10")]
                public unowned Gdk.Window? get_device_position_double (Gdk.Device device, out double x, out 
double y, out Gdk.ModifierType mask);
+               [Version (since = "2.24")]
                public unowned Gdk.Display get_display ();
+               [Version (since = "3.0")]
                public Gdk.DragProtocol get_drag_protocol (out Gdk.Window target);
+               [Version (since = "2.22")]
                public unowned Gdk.Window get_effective_parent ();
+               [Version (since = "2.22")]
                public unowned Gdk.Window get_effective_toplevel ();
+               [Version (since = "3.12")]
                public bool get_event_compression ();
                public Gdk.EventMask get_events ();
+               [Version (since = "2.22")]
                public bool get_focus_on_map ();
+               [Version (since = "3.8")]
                public unowned Gdk.FrameClock get_frame_clock ();
                public void get_frame_extents (out Gdk.Rectangle rect);
+               [Version (since = "3.8")]
                public Gdk.FullscreenMode get_fullscreen_mode ();
                public void get_geometry (out int x, out int y, out int width, out int height);
+               [Version (since = "2.4")]
                public unowned Gdk.Window get_group ();
+               [Version (since = "2.24")]
                public int get_height ();
+               [Version (since = "2.22")]
                public bool get_modal_hint ();
                public int get_origin (out int x, out int y);
                public unowned Gdk.Window get_parent ();
-               [Deprecated (since = "3.0")]
+               [Version (deprecated = true, deprecated_since = "3.0")]
                public unowned Gdk.Window? get_pointer (out int x, out int y, out Gdk.ModifierType mask);
                public void get_position (out int x, out int y);
+               [Version (since = "2.18")]
                public void get_root_coords (int x, int y, out int root_x, out int root_y);
                public void get_root_origin (out int x, out int y);
+               [Version (since = "3.10")]
                public int get_scale_factor ();
+               [Version (since = "2.24")]
                public unowned Gdk.Screen get_screen ();
                public Gdk.EventMask get_source_events (Gdk.InputSource source);
                public Gdk.WindowState get_state ();
+               [Version (since = "3.0")]
                public bool get_support_multidevice ();
                public unowned Gdk.Window get_toplevel ();
+               [Version (since = "2.10")]
                public Gdk.WindowTypeHint get_type_hint ();
                public Cairo.Region get_update_area ();
                public void get_user_data (out void* data);
                public Cairo.Region get_visible_region ();
+               [Version (since = "2.24")]
                public unowned Gdk.Visual get_visual ();
+               [Version (since = "2.24")]
                public int get_width ();
                public Gdk.WindowType get_window_type ();
+               [Version (since = "2.22")]
                public bool has_native ();
                public void hide ();
                public void iconify ();
+               [Version (since = "2.10")]
                public void input_shape_combine_region (Cairo.Region shape_region, int offset_x, int 
offset_y);
                public void invalidate_maybe_recurse (Cairo.Region region, Gdk.WindowChildFunc? child_func);
                public void invalidate_rect (Gdk.Rectangle? rect, bool invalidate_children);
                public void invalidate_region (Cairo.Region region, bool invalidate_children);
+               [Version (since = "2.18")]
                public bool is_destroyed ();
+               [Version (since = "2.22")]
                public bool is_input_only ();
+               [Version (since = "2.22")]
                public bool is_shaped ();
                public bool is_viewable ();
                public bool is_visible ();
                public void lower ();
+               [Version (since = "3.16")]
                public void mark_paint_from_clip (Cairo.Context cr);
                public void maximize ();
+               [Version (since = "2.10")]
                public void merge_child_input_shapes ();
                public void merge_child_shapes ();
                public void move (int x, int y);
+               [Version (since = "2.8")]
                public void move_region (Cairo.Region region, int dx, int dy);
                public void move_resize (int x, int y, int width, int height);
                public unowned GLib.List<Gdk.Window> peek_children ();
@@ -5279,67 +5516,93 @@ namespace Gdk {
                public void remove_filter (Gdk.FilterFunc function);
                public void reparent (Gdk.Window new_parent, int x, int y);
                public void resize (int width, int height);
+               [Version (since = "2.18")]
                public void restack (Gdk.Window? sibling, bool above);
                public void scroll (int dx, int dy);
+               [Version (since = "2.4")]
                public void set_accept_focus (bool accept_focus);
-               [Deprecated (since = "3.4")]
+               [Version (deprecated = true, deprecated_since = "3.4")]
                public void set_background (Gdk.Color color);
                public void set_background_pattern (Cairo.Pattern? pattern);
                public void set_background_rgba (Gdk.RGBA rgba);
+               [Version (since = "2.10")]
                public void set_child_input_shapes ();
                public void set_child_shapes ();
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16", since = "2.12")]
                public void set_composited (bool composited);
                public void set_cursor (Gdk.Cursor? cursor);
                public static void set_debug_updates (bool setting);
                public void set_decorations (Gdk.WMDecoration decorations);
+               [Version (since = "3.0")]
                public void set_device_cursor (Gdk.Device device, Gdk.Cursor cursor);
+               [Version (since = "3.0")]
                public void set_device_events (Gdk.Device device, Gdk.EventMask event_mask);
+               [Version (since = "3.12")]
                public void set_event_compression (bool event_compression);
                public void set_events (Gdk.EventMask event_mask);
+               [Version (since = "2.6")]
                public void set_focus_on_map (bool focus_on_map);
+               [Version (since = "3.8")]
                public void set_fullscreen_mode (Gdk.FullscreenMode mode);
                public void set_functions (Gdk.WMFunction functions);
                public void set_geometry_hints (Gdk.Geometry geometry, Gdk.WindowHints geom_mask);
                public void set_group (Gdk.Window? leader);
                public void set_icon_list (GLib.List<Gdk.Pixbuf> pixbufs);
                public void set_icon_name (string? name);
+               [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_modal_hint (bool modal);
+               [Version (since = "2.12")]
                public void set_opacity (double opacity);
+               [Version (since = "3.10")]
                public void set_opaque_region (Cairo.Region region);
                public void set_override_redirect (bool override_redirect);
                public void set_role (string role);
+               [Version (since = "3.12")]
                public void set_shadow_width (int left, int right, int top, int bottom);
+               [Version (since = "2.2")]
                public void set_skip_pager_hint (bool skips_pager);
+               [Version (since = "2.2")]
                public void set_skip_taskbar_hint (bool skips_taskbar);
+               [Version (since = "3.0")]
                public void set_source_events (Gdk.InputSource source, Gdk.EventMask event_mask);
+               [Version (since = "2.12")]
                public void set_startup_id (string startup_id);
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public bool set_static_gravities (bool use_static);
+               [Version (since = "3.0")]
                public void set_support_multidevice (bool support_multidevice);
                public void set_title (string title);
                public void set_transient_for (Gdk.Window parent);
                public void set_type_hint (Gdk.WindowTypeHint hint);
+               [Version (since = "2.8")]
                public void set_urgency_hint (bool urgent);
                public void set_user_data (GLib.Object? user_data);
                public void shape_combine_region (Cairo.Region? shape_region, int offset_x, int offset_y);
                public void show ();
                public void show_unraised ();
+               [Version (since = "3.14")]
                public bool show_window_menu (Gdk.Event event);
                public void stick ();
-               [Deprecated (since = "3.16")]
+               [Version (deprecated = true, deprecated_since = "3.16")]
                public void thaw_toplevel_updates_libgtk_only ();
                public void thaw_updates ();
+               [Version (since = "2.2")]
                public void unfullscreen ();
                public void unmaximize ();
                public void unstick ();
                public void withdraw ();
+               [Version (since = "2.18")]
                public Gdk.Cursor cursor { get; set; }
+               [Version (since = "3.0")]
                public virtual signal Cairo.Surface create_surface (int width, int height);
+               [Version (since = "2.18")]
                public virtual signal void from_embedder (double embedder_x, double embedder_y, out double 
offscreen_x, out double offscreen_y);
+               [Version (since = "2.18")]
                public signal unowned Gdk.Window? pick_embedded_child (double x, double y);
+               [Version (since = "2.18")]
                public virtual signal void to_embedder (double offscreen_x, double offscreen_y, out double 
embedder_x, out double embedder_y);
        }
        [CCode (cheader_filename = "gdk/gdk.h", ref_function = "", unref_function = "")]
@@ -5352,11 +5615,12 @@ namespace Gdk {
                [CCode (cname = "GDK_NONE")]
                public static Gdk.Atom NONE;
                public static Gdk.Atom intern (string atom_name, bool only_if_exists);
+               [Version (since = "2.10")]
                public static Gdk.Atom intern_static_string (string atom_name);
                public string name ();
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_color_get_type ()")]
-       [Deprecated (since = "3.14")]
+       [Version (deprecated = true, deprecated_since = "3.14")]
        public struct Color {
                public uint32 pixel;
                public uint16 red;
@@ -5367,6 +5631,7 @@ namespace Gdk {
                public void free ();
                public uint hash ();
                public static bool parse (string spec, out Gdk.Color color);
+               [Version (since = "2.12")]
                public string to_string ();
        }
        [CCode (cheader_filename = "gdk/gdk.h", has_type_id = false)]
@@ -5400,11 +5665,17 @@ namespace Gdk {
                public double green;
                public double blue;
                public double alpha;
+               [Version (since = "3.0")]
                public Gdk.RGBA? copy ();
+               [Version (since = "3.0")]
                public bool equal (Gdk.RGBA p2);
+               [Version (since = "3.0")]
                public void free ();
+               [Version (since = "3.0")]
                public uint hash ();
+               [Version (since = "3.0")]
                public bool parse (string spec);
+               [Version (since = "3.0")]
                public string to_string ();
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
@@ -5656,6 +5927,7 @@ namespace Gdk {
        }
        [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_FRAME_CLOCK_PHASE_", type_id = 
"gdk_frame_clock_phase_get_type ()")]
        [Flags]
+       [Version (since = "3.8")]
        public enum FrameClockPhase {
                NONE,
                FLUSH_EVENTS,
@@ -5667,6 +5939,7 @@ namespace Gdk {
                AFTER_PAINT
        }
        [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_FULLSCREEN_ON_", type_id = 
"gdk_fullscreen_mode_get_type ()")]
+       [Version (since = "3.8")]
        public enum FullscreenMode {
                CURRENT_MONITOR,
                ALL_MONITORS
@@ -5722,6 +5995,7 @@ namespace Gdk {
                TOUCHPAD
        }
        [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_MODIFIER_INTENT_", type_id = 
"gdk_modifier_intent_get_type ()")]
+       [Version (since = "3.4")]
        public enum ModifierIntent {
                PRIMARY_ACCELERATOR,
                CONTEXT_MENU,
@@ -5933,18 +6207,24 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h", instance_pos = 1.9)]
        public delegate bool WindowChildFunc (Gdk.Window window);
        [CCode (cheader_filename = "gdk/gdk.h", has_target = false)]
+       [Version (since = "3.10")]
        public delegate void WindowInvalidateHandlerFunc (Gdk.Window window, Cairo.Region region);
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_BUTTON_MIDDLE")]
+       [Version (since = "3.4")]
        public const int BUTTON_MIDDLE;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_BUTTON_PRIMARY")]
+       [Version (since = "3.4")]
        public const int BUTTON_PRIMARY;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_BUTTON_SECONDARY")]
+       [Version (since = "3.4")]
        public const int BUTTON_SECONDARY;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_CURRENT_TIME")]
        public const int CURRENT_TIME;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_EVENT_PROPAGATE")]
+       [Version (since = "3.4")]
        public const bool EVENT_PROPAGATE;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_EVENT_STOP")]
+       [Version (since = "3.4")]
        public const bool EVENT_STOP;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_MAX_TIMECOORD_AXES")]
        public const int MAX_TIMECOORD_AXES;
@@ -5959,34 +6239,43 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public const Gdk.Atom SELECTION_SECONDARY;
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.16")]
+       [Version (deprecated = true, deprecated_since = "3.16")]
        public static void add_option_entries_libgtk_only (GLib.OptionGroup group);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void beep ();
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.8")]
        public static Cairo.Context cairo_create (Gdk.Window window);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.16")]
        public static void cairo_draw_from_gl (Cairo.Context cr, Gdk.Window window, int source, int 
source_type, int buffer_scale, int x, int y, int width, int height);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static bool cairo_get_clip_rectangle (Cairo.Context cr, out Gdk.Rectangle rect);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.8")]
        public static void cairo_rectangle (Cairo.Context cr, Gdk.Rectangle rectangle);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.8")]
        public static void cairo_region (Cairo.Context cr, Cairo.Region region);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static Cairo.Region cairo_region_create_from_surface (Cairo.Surface surface);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.4")]
+       [Version (deprecated = true, deprecated_since = "3.4", since = "2.8")]
        public static void cairo_set_source_color (Cairo.Context cr, Gdk.Color color);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.8")]
        public static void cairo_set_source_pixbuf (Cairo.Context cr, Gdk.Pixbuf pixbuf, double pixbuf_x, 
double pixbuf_y);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.0")]
        public static void cairo_set_source_rgba (Cairo.Context cr, Gdk.RGBA rgba);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.24")]
        public static void cairo_set_source_window (Cairo.Context cr, Gdk.Window window, double x, double y);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.10")]
        public static Cairo.Surface cairo_surface_create_from_pixbuf (Gdk.Pixbuf pixbuf, int scale, 
Gdk.Window? for_window);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.0")]
        public static void disable_multidevice ();
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void drag_abort (Gdk.DragContext context, uint32 time_);
@@ -5997,8 +6286,10 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void drag_drop (Gdk.DragContext context, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.6")]
        public static bool drag_drop_succeeded (Gdk.DragContext context);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.2")]
        public static void drag_find_window_for_screen (Gdk.DragContext context, Gdk.Window drag_window, 
Gdk.Screen screen, int x_root, int y_root, out Gdk.Window dest_window, out Gdk.DragProtocol protocol);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static Gdk.Atom drag_get_selection (Gdk.DragContext context);
@@ -6013,14 +6304,18 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static int error_trap_pop ();
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.0")]
        public static void error_trap_pop_ignored ();
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void error_trap_push ();
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.0")]
        public static bool events_get_angle (Gdk.Event event1, Gdk.Event event2, out double angle);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.0")]
        public static bool events_get_center (Gdk.Event event1, Gdk.Event event2, out double x, out double y);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.0")]
        public static bool events_get_distance (Gdk.Event event1, Gdk.Event event2, out double distance);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static bool events_pending ();
@@ -6029,9 +6324,10 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static unowned Gdk.Window get_default_root_window ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.8")]
+       [Version (deprecated = true, deprecated_since = "3.8")]
        public static string get_display ();
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.2")]
        public static unowned string? get_display_arg_name ();
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static unowned string get_program_class ();
@@ -6042,10 +6338,10 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref 
unowned string[] argv);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static Gdk.GrabStatus keyboard_grab (Gdk.Window window, bool owner_events, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void keyboard_ungrab (uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void keyval_convert_case (uint symbol, out uint lower, out uint upper);
@@ -6066,38 +6362,44 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static GLib.List<weak Gdk.Visual> list_visuals ();
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.2")]
        public static void notify_startup_complete ();
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.12")]
        public static void notify_startup_complete_with_id (string startup_id);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.18")]
        public static unowned Gdk.Window? offscreen_window_get_embedder (Gdk.Window window);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static unowned Cairo.Surface? offscreen_window_get_surface (Gdk.Window window);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.18")]
        public static void offscreen_window_set_embedder (Gdk.Window window, Gdk.Window embedder);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static Pango.Context pango_context_get ();
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.2")]
        public static Pango.Context pango_context_get_for_screen (Gdk.Screen screen);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static Cairo.Region pango_layout_get_clip_region (Pango.Layout layout, int x_origin, int 
y_origin, int index_ranges, int n_ranges);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.2")]
        public static void parse_args ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref 
unowned string[] argv);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static Gdk.Pixbuf? pixbuf_get_from_surface (Cairo.Surface surface, int src_x, int src_y, int 
width, int height);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static Gdk.Pixbuf? pixbuf_get_from_window (Gdk.Window window, int src_x, int src_y, int width, 
int height);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static Gdk.GrabStatus pointer_grab (Gdk.Window window, bool owner_events, Gdk.EventMask 
event_mask, Gdk.Window? confine_to, Gdk.Cursor? cursor, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static bool pointer_is_grabbed ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.0")]
+       [Version (deprecated = true, deprecated_since = "3.0")]
        public static void pointer_ungrab (uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.16")]
+       [Version (deprecated = true, deprecated_since = "3.16")]
        public static void pre_parse_libgtk_only ();
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void property_change (Gdk.Window window, Gdk.Atom property, Gdk.Atom type, int format, 
Gdk.PropMode mode, [CCode (array_length = false, type = "const guchar*")] uint8[] data, int nelements);
@@ -6110,30 +6412,31 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void query_visual_types ([CCode (array_length_cname = "count", array_length_pos = 1.1)] 
out unowned Gdk.VisualType[] visual_types);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.convert", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.convert")]
        public static void selection_convert (Gdk.Window requestor, Gdk.Atom selection, Gdk.Atom target, 
uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_get", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_get")]
        public static unowned Gdk.Window selection_owner_get (Gdk.Atom selection);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_get_for_display", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_get_for_display")]
        public static unowned Gdk.Window selection_owner_get_for_display (Gdk.Display display, Gdk.Atom 
selection);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_set", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_set")]
        public static bool selection_owner_set (Gdk.Window owner, Gdk.Atom selection, uint32 time_, bool 
send_event);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.owner_set_for_display", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.owner_set_for_display")]
        public static bool selection_owner_set_for_display (Gdk.Display display, Gdk.Window owner, Gdk.Atom 
selection, uint32 time_, bool send_event);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.property_get", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.property_get")]
        public static int selection_property_get (Gdk.Window requestor, uchar[] data, out Gdk.Atom prop_type, 
int prop_format);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.send_notify", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.send_notify")]
        public static void selection_send_notify (Gdk.Window requestor, Gdk.Atom selection, Gdk.Atom target, 
Gdk.Atom property, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (replacement = "Selection.send_notify_for_display", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Selection.send_notify_for_display")]
        public static void selection_send_notify_for_display (Gdk.Display display, Gdk.Window requestor, 
Gdk.Atom selection, Gdk.Atom target, Gdk.Atom property, uint32 time_);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "3.10")]
        public static void set_allowed_backends (string backends);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void set_double_click_time (uint msec);
@@ -6144,36 +6447,46 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static bool setting_get (string name, GLib.Value value);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.14")]
        public static void test_render_sync (Gdk.Window window);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.14")]
        public static bool test_simulate_button (Gdk.Window window, int x, int y, uint button, 
Gdk.ModifierType modifiers, Gdk.EventType button_pressrelease);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.14")]
        public static bool test_simulate_key (Gdk.Window window, int x, int y, uint keyval, Gdk.ModifierType 
modifiers, Gdk.EventType key_pressrelease);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.2")]
        public static int text_property_to_utf8_list_for_display (Gdk.Display display, Gdk.Atom encoding, int 
format, [CCode (array_length_cname = "length", array_length_pos = 4.5)] uint8[] text, [CCode (array_length = 
false, array_null_terminated = true)] out string[] list);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.12")]
        public static uint threads_add_idle (GLib.SourceFunc function);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.12")]
        public static uint threads_add_idle_full (int priority, owned GLib.SourceFunc function);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.12")]
        public static uint threads_add_timeout (uint interval, GLib.SourceFunc function);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.12")]
        public static uint threads_add_timeout_full (int priority, uint interval, owned GLib.SourceFunc 
function);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.14")]
        public static uint threads_add_timeout_seconds (uint interval, GLib.SourceFunc function);
        [CCode (cheader_filename = "gdk/gdk.h")]
+       [Version (since = "2.14")]
        public static uint threads_add_timeout_seconds_full (int priority, uint interval, owned 
GLib.SourceFunc function);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.6")]
+       [Version (deprecated = true, deprecated_since = "3.6")]
        public static void threads_enter ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.6")]
+       [Version (deprecated = true, deprecated_since = "3.6")]
        public static void threads_init ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.6")]
+       [Version (deprecated = true, deprecated_since = "3.6")]
        public static void threads_leave ();
        [CCode (cheader_filename = "gdk/gdk.h")]
-       [Deprecated (since = "3.6")]
+       [Version (deprecated = true, deprecated_since = "3.6", since = "2.4")]
        public static void threads_set_lock_functions (GLib.Callback enter_fn, GLib.Callback leave_fn);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static uint unicode_to_keyval (uint32 wc);
diff --git a/vapi/gdk-pixbuf-2.0.vapi b/vapi/gdk-pixbuf-2.0.vapi
index 28dac7a..5bc421b 100644
--- a/vapi/gdk-pixbuf-2.0.vapi
+++ b/vapi/gdk-pixbuf-2.0.vapi
@@ -7,6 +7,7 @@ namespace Gdk {
                [CCode (has_construct_function = false)]
                public Pixbuf (Gdk.Colorspace colorspace, bool has_alpha, int bits_per_sample, int width, int 
height);
                public Gdk.Pixbuf add_alpha (bool substitute_color, uint8 r, uint8 g, uint8 b);
+               [Version (since = "2.12")]
                public Gdk.Pixbuf apply_embedded_orientation ();
                public void composite (Gdk.Pixbuf dest, int dest_x, int dest_y, int dest_width, int 
dest_height, double offset_x, double offset_y, double scale_x, double scale_y, Gdk.InterpType interp_type, 
int overall_alpha);
                public void composite_color (Gdk.Pixbuf dest, int dest_x, int dest_y, int dest_width, int 
dest_height, double offset_x, double offset_y, double scale_x, double scale_y, Gdk.InterpType interp_type, 
int overall_alpha, int check_x, int check_y, int check_size, uint32 color1, uint32 color2);
@@ -14,68 +15,88 @@ namespace Gdk {
                public Gdk.Pixbuf copy ();
                public void copy_area (int src_x, int src_y, int width, int height, Gdk.Pixbuf dest_pixbuf, 
int dest_x, int dest_y);
                public void fill (uint32 pixel);
+               [Version (since = "2.6")]
                public Gdk.Pixbuf? flip (bool horizontal);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.32")]
                public Pixbuf.from_bytes (GLib.Bytes data, Gdk.Colorspace colorspace, bool has_alpha, int 
bits_per_sample, int width, int height, int rowstride);
                [CCode (has_construct_function = false)]
                public Pixbuf.from_data ([CCode (array_length = false)] owned uint8[] data, Gdk.Colorspace 
colorspace, bool has_alpha, int bits_per_sample, int width, int height, int rowstride, [CCode (type = 
"GdkPixbufDestroyNotify")] Gdk.PixbufDestroyNotify? destroy_fn = GLib.free);
                [CCode (has_construct_function = false)]
                public Pixbuf.from_file (string filename) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.6")]
                public Pixbuf.from_file_at_scale (string filename, int width, int height, bool 
preserve_aspect_ratio) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public Pixbuf.from_file_at_size (string filename, int width, int height) throws GLib.Error;
                [CCode (has_construct_function = false)]
-               [Deprecated (since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32")]
                public Pixbuf.from_inline ([CCode (array_length_cname = "data_length", array_length_pos = 
0.5)] uint8[] data, bool copy_pixels = true) throws GLib.Error;
                [CCode (cheader_filename = "gdk-pixbuf/gdk-pixdata.h")]
-               [Deprecated (since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32")]
                public static Gdk.Pixbuf from_pixdata (Gdk.Pixdata pixdata, bool copy_pixels = true) throws 
GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.26")]
                public Pixbuf.from_resource (string resource_path) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.26")]
                public Pixbuf.from_resource_at_scale (string resource_path, int width, int height, bool 
preserve_aspect_ratio) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.14")]
                public Pixbuf.from_stream (GLib.InputStream stream, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                [CCode (cname = "gdk_pixbuf_new_from_stream_async", has_construct_function = false)]
+               [Version (since = "2.24")]
                public async Pixbuf.from_stream_async (GLib.InputStream stream, GLib.Cancellable? 
cancellable) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.14")]
                public Pixbuf.from_stream_at_scale (GLib.InputStream stream, int width, int height, bool 
preserve_aspect_ratio, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (cname = "gdk_pixbuf_new_from_stream_at_scale_async", finish_name = 
"gdk_pixbuf_new_from_stream_finish")]
                public async Pixbuf.from_stream_at_scale_async (GLib.InputStream stream, int width, int 
height, bool preserve_aspect_ratio, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (has_construct_function = false)]
                public Pixbuf.from_xpm_data ([CCode (array_length = false, array_null_terminated = true)] 
string[] data);
                public int get_bits_per_sample ();
+               [Version (since = "2.26")]
                public size_t get_byte_length ();
                public Gdk.Colorspace get_colorspace ();
+               [Version (since = "2.4")]
                public static unowned Gdk.PixbufFormat? get_file_info (string filename, out int width, out 
int height);
+               [Version (since = "2.32")]
                public static async unowned Gdk.PixbufFormat get_file_info_async (string filename, 
GLib.Cancellable? cancellable, out int width, out int height) throws GLib.Error;
+               [Version (since = "2.2")]
                public static GLib.SList<weak Gdk.PixbufFormat> get_formats ();
                public bool get_has_alpha ();
                public int get_height ();
                public int get_n_channels ();
                public unowned string get_option (string key);
+               [Version (since = "2.32")]
                public GLib.HashTable<weak string,weak string> get_options ();
                [CCode (array_length = false)]
                public unowned uint8[] get_pixels ();
                [CCode (array_length_pos = 0.1, array_length_type = "guint")]
+               [Version (since = "2.26")]
                public unowned uint8[] get_pixels_with_length ();
                public int get_rowstride ();
                public int get_width ();
                [CCode (cname = "gdk_pixbuf_new_from_stream_async", finish_name = 
"gdk_pixbuf_new_from_stream_finish")]
-               [Deprecated (replacement = "Pixbuf.from_stream_async", since = "vala-0.18")]
+               [Version (deprecated_since = "vala-0.18", replacement = "Pixbuf.from_stream_async")]
                public static async Gdk.Pixbuf new_from_stream_async (GLib.InputStream stream, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (cname = "gdk_pixbuf_new_from_stream_at_scale_async", finish_name = 
"gdk_pixbuf_new_from_stream_finish")]
-               [Deprecated (replacement = "Pixbuf.from_stream_at_scale_async", since = "vala-0.18")]
+               [Version (deprecated_since = "vala-0.18", replacement = "Pixbuf.from_stream_at_scale_async")]
                public static async Gdk.Pixbuf new_from_stream_at_scale_async (GLib.InputStream stream, int 
width, int height, bool preserve_aspect_ratio, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.32")]
                public GLib.Bytes read_pixel_bytes ();
+               [Version (since = "2.32")]
                public uint8 read_pixels ();
+               [Version (since = "2.6")]
                public Gdk.Pixbuf? rotate_simple (Gdk.PixbufRotation angle);
                public void saturate_and_pixelate (Gdk.Pixbuf dest, float saturation, bool pixelate);
                public bool save (string filename, string type, ...) throws GLib.Error;
                public bool save_to_buffer ([CCode (array_length_type = "gsize", type = "gchar**")] out 
uint8[] buffer, string type, ...) throws GLib.Error;
+               [Version (since = "2.4")]
                public bool save_to_bufferv ([CCode (array_length_cname = "buffer_size", array_length_pos = 
1.5, array_length_type = "gsize")] out uint8[] buffer, string type, [CCode (array_length = false, 
array_null_terminated = true)] string[] option_keys, [CCode (array_length = false, array_null_terminated = 
true)] string[] option_values) throws GLib.Error;
                public bool save_to_callback (Gdk.PixbufSaveFunc save_func, string type, ...) throws 
GLib.Error;
+               [Version (since = "2.4")]
                public bool save_to_callbackv ([CCode (delegate_target_pos = 1.5)] Gdk.PixbufSaveFunc 
save_func, string type, [CCode (array_length = false, array_null_terminated = true)] string[] option_keys, 
[CCode (array_length = false, array_null_terminated = true)] string[] option_values) throws GLib.Error;
                public bool save_to_stream (GLib.OutputStream stream, string type, GLib.Cancellable? 
cancellable = null, ...) throws GLib.Error;
                [CCode (finish_name = "gdk_pixbuf_save_to_stream_finish")]
@@ -105,10 +126,13 @@ namespace Gdk {
                [CCode (has_construct_function = false)]
                public PixbufAnimation.from_file (string filename) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.28")]
                public PixbufAnimation.from_resource (string resource_path) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.28")]
                public PixbufAnimation.from_stream (GLib.InputStream stream, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                [CCode (cname = "gdk_pixbuf_animation_new_from_stream_async", has_construct_function = false)]
+               [Version (since = "2.28")]
                public async PixbufAnimation.from_stream_async (GLib.InputStream stream, GLib.Cancellable? 
cancellable) throws GLib.Error;
                public int get_height ();
                public Gdk.PixbufAnimationIter get_iter (GLib.TimeVal? start_time);
@@ -128,18 +152,29 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk-pixbuf/gdk-pixbuf.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gdk_pixbuf_format_get_type ()")]
        [Compact]
        public class PixbufFormat {
+               [Version (since = "2.22")]
                public Gdk.PixbufFormat copy ();
+               [Version (since = "2.22")]
                public void free ();
+               [Version (since = "2.2")]
                public string get_description ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.2")]
                public string[] get_extensions ();
+               [Version (since = "2.6")]
                public string get_license ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.2")]
                public string[] get_mime_types ();
+               [Version (since = "2.2")]
                public string get_name ();
+               [Version (since = "2.6")]
                public bool is_disabled ();
+               [Version (since = "2.6")]
                public bool is_scalable ();
+               [Version (since = "2.2")]
                public bool is_writable ();
+               [Version (since = "2.6")]
                public void set_disabled (bool disabled);
        }
        [CCode (cheader_filename = "gdk-pixbuf/gdk-pixbuf.h", type_id = "gdk_pixbuf_loader_get_type ()")]
@@ -148,14 +183,18 @@ namespace Gdk {
                public PixbufLoader ();
                public bool close () throws GLib.Error;
                public unowned Gdk.PixbufAnimation get_animation ();
+               [Version (since = "2.2")]
                public unowned Gdk.PixbufFormat? get_format ();
                public unowned Gdk.Pixbuf get_pixbuf ();
+               [Version (since = "2.2")]
                public void set_size (int width, int height);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.4")]
                public PixbufLoader.with_mime_type (string mime_type) throws GLib.Error;
                [CCode (has_construct_function = false)]
                public PixbufLoader.with_type (string image_type) throws GLib.Error;
                public bool write ([CCode (array_length_cname = "count", array_length_pos = 1.1, 
array_length_type = "gsize")] uint8[] buf) throws GLib.Error;
+               [Version (since = "2.30")]
                public bool write_bytes (GLib.Bytes buffer) throws GLib.Error;
                public virtual signal void area_prepared ();
                public virtual signal void area_updated (int x, int y, int width, int height);
@@ -165,10 +204,15 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk-pixbuf/gdk-pixbuf.h", type_id = "gdk_pixbuf_simple_anim_get_type ()")]
        public class PixbufSimpleAnim : Gdk.PixbufAnimation {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.8")]
                public PixbufSimpleAnim (int width, int height, float rate);
+               [Version (since = "2.8")]
                public void add_frame (Gdk.Pixbuf pixbuf);
+               [Version (since = "2.18")]
                public bool get_loop ();
+               [Version (since = "2.18")]
                public void set_loop (bool loop);
+               [Version (since = "2.18")]
                public bool loop { get; set; }
        }
        [CCode (cheader_filename = "gdk-pixbuf/gdk-pixbuf.h", type_id = "gdk_pixbuf_simple_anim_iter_get_type 
()")]
@@ -186,12 +230,12 @@ namespace Gdk {
                public uint32 height;
                [CCode (array_length = false, array_null_terminated = true)]
                public weak uint8[] pixel_data;
-               [Deprecated (since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32")]
                public bool deserialize ([CCode (array_length_cname = "stream_length", array_length_pos = 
0.5, array_length_type = "guint")] uint8[] stream) throws GLib.Error;
                [CCode (array_length_pos = 0.1, array_length_type = "guint")]
-               [Deprecated (since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32")]
                public uint8[] serialize ();
-               [Deprecated (since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32")]
                public GLib.StringBuilder to_csource (string name, Gdk.PixdataDumpType dump_type);
        }
        [CCode (cheader_filename = "gdk-pixbuf/gdk-pixbuf.h", cprefix = "GDK_COLORSPACE_", type_id = 
"gdk_colorspace_get_type ()")]
diff --git a/vapi/gdk-x11-2.0.vapi b/vapi/gdk-x11-2.0.vapi
index 83678e8..571f623 100644
--- a/vapi/gdk-x11-2.0.vapi
+++ b/vapi/gdk-x11-2.0.vapi
@@ -1,6 +1,6 @@
 /* gdk-x11-2.0.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "gdk-x11-3.0")]
+[Version (replacement = "gdk-x11-3.0")]
 namespace Gdk {
        [CCode (cheader_filename = "gdk/gdkx.h")]
        public static X.Atom x11_atom_to_xatom (Gdk.Atom atom);
diff --git a/vapi/gdk-x11-3.0.vapi b/vapi/gdk-x11-3.0.vapi
index 1744b59..b32bf75 100644
--- a/vapi/gdk-x11-3.0.vapi
+++ b/vapi/gdk-x11-3.0.vapi
@@ -23,6 +23,7 @@ namespace Gdk {
                        [CCode (has_construct_function = false)]
                        protected DeviceCore ();
                        [CCode (cname = "gdk_x11_device_manager_lookup")]
+                       [Version (since = "3.2")]
                        public static unowned Gdk.X11.DeviceCore lookup_for_device_manager 
(Gdk.X11.DeviceManagerCore device_manager, int device_id);
                }
                [CCode (cheader_filename = "gdk/gdkx.h", type_id = "gdk_x11_device_manager_core_get_type ()")]
@@ -56,22 +57,38 @@ namespace Gdk {
                public class Display : Gdk.Display {
                        [CCode (has_construct_function = false)]
                        protected Display ();
+                       [Version (since = "2.12")]
                        public void broadcast_startup_message (string message_type, ...);
+                       [Version (since = "3.0")]
                        public int error_trap_pop ();
+                       [Version (since = "3.0")]
                        public void error_trap_pop_ignored ();
+                       [Version (since = "3.0")]
                        public void error_trap_push ();
+                       [Version (since = "2.12")]
                        public unowned string get_startup_notification_id ();
+                       [Version (since = "2.8")]
                        public uint32 get_user_time ();
+                       [Version (since = "2.2")]
                        public unowned X.Display get_xdisplay ();
+                       [Version (since = "2.2")]
                        public void grab ();
                        [CCode (cname = "gdk_x11_lookup_xdisplay")]
+                       [Version (since = "2.2")]
                        public static unowned Gdk.X11.Display lookup_for_xdisplay (X.Display xdisplay);
+                       [Version (since = "2.8")]
                        public void set_cursor_theme (string theme, int size);
+                       [Version (since = "3.0")]
                        public void set_startup_notification_id (string startup_id);
+                       [Version (since = "3.10")]
                        public void set_window_scale (int scale);
+                       [Version (since = "2.24")]
                        public int string_to_compound_text (string str, out Gdk.Atom encoding, out int 
format, [CCode (array_length_cname = "length", array_length_pos = 4.1)] out uint8[] ctext);
+                       [Version (since = "2.24")]
                        public int text_property_to_text_list (Gdk.Atom encoding, int format, uint8 text, int 
length, string list);
+                       [Version (since = "2.2")]
                        public void ungrab ();
+                       [Version (since = "2.24")]
                        public bool utf8_to_compound_text (string str, out Gdk.Atom encoding, out int format, 
[CCode (array_length_cname = "length", array_length_pos = 4.1)] out uint8[] ctext);
                }
                [CCode (cheader_filename = "gdk/gdkx.h", type_id = "gdk_x11_display_manager_get_type ()")]
@@ -91,7 +108,9 @@ namespace Gdk {
                public class Keymap : Gdk.Keymap {
                        [CCode (has_construct_function = false)]
                        protected Keymap ();
+                       [Version (since = "3.6")]
                        public int get_group_for_state (uint state);
+                       [Version (since = "3.6")]
                        public bool key_is_modifier (uint keycode);
                }
                [CCode (cheader_filename = "gdk/gdkx.h", type_id = "gdk_x11_screen_get_type ()")]
@@ -99,13 +118,21 @@ namespace Gdk {
                public class Screen : Gdk.Screen {
                        [CCode (has_construct_function = false)]
                        protected Screen ();
+                       [Version (since = "3.10")]
                        public uint32 get_current_desktop ();
+                       [Version (since = "2.14")]
                        public X.ID get_monitor_output (int monitor_num);
+                       [Version (since = "3.10")]
                        public uint32 get_number_of_desktops ();
+                       [Version (since = "2.2")]
                        public int get_screen_number ();
+                       [Version (since = "2.2")]
                        public unowned string get_window_manager_name ();
+                       [Version (since = "2.2")]
                        public unowned X.Screen get_xscreen ();
+                       [Version (since = "2.2")]
                        public unowned Gdk.X11.Visual lookup_visual (X.VisualID xvisualid);
+                       [Version (since = "2.2")]
                        public bool supports_net_wm_hint (Gdk.Atom property);
                        public signal void window_manager_changed ();
                }
@@ -122,29 +149,43 @@ namespace Gdk {
                        [CCode (has_construct_function = false)]
                        protected Window ();
                        [CCode (cname = "gdk_x11_window_foreign_new_for_display", has_construct_function = 
false, type = "GdkWindow*")]
+                       [Version (since = "2.24")]
                        public Window.foreign_for_display (Gdk.X11.Display display, X.Window window);
+                       [Version (since = "3.10")]
                        public uint32 get_desktop ();
                        public X.Window get_xid ();
+                       [Version (since = "2.24")]
                        public static unowned Gdk.X11.Window lookup_for_display (Gdk.X11.Display display, 
X.Window window);
+                       [Version (since = "2.8")]
                        public void move_to_current_desktop ();
+                       [Version (since = "3.10")]
                        public void move_to_desktop (uint32 desktop);
-                       [Deprecated (since = "3.12")]
+                       [Version (deprecated = true, deprecated_since = "3.12", since = "3.10")]
                        public void set_frame_extents (int left, int right, int top, int bottom);
+                       [Version (since = "3.8")]
                        public void set_frame_sync_enabled (bool frame_sync_enabled);
+                       [Version (since = "3.4")]
                        public void set_hide_titlebar_when_maximized (bool hide_titlebar_when_maximized);
+                       [Version (since = "3.2")]
                        public void set_theme_variant (string variant);
+                       [Version (since = "2.6")]
                        public void set_user_time (uint32 timestamp);
+                       [Version (since = "3.4")]
                        public void set_utf8_property (string name, string? value);
                }
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static X.Atom atom_to_xatom (Gdk.Atom atom);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.2")]
                public static X.Atom atom_to_xatom_for_display (Gdk.X11.Display display, Gdk.Atom atom);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "3.2")]
                public static int device_get_id (Gdk.X11.DeviceCore device);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.24")]
                public static void free_compound_text ([CCode (array_length = false, type = "guchar*")] 
uint8[] ctext);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.24")]
                public static void free_text_list (string list);
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static X.Window get_default_root_xwindow ();
@@ -157,32 +198,37 @@ namespace Gdk {
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static X.Atom get_xatom_by_name (string atom_name);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.2")]
                public static X.Atom get_xatom_by_name_for_display (Gdk.X11.Display display, string 
atom_name);
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static unowned string get_xatom_name (X.Atom xatom);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.2")]
                public static unowned string get_xatom_name_for_display (Gdk.X11.Display display, X.Atom 
xatom);
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static void grab_server ();
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.4")]
                public static void register_standard_event_type (Gdk.X11.Display display, int event_base, int 
n_events);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.24")]
                public static void set_sm_client_id (string sm_client_id);
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static void ungrab_server ();
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static Gdk.Atom xatom_to_atom (X.Atom xatom);
                [CCode (cheader_filename = "gdk/gdkx.h")]
+               [Version (since = "2.2")]
                public static Gdk.Atom xatom_to_atom_for_display (Gdk.X11.Display display, X.Atom xatom);
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.AppLaunchContext", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.AppLaunchContext")]
        public class X11AppLaunchContext : Gdk.AppLaunchContext {
                [CCode (has_construct_function = false)]
                protected X11AppLaunchContext ();
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.Cursor", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.Cursor")]
        public class X11Cursor : Gdk.Cursor {
                [CCode (has_construct_function = false)]
                protected X11Cursor ();
@@ -190,7 +236,7 @@ namespace Gdk {
                public static unowned X.Display get_xdisplay (Gdk.Cursor cursor);
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.Display", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.Display")]
        public class X11Display : Gdk.Display {
                [CCode (has_construct_function = false)]
                protected X11Display ();
@@ -211,19 +257,19 @@ namespace Gdk {
                public static bool utf8_to_compound_text (Gdk.Display display, string str, out Gdk.Atom 
encoding, int format, uchar[] ctext, int length);
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.DisplayManager", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.DisplayManager")]
        public class X11DisplayManager : Gdk.DisplayManager {
                [CCode (has_construct_function = false)]
                protected X11DisplayManager ();
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.DragContext", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.DragContext")]
        public class X11DragContext : Gdk.DragContext {
                [CCode (has_construct_function = false)]
                protected X11DragContext ();
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.Keymap", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.Keymap")]
        public class X11Keymap : Gdk.Keymap {
                [CCode (has_construct_function = false)]
                protected X11Keymap ();
@@ -231,7 +277,7 @@ namespace Gdk {
                public static bool key_is_modifier (Gdk.Keymap keymap, uint keycode);
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.Screen", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.Screen")]
        public class X11Screen : Gdk.Screen {
                [CCode (has_construct_function = false)]
                protected X11Screen ();
@@ -246,14 +292,14 @@ namespace Gdk {
                public virtual signal void window_manager_changed ();
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.Visual", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.Visual")]
        public class X11Visual : Gdk.Visual {
                [CCode (has_construct_function = false)]
                protected X11Visual ();
                public static unowned X.Visual get_xvisual (Gdk.Visual visual);
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.Window", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.Window")]
        public class X11Window : Gdk.Window {
                [CCode (has_construct_function = false)]
                protected X11Window ();
@@ -271,60 +317,60 @@ namespace Gdk {
                public static void set_utf8_property (Gdk.Window window, string name, string value);
        }
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.atom_to_xatom", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.atom_to_xatom")]
        public static X.Atom x11_atom_to_xatom (Gdk.Atom atom);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.atom_to_xatom_for_display", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.atom_to_xatom_for_display")]
        public static X.Atom x11_atom_to_xatom_for_display (Gdk.Display display, Gdk.Atom atom);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.free_compound_text", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.free_compound_text")]
        public static void x11_free_compound_text (uchar[] ctext);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.free_text_list", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.free_text_list")]
        public static void x11_free_text_list (string list);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_default_root_xwindow", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_default_root_xwindow")]
        public static X.Window x11_get_default_root_xwindow ();
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_default_scree", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_default_scree")]
        public static int x11_get_default_screen ();
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_default_xdisplay", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_default_xdisplay")]
        public static unowned X.Display x11_get_default_xdisplay ();
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_server_time", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_server_time")]
        public static uint32 x11_get_server_time (Gdk.Window window);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_xatom_by_name", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_xatom_by_name")]
        public static X.Atom x11_get_xatom_by_name (string atom_name);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_xatom_by_name_for_display", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_xatom_by_name_for_display")]
        public static X.Atom x11_get_xatom_by_name_for_display (Gdk.Display display, string atom_name);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_xatom_nam", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_xatom_nam")]
        public static unowned string x11_get_xatom_name (X.Atom xatom);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.get_xatom_name_for_display", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.get_xatom_name_for_display")]
        public static unowned string x11_get_xatom_name_for_display (Gdk.Display display, X.Atom xatom);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.grab_server", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.grab_server")]
        public static void x11_grab_server ();
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.Display.lookup_for_xdisplay", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.Display.lookup_for_xdisplay")]
        public static unowned Gdk.Display x11_lookup_xdisplay (X.Display xdisplay);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.register_standard_event_type", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.register_standard_event_type")]
        public static void x11_register_standard_event_type (Gdk.Display display, int event_base, int 
n_events);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.set_sm_client_id", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.set_sm_client_id")]
        public static void x11_set_sm_client_id (string sm_client_id);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.ungrab_server", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.ungrab_server")]
        public static void x11_ungrab_server ();
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.xatom_to_atom", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.xatom_to_atom")]
        public static Gdk.Atom x11_xatom_to_atom (X.Atom xatom);
        [CCode (cheader_filename = "gdk/gdkx.h")]
-       [Deprecated (replacement = "Gdk.X11.xatom_to_atom_for_display", since = "vala-0.24")]
+       [Version (deprecated_since = "vala-0.24", replacement = "Gdk.X11.xatom_to_atom_for_display")]
        public static Gdk.Atom x11_xatom_to_atom_for_display (Gdk.Display display, X.Atom xatom);
 }
diff --git a/vapi/gdl-3.0.vapi b/vapi/gdl-3.0.vapi
index fc27098..d443f67 100644
--- a/vapi/gdl-3.0.vapi
+++ b/vapi/gdl-3.0.vapi
@@ -10,16 +10,17 @@ namespace Gdl {
                public void add_item (Gdl.DockItem item, Gdl.DockPlacement placement);
                public unowned Gdl.DockItem get_item_by_name (string name);
                public GLib.List<weak Gdl.DockObject> get_named_items ();
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public unowned Gdl.DockPlaceholder get_placeholder_by_name (string name);
                public unowned Gdl.DockObject get_root ();
                public void hide_preview ();
                public Gtk.Widget new_from (bool floating);
+               [Version (since = "3.6")]
                public void set_skip_taskbar (bool skip);
                public void show_preview (Gdk.Rectangle rect);
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public void xor_rect (Gdk.Rectangle rect);
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public void xor_rect_hide ();
                [NoAccessorMethod]
                public string default_title { owned get; set; }
@@ -32,6 +33,7 @@ namespace Gdl {
                [NoAccessorMethod]
                public int height { get; set construct; }
                [NoAccessorMethod]
+               [Version (since = "3.6")]
                public bool skip_taskbar { get; set construct; }
                [NoAccessorMethod]
                public int width { get; set construct; }
@@ -41,10 +43,10 @@ namespace Gdl {
        public class DockBar : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public DockBar (GLib.Object? master);
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public Gtk.Orientation get_orientation ();
                public Gdl.DockBarStyle get_style ();
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public void set_orientation (Gtk.Orientation orientation);
                public void set_style (Gdl.DockBarStyle style);
                [NoAccessorMethod]
@@ -58,27 +60,38 @@ namespace Gdl {
                public DockItem (string name, string long_name, Gdl.DockItemBehavior behavior);
                public void bind (Gtk.Widget dock);
                public void dock_to (Gdl.DockItem? target, Gdl.DockPlacement position, int docking_param);
+               [Version (since = "3.6")]
                public Gdl.DockItemBehavior get_behavior_flags ();
+               [Version (since = "3.6")]
                public unowned Gtk.Widget get_child ();
+               [Version (since = "3.6")]
                public void get_drag_area (Gdk.Rectangle rect);
                public unowned Gtk.Widget get_grip ();
+               [Version (since = "3.6")]
                public Gtk.Orientation get_orientation ();
                public unowned Gtk.Widget get_tablabel ();
                public void hide_grip ();
                public void hide_item ();
                public void iconify_item ();
+               [Version (since = "3.6")]
                public bool is_closed ();
+               [Version (since = "3.6")]
                public bool is_iconified ();
+               [Version (since = "3.6")]
                public bool is_placeholder ();
                public void @lock ();
                public void notify_deselected ();
                public void notify_selected ();
+               [Version (since = "3.3.2")]
                public bool or_child_has_focus ();
                public void preferred_size (Gtk.Requisition req);
+               [Version (since = "3.6")]
                public void set_behavior_flags (Gdl.DockItemBehavior behavior, bool clear);
+               [Version (since = "3.6")]
                public void set_child (Gtk.Widget? child);
                public void set_default_position (Gdl.DockObject reference);
                [CCode (cname = "gdl_dock_item_class_set_has_grip")]
+               [Version (since = "3.6")]
                public class void set_has_grip (bool has_grip);
                public virtual void set_orientation (Gtk.Orientation orientation);
                public void set_tablabel (Gtk.Widget tablabel);
@@ -86,16 +99,20 @@ namespace Gdl {
                public void show_item ();
                public void unbind ();
                public void unlock ();
+               [Version (since = "3.6")]
                public void unset_behavior_flags (Gdl.DockItemBehavior behavior);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "3.3.2")]
                public DockItem.with_pixbuf_icon (string name, string long_name, Gdk.Pixbuf pixbuf_icon, 
Gdl.DockItemBehavior behavior);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public DockItem.with_stock (string name, string long_name, string stock_id, 
Gdl.DockItemBehavior behavior);
                [NoAccessorMethod]
                public Gdl.DockItemBehavior behavior { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.6")]
                public bool closed { get; set; }
                [NoAccessorMethod]
+               [Version (since = "3.6")]
                public bool iconified { get; set; }
                [NoAccessorMethod]
                public bool locked { get; set; }
@@ -110,6 +127,7 @@ namespace Gdl {
                public virtual signal void dock_drag_begin ();
                public virtual signal void dock_drag_end (bool cancelled);
                public virtual signal void dock_drag_motion (Gdk.Device device, int x, int y);
+               [Version (since = "3.3.2")]
                public virtual signal void move_focus_child (Gtk.DirectionType direction);
                public signal void selected ();
        }
@@ -125,6 +143,7 @@ namespace Gdl {
                public DockItemGrip (Gdl.DockItem item);
                public bool has_event (Gdk.Event event);
                public void hide_handle ();
+               [Version (since = "3.6")]
                public void set_cursor (bool in_drag);
                public void set_label (Gtk.Widget label);
                public void show_handle ();
@@ -137,6 +156,7 @@ namespace Gdl {
                public void attach (Gdl.DockMaster master);
                public void delete_layout (string name);
                public GLib.List<string> get_layouts (bool include_default);
+               [Version (since = "3.6")]
                public unowned GLib.Object get_master ();
                public bool is_dirty ();
                public bool load_from_file (string filename);
@@ -156,6 +176,7 @@ namespace Gdl {
                public void @foreach (GLib.Func function);
                public void foreach_toplevel (bool include_controller, GLib.Func function);
                public unowned Gdl.DockObject get_controller ();
+               [Version (since = "3.6")]
                public string get_dock_name ();
                public unowned Gdl.DockObject get_object (string nick_name);
                public void remove (Gdl.DockObject object);
@@ -189,26 +210,39 @@ namespace Gdl {
                public virtual bool child_placement (Gdl.DockObject child, Gdl.DockPlacement? placement);
                public virtual bool dock_request (int x, int y, Gdl.DockRequest request);
                public void freeze ();
+               [Version (since = "3.6")]
                public unowned Gdl.DockObject get_controller ();
+               [Version (since = "3.6")]
                public unowned string get_long_name ();
+               [Version (since = "3.6")]
                public unowned GLib.Object get_master ();
                public unowned Gdl.DockObject get_parent_object ();
+               [Version (since = "3.6")]
                public unowned Gdk.Pixbuf get_pixbuf ();
+               [Version (since = "3.6")]
                public unowned string get_stock_id ();
                public unowned Gdl.Dock get_toplevel ();
+               [Version (since = "3.6")]
                public bool is_automatic ();
                public bool is_bound ();
+               [Version (since = "3.6")]
                public bool is_closed ();
                public bool is_compound ();
+               [Version (since = "3.6")]
                public bool is_frozen ();
+               [Version (since = "3.6")]
                public void layout_changed_notify ();
                public static unowned string nick_from_type (GLib.Type type);
                public virtual void present (Gdl.DockObject? child);
                public virtual void reduce ();
                public virtual bool reorder (Gdl.DockObject child, Gdl.DockPlacement new_position, 
GLib.Value? other_data);
+               [Version (since = "3.6")]
                public void set_long_name (string name);
+               [Version (since = "3.6")]
                public void set_manual ();
+               [Version (since = "3.6")]
                public void set_pixbuf (Gdk.Pixbuf? icon);
+               [Version (since = "3.6")]
                public void set_stock_id (string stock_id);
                public static GLib.Type set_type_for_nick (string nick, GLib.Type type);
                public void thaw ();
@@ -219,6 +253,7 @@ namespace Gdl {
                public Gdl.DockMaster master { owned get; set construct; }
                public string name { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "3.3.2")]
                public void* pixbuf_icon { get; set; }
                public string stock_id { get; set construct; }
                [HasEmitter]
@@ -241,9 +276,9 @@ namespace Gdl {
        [CCode (cheader_filename = "gdl/gdl.h", type_id = "gdl_dock_placeholder_get_type ()")]
        public class DockPlaceholder : Gdl.DockObject, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public DockPlaceholder (string name, Gdl.DockObject object, Gdl.DockPlacement position, bool 
sticky);
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public void attach (Gdl.DockObject object);
                [NoAccessorMethod]
                public bool floating { get; construct; }
@@ -270,11 +305,11 @@ namespace Gdl {
                public weak Gdk.Window event_window;
                public bool pre_drag;
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public DockTablabel (Gdl.DockItem item);
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public void activate ();
-               [Deprecated (since = "3.6")]
+               [Version (deprecated = true, deprecated_since = "3.6")]
                public void deactivate ();
                [NoAccessorMethod]
                public Gdl.DockItem item { owned get; set; }
@@ -336,8 +371,8 @@ namespace Gdl {
                ICONIFY
        }
        [CCode (cheader_filename = "gdl/gdl.h", cprefix = "GDL_DOCK_", type_id = 
"gdl_dock_item_flags_get_type ()")]
-       [Deprecated (since = "3.6")]
        [Flags]
+       [Version (deprecated = true, deprecated_since = "3.6")]
        public enum DockItemFlags {
                IN_DRAG,
                IN_PREDRAG,
@@ -382,7 +417,7 @@ namespace Gdl {
        [CCode (cheader_filename = "gdl/gdl.h", cname = "GDL_DOCK_NAME_PROPERTY")]
        public const string DOCK_NAME_PROPERTY;
        [CCode (cheader_filename = "gdl/gdl.h", cname = "GDL_DOCK_OBJECT_FLAGS_SHIFT")]
-       [Deprecated (since = "3.6")]
+       [Version (deprecated = true, deprecated_since = "3.6")]
        public const int DOCK_OBJECT_FLAGS_SHIFT;
        [CCode (cheader_filename = "gdl/gdl.h")]
        public static void marshal_VOID__OBJECT_ENUM_BOXED (GLib.Closure closure, GLib.Value return_value, 
uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
diff --git a/vapi/gedit-2.20.vapi b/vapi/gedit-2.20.vapi
index 2c8d4b7..f14f316 100644
--- a/vapi/gedit-2.20.vapi
+++ b/vapi/gedit-2.20.vapi
@@ -1,6 +1,6 @@
 /* gedit-2.20.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "gedit")]
+[Version (replacement = "gedit")]
 namespace Gedit {
        [CCode (cheader_filename = "gedit/gedit-app.h")]
        public class App : GLib.Object {
diff --git a/vapi/gedit.vapi b/vapi/gedit.vapi
index 1559d29..1381525 100644
--- a/vapi/gedit.vapi
+++ b/vapi/gedit.vapi
@@ -1,7 +1,7 @@
 /* gedit.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Gedit", gir_namespace = "Gedit", gir_version = "3.0", lower_case_cprefix = "gedit_")]
-[Deprecated (replacement = "bindings distributed with gedit", since = "3.12")]
+[Version (replacement = "bindings distributed with gedit", deprecated_since = "3.12")]
 namespace Gedit {
        [CCode (cheader_filename = "gedit/gedit-app.h", type_id = "gedit_app_get_type ()")]
        public abstract class App : Gtk.Application, GLib.ActionGroup, GLib.ActionMap {
@@ -25,12 +25,12 @@ namespace Gedit {
                [CCode (cname = "gedit_document_save")]
                public void do_save (Gedit.DocumentSaveFlags flags);
                public static GLib.Quark error_quark ();
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public bool get_can_search_again ();
                public Gedit.DocumentCompressionType get_compression_type ();
                public string get_content_type ();
                public bool get_deleted ();
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public bool get_enable_search_highlighting ();
                public unowned Gedit.Encoding get_encoding ();
                public unowned Gtk.SourceLanguage get_language ();
@@ -39,7 +39,7 @@ namespace Gedit {
                public string get_mime_type ();
                public Gedit.DocumentNewlineType get_newline_type ();
                public bool get_readonly ();
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public string get_search_text (uint? flags);
                public string get_short_name_for_display ();
                public string get_uri_for_display ();
@@ -51,29 +51,29 @@ namespace Gedit {
                public virtual void load (GLib.File location, Gedit.Encoding? encoding, int line_pos, int 
column_pos, bool create);
                public bool load_cancel ();
                public void load_stream (GLib.InputStream stream, Gedit.Encoding? encoding, int line_pos, int 
column_pos);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public int replace_all (string find, string replace, uint flags);
                public void save_as (GLib.File location, Gedit.Encoding encoding, Gedit.DocumentNewlineType 
newline_type, Gedit.DocumentCompressionType compression_type, Gedit.DocumentSaveFlags flags);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public bool search_backward (Gtk.TextIter? start, Gtk.TextIter? end, Gtk.TextIter? 
match_start, Gtk.TextIter? match_end);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public bool search_forward (Gtk.TextIter? start, Gtk.TextIter? end, Gtk.TextIter? 
match_start, Gtk.TextIter? match_end);
                public void set_content_type (string? content_type);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public void set_enable_search_highlighting (bool enable);
                public void set_language (Gtk.SourceLanguage? lang);
                public void set_location (GLib.File location);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public void set_search_text (string? text, uint flags);
                public void set_short_name_for_display (string? short_name);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public bool can_search_again { get; }
                [NoAccessorMethod]
                public Gedit.DocumentCompressionType compression_type { get; set construct; }
                public string content_type { owned get; set; }
                [NoAccessorMethod]
                public bool empty_search { get; }
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public bool enable_search_highlighting { get; set; }
                public Gedit.Encoding encoding { get; }
                public GLib.File location { owned get; set; }
@@ -90,7 +90,7 @@ namespace Gedit {
                public virtual signal void save (GLib.File location, Gedit.Encoding encoding, 
Gedit.DocumentNewlineType newline_type, Gedit.DocumentCompressionType compression_type, 
Gedit.DocumentSaveFlags flags);
                public virtual signal void saved (GLib.Error error);
                public virtual signal void saving (uint64 size, uint64 total_size);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public virtual signal void search_highlight_updated (Gtk.TextIter start, Gtk.TextIter end);
        }
        [CCode (cheader_filename = "gedit/gedit-encodings.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gedit_encoding_get_type ()")]
@@ -334,7 +334,7 @@ namespace Gedit {
                SAVE_TO_DISK
        }
        [CCode (cheader_filename = "gedit/gedit-document.h", cprefix = "GEDIT_SEARCH_", type_id = 
"gedit_search_flags_get_type ()")]
-       [Deprecated (since = "3.10")]
+       [Version (deprecated_since = "3.10")]
        [Flags]
        public enum SearchFlags {
                DONT_SET_FLAGS,
@@ -405,7 +405,7 @@ namespace Gedit {
        [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gedit/gedit-utils.h")]
        public static string[] utils_drop_get_uris (Gtk.SelectionData selection_data);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
-       [Deprecated (since = "3.10")]
+       [Version (deprecated_since = "3.10")]
        public static string utils_escape_search_text (string text);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_escape_underscores (string text, ssize_t length);
@@ -440,7 +440,7 @@ namespace Gedit {
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_str_middle_truncate (string string, uint truncate_length);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
-       [Deprecated (since = "3.10")]
+       [Version (deprecated_since = "3.10")]
        public static string utils_unescape_search_text (string text);
        [CCode (cheader_filename = "gedit/gedit-utils.h")]
        public static string utils_uri_get_dirname (string uri);
diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi
index 53d7100..a5b35eb 100644
--- a/vapi/gio-2.0.vapi
+++ b/vapi/gio-2.0.vapi
@@ -12,16 +12,22 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h")]
                public static GLib.DBusConnection get_sync (GLib.BusType bus_type, GLib.Cancellable? 
cancellable = null) throws GLib.IOError;
                [CCode (cheader_filename = "gio/gio.h", cname = "g_bus_own_name_with_closures")]
+               [Version (since = "2.26")]
                public static uint own_name (GLib.BusType bus_type, string name, GLib.BusNameOwnerFlags 
flags, [CCode (type = "GClosure*")] owned GLib.BusAcquiredCallback? bus_acquired_closure = null, [CCode (type 
= "GClosure*")] owned GLib.BusNameAcquiredCallback? name_acquired_closure = null, [CCode (type = 
"GClosure*")] owned GLib.BusNameLostCallback? name_lost_closure = null);
                [CCode (cheader_filename = "gio/gio.h", cname = "g_bus_own_name_on_connection_with_closures")]
+               [Version (since = "2.26")]
                public static uint own_name_on_connection (GLib.DBusConnection connection, string name, 
GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback? 
name_acquired_closure = null, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback? name_lost_closure 
= null);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static void unown_name (uint owner_id);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static void unwatch_name (uint watcher_id);
                [CCode (cheader_filename = "gio/gio.h", cname = "g_bus_watch_name_with_closures")]
+               [Version (since = "2.26")]
                public static uint watch_name (GLib.BusType bus_type, string name, GLib.BusNameWatcherFlags 
flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback? name_appeared_closure = null, [CCode 
(type = "GClosure*")] owned GLib.BusNameVanishedCallback? name_vanished_closure = null);
                [CCode (cheader_filename = "gio/gio.h", cname = 
"g_bus_watch_name_on_connection_with_closures")]
+               [Version (since = "2.26")]
                public static uint watch_name_on_connection (GLib.DBusConnection connection, string name, 
GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback? 
name_appeared_closure = null, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback? 
name_vanished_closure = null);
        }
        namespace ContentType {
@@ -30,20 +36,24 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h")]
                public static bool equals (string type1, string type2);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.18")]
                public static string? from_mime_type (string mime_type);
                [CCode (cheader_filename = "gio/gio.h")]
                public static string get_description (string type);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.34")]
                public static string get_generic_icon_name (string type);
                [CCode (cheader_filename = "gio/gio.h")]
                public static GLib.Icon get_icon (string type);
                [CCode (cheader_filename = "gio/gio.h")]
                public static string? get_mime_type (string type);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.34")]
                public static GLib.Icon get_symbolic_icon (string type);
                [CCode (cheader_filename = "gio/gio.h")]
                public static string guess (string? filename, [CCode (array_length_cname = "data_size", 
array_length_pos = 2.5, array_length_type = "gsize")] uint8[]? data, out bool result_uncertain);
                [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gio/gio.h")]
+               [Version (since = "2.18")]
                public static string[] guess_for_tree (GLib.File root);
                [CCode (cheader_filename = "gio/gio.h")]
                public static bool is_a (string type, string supertype);
@@ -54,32 +64,46 @@ namespace GLib {
        }
        namespace DBus {
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.36")]
                public static string address_escape_value (string string);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static async GLib.IOStream address_get_stream (string address, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static GLib.IOStream address_get_stream_sync (string address, string out_guid, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static unowned string annotation_info_lookup ([CCode (array_length = false, 
array_null_terminated = true)] GLib.DBusAnnotationInfo[]? annotations, string name);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static string generate_guid ();
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.30")]
                public static GLib.Variant gvalue_to_gvariant (GLib.Value gvalue, GLib.VariantType type);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.30")]
                public static GLib.Value gvariant_to_gvalue (GLib.Variant value);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static bool is_address (string string);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static bool is_guid (string string);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static bool is_interface_name (string string);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static bool is_member_name (string string);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static bool is_name (string string);
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static bool is_supported_address (string string) throws GLib.Error;
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.26")]
                public static bool is_unique_name (string string);
        }
        namespace FileAttribute {
@@ -110,6 +134,7 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_TYPE")]
                public const string FILESYSTEM_TYPE;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_USED")]
+               [Version (since = "2.32")]
                public const string FILESYSTEM_USED;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW")]
                public const string FILESYSTEM_USE_PREVIEW;
@@ -124,24 +149,31 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT")]
                public const string MOUNTABLE_CAN_MOUNT;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL")]
+               [Version (since = "2.22")]
                public const string MOUNTABLE_CAN_POLL;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START")]
+               [Version (since = "2.22")]
                public const string MOUNTABLE_CAN_START;
                [CCode (cheader_filename = "gio/gio.h", cname = 
"G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED")]
+               [Version (since = "2.22")]
                public const string MOUNTABLE_CAN_START_DEGRADED;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP")]
+               [Version (since = "2.22")]
                public const string MOUNTABLE_CAN_STOP;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT")]
                public const string MOUNTABLE_CAN_UNMOUNT;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI")]
                public const string MOUNTABLE_HAL_UDI;
                [CCode (cheader_filename = "gio/gio.h", cname = 
"G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC")]
+               [Version (since = "2.22")]
                public const string MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE")]
+               [Version (since = "2.22")]
                public const string MOUNTABLE_START_STOP_TYPE;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE")]
                public const string MOUNTABLE_UNIX_DEVICE;
                [CCode (cheader_filename = "gio/gio.h", cname = 
"G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE")]
+               [Version (since = "2.22")]
                public const string MOUNTABLE_UNIX_DEVICE_FILE;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_OWNER_GROUP")]
                public const string OWNER_GROUP;
@@ -150,10 +182,12 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_OWNER_USER_REAL")]
                public const string OWNER_USER_REAL;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_PREVIEW_ICON")]
+               [Version (since = "2.20")]
                public const string PREVIEW_ICON;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_SELINUX_CONTEXT")]
                public const string SELINUX_CONTEXT;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE")]
+               [Version (since = "2.20")]
                public const string STANDARD_ALLOCATED_SIZE;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE")]
                public const string STANDARD_CONTENT_TYPE;
@@ -184,6 +218,7 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER")]
                public const string STANDARD_SORT_ORDER;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON")]
+               [Version (since = "2.34")]
                public const string STANDARD_SYMBOLIC_ICON;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET")]
                public const string STANDARD_SYMLINK_TARGET;
@@ -194,6 +229,7 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_THUMBNAILING_FAILED")]
                public const string THUMBNAILING_FAILED;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID")]
+               [Version (since = "2.40")]
                public const string THUMBNAIL_IS_VALID;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_THUMBNAIL_PATH")]
                public const string THUMBNAIL_PATH;
@@ -214,10 +250,12 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC")]
                public const string TIME_MODIFIED_USEC;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TRASH_DELETION_DATE")]
+               [Version (since = "2.24.")]
                public const string TRASH_DELETION_DATE;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT")]
                public const string TRASH_ITEM_COUNT;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TRASH_ORIG_PATH")]
+               [Version (since = "2.24.")]
                public const string TRASH_ORIG_PATH;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_BLOCKS")]
                public const string UNIX_BLOCKS;
@@ -255,6 +293,7 @@ namespace GLib {
                public const string UUID;
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_app_info_monitor_get_type ()")]
+       [Version (since = "2.40")]
        public class AppInfoMonitor : GLib.Object {
                [CCode (has_construct_function = false)]
                protected AppInfoMonitor ();
@@ -267,20 +306,27 @@ namespace GLib {
                public AppLaunchContext ();
                public virtual string get_display (GLib.AppInfo info, GLib.List<GLib.File> files);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.32")]
                public string[] get_environment ();
                public virtual string get_startup_notify_id (GLib.AppInfo info, GLib.List<GLib.File> files);
+               [Version (since = "2.32")]
                public void setenv (string variable, string value);
+               [Version (since = "2.32")]
                public void unsetenv (string variable);
                [HasEmitter]
                public virtual signal void launch_failed (string startup_notify_id);
                public virtual signal void launched (GLib.AppInfo info, GLib.Variant platform_data);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_application_get_type ()")]
+       [Version (since = "2.28")]
        public class Application : GLib.Object, GLib.ActionGroup, GLib.ActionMap {
                [CCode (has_construct_function = false)]
                public Application (string? application_id, GLib.ApplicationFlags flags);
+               [Version (since = "2.42")]
                public void add_main_option (string long_name, char short_name, GLib.OptionFlags flags, 
GLib.OptionArg arg, string description, string? arg_description);
+               [Version (since = "2.40")]
                public void add_main_option_entries ([CCode (array_length = false, array_null_terminated = 
true)] GLib.OptionEntry[] entries);
+               [Version (since = "2.40")]
                public void add_option_group (GLib.OptionGroup group);
                [NoWrapper]
                public virtual void add_platform_data (GLib.VariantBuilder builder);
@@ -293,19 +339,25 @@ namespace GLib {
                [NoWrapper]
                public virtual void dbus_unregister (GLib.DBusConnection connection, string object_path);
                public unowned string get_application_id ();
+               [Version (since = "2.34")]
                public unowned GLib.DBusConnection get_dbus_connection ();
+               [Version (since = "2.34")]
                public unowned string get_dbus_object_path ();
+               [Version (since = "2.32")]
                public static unowned GLib.Application get_default ();
                public GLib.ApplicationFlags get_flags ();
                public uint get_inactivity_timeout ();
                public bool get_is_registered ();
                public bool get_is_remote ();
+               [Version (since = "2.42")]
                public unowned string? get_resource_base_path ();
                public void hold ();
                public static bool id_is_valid (string application_id);
                [NoWrapper]
                public virtual bool local_command_line ([CCode (array_length = false, array_null_terminated = 
true)] ref unowned string[] arguments, out int exit_status);
+               [Version (since = "2.38")]
                public void mark_busy ();
+               [Version (since = "2.32")]
                public void quit ();
                [NoWrapper]
                public virtual void quit_mainloop ();
@@ -314,15 +366,20 @@ namespace GLib {
                public int run ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] string[]? argv 
= null);
                [NoWrapper]
                public virtual void run_mainloop ();
+               [Version (since = "2.40")]
                public void send_notification (string? id, GLib.Notification notification);
-               [Deprecated (since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32", since = "2.28")]
                public void set_action_group (GLib.ActionGroup? action_group);
                public void set_application_id (string? application_id);
+               [Version (since = "2.32")]
                public void set_default ();
                public void set_flags (GLib.ApplicationFlags flags);
                public void set_inactivity_timeout (uint inactivity_timeout);
+               [Version (since = "2.42")]
                public void set_resource_base_path (string? resource_path);
+               [Version (since = "2.38")]
                public void unmark_busy ();
+               [Version (since = "2.40")]
                public void withdraw_notification (string id);
                public GLib.ActionGroup action_group { set; }
                public string application_id { get; set construct; }
@@ -334,6 +391,7 @@ namespace GLib {
                [HasEmitter]
                public virtual signal void activate ();
                public virtual signal int command_line (GLib.ApplicationCommandLine command_line);
+               [Version (since = "2.40")]
                public virtual signal int handle_local_options (GLib.VariantDict options);
                [HasEmitter]
                public virtual signal void open ([CCode (array_length_cname = "n_files", array_length_pos = 
1.5)] GLib.File[] files, string hint);
@@ -344,26 +402,39 @@ namespace GLib {
        public class ApplicationCommandLine : GLib.Object {
                [CCode (has_construct_function = false)]
                protected ApplicationCommandLine ();
+               [Version (since = "2.36")]
                public GLib.File create_file_for_arg (string arg);
                [CCode (array_length_pos = 0.1)]
+               [Version (since = "2.28")]
                public string[] get_arguments ();
+               [Version (since = "2.28")]
                public unowned string get_cwd ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.28")]
                public unowned string[] get_environ ();
+               [Version (since = "2.28")]
                public int get_exit_status ();
+               [Version (since = "2.28")]
                public bool get_is_remote ();
+               [Version (since = "2.40")]
                public unowned GLib.VariantDict get_options_dict ();
+               [Version (since = "2.28")]
                public GLib.Variant? get_platform_data ();
+               [Version (since = "2.34")]
                public virtual GLib.InputStream get_stdin ();
+               [Version (since = "2.28")]
                public unowned string getenv (string name);
                [PrintfFormat]
+               [Version (since = "2.28")]
                public void print (string format, ...);
                [NoWrapper]
                public virtual void print_literal (string message);
                [PrintfFormat]
+               [Version (since = "2.28")]
                public void printerr (string format, ...);
                [NoWrapper]
                public virtual void printerr_literal (string message);
+               [Version (since = "2.28")]
                public void set_exit_status (int exit_status);
                public GLib.Variant arguments { construct; }
                public bool is_remote { get; }
@@ -403,7 +474,9 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_bytes_icon_get_type ()")]
        public class BytesIcon : GLib.Object, GLib.Icon, GLib.LoadableIcon {
                [CCode (has_construct_function = false, type = "GIcon*")]
+               [Version (since = "2.38")]
                public BytesIcon (GLib.Bytes bytes);
+               [Version (since = "2.38")]
                public unowned GLib.Bytes get_bytes ();
                public GLib.Bytes bytes { get; construct; }
        }
@@ -412,17 +485,22 @@ namespace GLib {
                [CCode (has_construct_function = false)]
                public Cancellable ();
                public void cancel ();
+               [Version (since = "2.22")]
                public ulong connect ([CCode (type = "GCallback")] owned GLib.Func<GLib.Cancellable> 
callback);
+               [Version (since = "2.22")]
                public void disconnect (ulong handler_id);
                public static unowned GLib.Cancellable? get_current ();
                public int get_fd ();
                public bool is_cancelled ();
+               [Version (since = "2.22")]
                public bool make_pollfd (GLib.PollFD pollfd);
                public void pop_current ();
                public void push_current ();
+               [Version (since = "2.22")]
                public void release_fd ();
                public void reset ();
                public bool set_error_if_cancelled () throws GLib.IOError;
+               [Version (since = "2.28")]
                public GLib.CancellableSource source_new ();
                public virtual signal void cancelled ();
        }
@@ -435,9 +513,13 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_charset_converter_get_type ()")]
        public class CharsetConverter : GLib.Object, GLib.Converter, GLib.Initable {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.24")]
                public CharsetConverter (string to_charset, string from_charset) throws GLib.Error;
+               [Version (since = "2.24")]
                public uint get_num_fallbacks ();
+               [Version (since = "2.24")]
                public bool get_use_fallback ();
+               [Version (since = "2.24")]
                public void set_use_fallback (bool use_fallback);
                [NoAccessorMethod]
                public string from_charset { owned get; construct; }
@@ -449,6 +531,7 @@ namespace GLib {
        public class ConverterInputStream : GLib.FilterInputStream, GLib.PollableInputStream {
                [CCode (has_construct_function = false, type = "GInputStream*")]
                public ConverterInputStream (GLib.InputStream base_stream, GLib.Converter converter);
+               [Version (since = "2.24")]
                public unowned GLib.Converter get_converter ();
                public GLib.Converter converter { get; construct; }
        }
@@ -456,14 +539,17 @@ namespace GLib {
        public class ConverterOutputStream : GLib.FilterOutputStream, GLib.PollableOutputStream {
                [CCode (has_construct_function = false, type = "GOutputStream*")]
                public ConverterOutputStream (GLib.OutputStream base_stream, GLib.Converter converter);
+               [Version (since = "2.24")]
                public unowned GLib.Converter get_converter ();
                public GLib.Converter converter { get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_credentials_get_type ()")]
+       [Version (since = "2.26")]
        public class Credentials : GLib.Object {
                [CCode (has_construct_function = false)]
                public Credentials ();
                public void* get_native (GLib.CredentialsType native_type);
+               [Version (since = "2.36")]
                public int get_unix_pid () throws GLib.Error;
                public uint get_unix_user () throws GLib.Error;
                public bool is_same_user (GLib.Credentials other_credentials) throws GLib.Error;
@@ -475,10 +561,12 @@ namespace GLib {
        public class DBusActionGroup : GLib.Object, GLib.ActionGroup, GLib.RemoteActionGroup {
                [CCode (has_construct_function = false)]
                protected DBusActionGroup ();
+               [Version (since = "2.32")]
                public static GLib.DBusActionGroup @get (GLib.DBusConnection connection, string bus_name, 
string object_path);
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_annotation_info_ref", type_id = 
"g_dbus_annotation_info_get_type ()", unref_function = "g_dbus_annotation_info_unref")]
        [Compact]
+       [Version (since = "2.26")]
        public class DBusAnnotationInfo {
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusAnnotationInfo[] annotations;
@@ -490,6 +578,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_arg_info_ref", type_id = 
"g_dbus_arg_info_get_type ()", unref_function = "g_dbus_arg_info_unref")]
        [Compact]
+       [Version (since = "2.26")]
        public class DBusArgInfo {
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusAnnotationInfo[] annotations;
@@ -500,26 +589,33 @@ namespace GLib {
                public void unref ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_auth_observer_get_type ()")]
+       [Version (since = "2.26")]
        public class DBusAuthObserver : GLib.Object {
                [CCode (has_construct_function = false)]
                public DBusAuthObserver ();
                [HasEmitter]
+               [Version (since = "2.34")]
                public signal bool allow_mechanism (string mechanism);
                public virtual signal bool authorize_authenticated_peer (GLib.IOStream stream, 
GLib.Credentials? credentials);
        }
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.26")]
        public class DBusConnection : GLib.Object, GLib.AsyncInitable, GLib.Initable, GLib.AsyncInitable, 
GLib.Initable {
                [CCode (has_construct_function = false)]
                protected DBusConnection ();
                public uint add_filter (owned GLib.DBusMessageFilterFunction filter_function);
                public async GLib.Variant call (string? bus_name, string object_path, string interface_name, 
string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int 
timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public GLib.Variant call_sync (string? bus_name, string object_path, string interface_name, 
string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int 
timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.30")]
                public async GLib.Variant call_with_unix_fd_list (string? bus_name, string object_path, 
string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, 
GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, GLib.Cancellable? cancellable = 
null, out GLib.UnixFDList? out_fd_list = null) throws GLib.Error;
+               [Version (since = "2.30")]
                public GLib.Variant call_with_unix_fd_list_sync (string? bus_name, string object_path, string 
interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, 
GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, out GLib.UnixFDList? out_fd_list 
= null, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool close (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool close_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool emit_signal (string? destination_bus_name, string object_path, string 
interface_name, string signal_name, GLib.Variant? parameters) throws GLib.Error;
+               [Version (since = "2.32")]
                public uint export_action_group (string object_path, GLib.ActionGroup action_group) throws 
GLib.Error;
+               [Version (since = "2.32")]
                public uint export_menu_model (string object_path, GLib.MenuModel menu) throws GLib.Error;
                public async bool flush (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool flush_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -528,6 +624,7 @@ namespace GLib {
                public GLib.DBusCapabilityFlags get_capabilities ();
                public bool get_exit_on_close ();
                public unowned string get_guid ();
+               [Version (since = "2.34")]
                public uint32 get_last_serial ();
                public unowned GLib.Credentials get_peer_credentials ();
                public async T get_proxy<T> (string? name, string object_path, GLib.DBusProxyFlags flags = 0, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
@@ -551,7 +648,9 @@ namespace GLib {
                public void start_message_processing ();
                [CCode (has_construct_function = false)]
                public DBusConnection.sync (GLib.IOStream stream, string? guid, GLib.DBusConnectionFlags 
flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.32")]
                public void unexport_action_group (uint export_id);
+               [Version (since = "2.32")]
                public void unexport_menu_model (uint export_id);
                public bool unregister_object (uint registration_id);
                public bool unregister_subtree (uint registration_id);
@@ -568,6 +667,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_interface_info_ref", type_id = 
"g_dbus_interface_info_get_type ()", unref_function = "g_dbus_interface_info_unref")]
        [Compact]
+       [Version (since = "2.26")]
        public class DBusInterfaceInfo {
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusAnnotationInfo[] annotations;
@@ -579,7 +679,9 @@ namespace GLib {
                public int ref_count;
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusSignalInfo[] signals;
+               [Version (since = "2.30")]
                public void cache_build ();
+               [Version (since = "2.30")]
                public void cache_release ();
                public void generate_xml (uint indent, GLib.StringBuilder string_builder);
                public unowned GLib.DBusMethodInfo lookup_method (string name);
@@ -589,21 +691,25 @@ namespace GLib {
                public void unref ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_interface_skeleton_get_type ()")]
+       [Version (since = "2.30")]
        public abstract class DBusInterfaceSkeleton : GLib.Object, GLib.DBusInterface {
                [CCode (has_construct_function = false)]
                protected DBusInterfaceSkeleton ();
                public bool export (GLib.DBusConnection connection, string object_path) throws GLib.Error;
                public virtual void flush ();
                public unowned GLib.DBusConnection get_connection ();
+               [Version (since = "2.32")]
                public GLib.List<GLib.DBusConnection> get_connections ();
                public GLib.DBusInterfaceSkeletonFlags get_flags ();
                public virtual unowned GLib.DBusInterfaceInfo get_info ();
                public unowned string get_object_path ();
                public virtual GLib.Variant get_properties ();
                public virtual GLib.DBusInterfaceVTable? get_vtable ();
+               [Version (since = "2.32")]
                public bool has_connection (GLib.DBusConnection connection);
                public void set_flags (GLib.DBusInterfaceSkeletonFlags flags);
                public void unexport ();
+               [Version (since = "2.32")]
                public void unexport_from_connection (GLib.DBusConnection connection);
                [NoAccessorMethod]
                public GLib.DBusInterfaceSkeletonFlags g_flags { get; set; }
@@ -613,9 +719,11 @@ namespace GLib {
        public class DBusMenuModel : GLib.MenuModel {
                [CCode (has_construct_function = false)]
                protected DBusMenuModel ();
+               [Version (since = "2.32")]
                public static GLib.DBusMenuModel @get (GLib.DBusConnection connection, string bus_name, 
string object_path);
        }
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.26")]
        public class DBusMessage : GLib.Object {
                [CCode (has_construct_function = false)]
                public DBusMessage ();
@@ -681,6 +789,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_method_info_ref", type_id = 
"g_dbus_method_info_get_type ()", unref_function = "g_dbus_method_info_unref")]
        [Compact]
+       [Version (since = "2.26")]
        public class DBusMethodInfo {
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusAnnotationInfo[] annotations;
@@ -694,6 +803,7 @@ namespace GLib {
                public void unref ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_method_invocation_get_type ()")]
+       [Version (since = "2.26")]
        public class DBusMethodInvocation : GLib.Object {
                [CCode (has_construct_function = false)]
                protected DBusMethodInvocation ();
@@ -704,6 +814,7 @@ namespace GLib {
                public unowned string get_method_name ();
                public unowned string get_object_path ();
                public unowned GLib.Variant get_parameters ();
+               [Version (since = "2.38")]
                public unowned GLib.DBusPropertyInfo get_property_info ();
                public unowned string get_sender ();
                public void* get_user_data ();
@@ -713,11 +824,14 @@ namespace GLib {
                public void return_error_valist (GLib.Quark domain, int code, string format, [CCode (type = 
"va_list")] va_list var_args);
                public void return_gerror (GLib.Error error);
                public void return_value (GLib.Variant? parameters);
+               [Version (since = "2.30")]
                public void return_value_with_unix_fd_list (GLib.Variant? parameters, GLib.UnixFDList? 
fd_list);
+               [Version (since = "2.30")]
                public void take_error (owned GLib.Error error);
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_node_info_ref", type_id = 
"g_dbus_node_info_get_type ()", unref_function = "g_dbus_node_info_unref")]
        [Compact]
+       [Version (since = "2.26")]
        public class DBusNodeInfo {
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusAnnotationInfo[] annotations;
@@ -735,6 +849,7 @@ namespace GLib {
                public void unref ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_manager_client_get_type ()")]
+       [Version (since = "2.30")]
        public class DBusObjectManagerClient : GLib.Object, GLib.AsyncInitable, GLib.DBusObjectManager, 
GLib.Initable, GLib.AsyncInitable, GLib.DBusObjectManager, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected DBusObjectManagerClient ();
@@ -767,12 +882,14 @@ namespace GLib {
                public virtual signal void interface_proxy_signal (GLib.DBusObjectProxy object_proxy, 
GLib.DBusProxy interface_proxy, string sender_name, string signal_name, GLib.Variant parameters);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_manager_server_get_type ()")]
+       [Version (since = "2.30")]
        public class DBusObjectManagerServer : GLib.Object, GLib.DBusObjectManager {
                [CCode (has_construct_function = false)]
                public DBusObjectManagerServer (string object_path);
                public void export (GLib.DBusObjectSkeleton object);
                public void export_uniquely (GLib.DBusObjectSkeleton object);
                public GLib.DBusConnection get_connection ();
+               [Version (since = "2.34")]
                public bool is_exported (GLib.DBusObjectSkeleton object);
                public void set_connection (GLib.DBusConnection? connection);
                public bool unexport (string object_path);
@@ -781,6 +898,7 @@ namespace GLib {
                public string object_path { owned get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_proxy_get_type ()")]
+       [Version (since = "2.30")]
        public class DBusObjectProxy : GLib.Object, GLib.DBusObject {
                [CCode (has_construct_function = false)]
                public DBusObjectProxy (GLib.DBusConnection connection, string object_path);
@@ -791,6 +909,7 @@ namespace GLib {
                public string g_object_path { owned get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_skeleton_get_type ()")]
+       [Version (since = "2.30")]
        public class DBusObjectSkeleton : GLib.Object, GLib.DBusObject {
                [CCode (has_construct_function = false)]
                public DBusObjectSkeleton (string object_path);
@@ -805,6 +924,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_property_info_ref", type_id = 
"g_dbus_property_info_get_type ()", unref_function = "g_dbus_property_info_unref")]
        [Compact]
+       [Version (since = "2.26")]
        public class DBusPropertyInfo {
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusAnnotationInfo[] annotations;
@@ -816,12 +936,15 @@ namespace GLib {
                public void unref ();
        }
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.26")]
        public class DBusProxy : GLib.Object, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable, 
GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected DBusProxy ();
                public async GLib.Variant call (string method_name, GLib.Variant? parameters, 
GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public GLib.Variant call_sync (string method_name, GLib.Variant? parameters, 
GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.30")]
                public async GLib.Variant call_with_unix_fd_list (string method_name, GLib.Variant? 
parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, GLib.Cancellable? 
cancellable = null, out GLib.UnixFDList? out_fd_list = null) throws GLib.Error;
+               [Version (since = "2.30")]
                public GLib.Variant call_with_unix_fd_list_sync (string method_name, GLib.Variant? 
parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, out GLib.UnixFDList? 
out_fd_list = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (cname = "g_dbus_proxy_new_for_bus", finish_function = 
"g_dbus_proxy_new_for_bus_finish")]
                public static async GLib.DBusProxy create_for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags 
flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
@@ -866,6 +989,7 @@ namespace GLib {
                public virtual signal void g_signal (string? sender_name, string signal_name, GLib.Variant 
parameters);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_server_get_type ()")]
+       [Version (since = "2.26")]
        public class DBusServer : GLib.Object, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected DBusServer ();
@@ -890,6 +1014,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_signal_info_ref", type_id = 
"g_dbus_signal_info_get_type ()", unref_function = "g_dbus_signal_info_unref")]
        [Compact]
+       [Version (since = "2.26")]
        public class DBusSignalInfo {
                [CCode (array_length = false, array_null_terminated = true)]
                public GLib.DBusAnnotationInfo[] annotations;
@@ -913,7 +1038,9 @@ namespace GLib {
                [CCode (array_length = false, array_null_terminated = true)]
                public string? read_line (out size_t length = null, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.20")]
                public async string? read_line_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null, out size_t length = null) throws GLib.IOError, GLib.IOError;
+               [Version (since = "2.30")]
                public string? read_line_utf8 (out size_t length, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
                [CCode (cname = "g_data_input_stream_read_line_async", finish_function = 
"g_data_input_stream_read_line_finish_utf8")]
                public async string? read_line_utf8_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null, out size_t length) throws GLib.IOError, GLib.IOError;
@@ -921,8 +1048,11 @@ namespace GLib {
                public uint32 read_uint32 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public uint64 read_uint64 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public string read_until (string stop_chars, out size_t length, GLib.Cancellable? cancellable 
= null) throws GLib.IOError;
+               [Version (since = "2.20")]
                public async string read_until_async (string stop_chars, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t length) throws GLib.IOError, 
GLib.IOError;
+               [Version (since = "2.26")]
                public string read_upto (string stop_chars, ssize_t stop_chars_len, out size_t length, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
+               [Version (since = "2.26")]
                public async string read_upto_async (string stop_chars, ssize_t stop_chars_len, int 
io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t length) throws 
GLib.IOError, GLib.IOError;
                public void set_byte_order (GLib.DataStreamByteOrder order);
                public void set_newline_type (GLib.DataStreamNewlineType type);
@@ -948,10 +1078,14 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_emblem_get_type ()")]
        public class Emblem : GLib.Object, GLib.Icon {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.18")]
                public Emblem (GLib.Icon icon);
+               [Version (since = "2.18")]
                public unowned GLib.Icon get_icon ();
+               [Version (since = "2.18")]
                public GLib.EmblemOrigin get_origin ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.18")]
                public Emblem.with_origin (GLib.Icon icon, GLib.EmblemOrigin origin);
                public GLib.Object icon { get; construct; }
                public GLib.EmblemOrigin origin { get; construct; }
@@ -959,10 +1093,15 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_emblemed_icon_get_type ()")]
        public class EmblemedIcon : GLib.Object, GLib.Icon {
                [CCode (has_construct_function = false, type = "GIcon*")]
+               [Version (since = "2.18")]
                public EmblemedIcon (GLib.Icon icon, GLib.Emblem? emblem);
+               [Version (since = "2.18")]
                public void add_emblem (GLib.Emblem emblem);
+               [Version (since = "2.28")]
                public void clear_emblems ();
+               [Version (since = "2.18")]
                public unowned GLib.List<GLib.Emblem> get_emblems ();
+               [Version (since = "2.18")]
                public unowned GLib.Icon get_icon ();
                [NoAccessorMethod]
                public GLib.Icon gicon { owned get; construct; }
@@ -992,6 +1131,7 @@ namespace GLib {
                public bool matches_only (string attribute);
                public GLib.FileAttributeMatcher @ref ();
                public GLib.FileAttributeMatcher subtract (GLib.FileAttributeMatcher subtract);
+               [Version (since = "2.32")]
                public string to_string ();
                public void unref ();
        }
@@ -1003,7 +1143,9 @@ namespace GLib {
                public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                [NoWrapper]
                public virtual bool close_fn (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.36")]
                public GLib.File get_child (GLib.FileInfo info);
+               [Version (since = "2.18")]
                public unowned GLib.File get_container ();
                public bool has_pending ();
                public bool is_closed ();
@@ -1020,8 +1162,11 @@ namespace GLib {
                public virtual bool can_seek ();
                [NoWrapper]
                public virtual bool can_truncate ();
+               [Version (since = "2.22")]
                public virtual string get_etag ();
+               [Version (since = "2.22")]
                public virtual GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
+               [Version (since = "2.22")]
                public virtual async GLib.FileInfo query_info_async (string attributes, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [NoWrapper]
                public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
@@ -1054,11 +1199,13 @@ namespace GLib {
                public GLib.FileAttributeStatus get_attribute_status (string attribute);
                public unowned string get_attribute_string (string attribute);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.22")]
                public unowned string[] get_attribute_stringv (string attribute);
                public GLib.FileAttributeType get_attribute_type (string attribute);
                public uint32 get_attribute_uint32 (string attribute);
                public uint64 get_attribute_uint64 (string attribute);
                public unowned string get_content_type ();
+               [Version (since = "2.36")]
                public GLib.DateTime get_deletion_date ();
                public unowned string get_display_name ();
                public unowned string get_edit_name ();
@@ -1072,9 +1219,11 @@ namespace GLib {
                public unowned string get_name ();
                public int64 get_size ();
                public int32 get_sort_order ();
+               [Version (since = "2.34")]
                public unowned GLib.Icon get_symbolic_icon ();
                public unowned string get_symlink_target ();
                public bool has_attribute (string attribute);
+               [Version (since = "2.22")]
                public bool has_namespace (string name_space);
                [CCode (array_length = false, array_null_terminated = true)]
                public string[]? list_attributes (string name_space);
@@ -1086,6 +1235,7 @@ namespace GLib {
                public void set_attribute_int64 (string attribute, int64 attr_value);
                public void set_attribute_mask (GLib.FileAttributeMatcher mask);
                public void set_attribute_object (string attribute, GLib.Object attr_value);
+               [Version (since = "2.22")]
                public bool set_attribute_status (string attribute, GLib.FileAttributeStatus status);
                public void set_attribute_string (string attribute, string attr_value);
                public void set_attribute_stringv (string attribute, [CCode (array_length = false)] string[] 
attr_value);
@@ -1102,6 +1252,7 @@ namespace GLib {
                public void set_name (string name);
                public void set_size (int64 size);
                public void set_sort_order (int32 sort_order);
+               [Version (since = "2.34")]
                public void set_symbolic_icon (GLib.Icon icon);
                public void set_symlink_target (string symlink_target);
                public void unset_attribute_mask ();
@@ -1197,8 +1348,10 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = 
"G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME")]
                public const string NATIVE_VOLUME_MONITOR;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_NETWORK_MONITOR_EXTENSION_POINT_NAME")]
+               [Version (since = "2.30")]
                public const string NETWORK_MONITOR;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_PROXY_EXTENSION_POINT_NAME")]
+               [Version (since = "2.26")]
                public const string PROXY;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_PROXY_RESOLVER_EXTENSION_POINT_NAME")]
                public const string PROXY_RESOLVER;
@@ -1227,17 +1380,22 @@ namespace GLib {
                [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_load_all_in_directory")]
                public static GLib.List<GLib.IOModule> load_all_in_directory (string dirname);
                [CCode (cheader_filename = "gio/gio.h", cname = 
"g_io_modules_load_all_in_directory_with_scope")]
+               [Version (since = "2.30")]
                public static GLib.List<GLib.IOModule> load_all_in_directory_with_scope (string dirname, 
GLib.IOModuleScope scope);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.24")]
                public static string[] query ();
                [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_scan_all_in_directory")]
+               [Version (since = "2.24")]
                public static void scan_all_in_directory (string dirname);
                [CCode (cheader_filename = "gio/gio.h", cname = 
"g_io_modules_scan_all_in_directory_with_scope")]
+               [Version (since = "2.30")]
                public static void scan_all_in_directory_with_scope (string dirname, GLib.IOModuleScope 
scope);
                public void unload ();
        }
        [CCode (cheader_filename = "gio/gio.h")]
        [Compact]
+       [Version (since = "2.30")]
        public class IOModuleScope {
                [CCode (has_construct_function = false)]
                public IOModuleScope (GLib.IOModuleScopeFlags flags);
@@ -1248,29 +1406,36 @@ namespace GLib {
        [Compact]
        public class IOSchedulerJob {
                [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_cancel_all_jobs")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static void cancel_all ();
                [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_push_job")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static void push ([CCode (delegate_target_pos = 1.33333, destroy_notify_pos = 
1.66667)] owned GLib.IOSchedulerJobFunc job_func, int io_priority, GLib.Cancellable? cancellable = null);
-               [Deprecated]
+               [Version (deprecated = true)]
                public bool send_to_mainloop (owned GLib.SourceFunc func);
-               [Deprecated]
+               [Version (deprecated = true)]
                public void send_to_mainloop_async (owned GLib.SourceFunc func);
        }
        [CCode (cheader_filename = "gio/gio.h")]
        public abstract class IOStream : GLib.Object {
                [CCode (has_construct_function = false)]
                protected IOStream ();
+               [Version (since = "2.22")]
                public void clear_pending ();
                [CCode (vfunc_name = "close_fn")]
                public virtual bool close (GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
+               [Version (since = "2.22")]
                public virtual unowned GLib.InputStream get_input_stream ();
+               [Version (since = "2.22")]
                public virtual unowned GLib.OutputStream get_output_stream ();
+               [Version (since = "2.22")]
                public bool has_pending ();
+               [Version (since = "2.22")]
                public bool is_closed ();
+               [Version (since = "2.22")]
                public bool set_pending () throws GLib.Error;
+               [Version (since = "2.28")]
                public async bool splice_async (GLib.IOStream stream2, GLib.IOStreamSpliceFlags flags, int 
io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [NoAccessorMethod]
                public bool closed { get; }
@@ -1286,44 +1451,74 @@ namespace GLib {
                [CCode (has_construct_function = false)]
                protected InetAddress ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.22")]
                public InetAddress.any (GLib.SocketFamily family);
+               [Version (since = "2.30")]
                public bool equal (GLib.InetAddress other_address);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.22")]
                public InetAddress.from_bytes ([CCode (array_length = false)] uint8[] bytes, 
GLib.SocketFamily family);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.22")]
                public InetAddress.from_string (string string);
+               [Version (since = "2.22")]
                public GLib.SocketFamily get_family ();
+               [Version (since = "2.22")]
                public bool get_is_any ();
+               [Version (since = "2.22")]
                public bool get_is_link_local ();
+               [Version (since = "2.22")]
                public bool get_is_loopback ();
+               [Version (since = "2.22")]
                public bool get_is_mc_global ();
+               [Version (since = "2.22")]
                public bool get_is_mc_link_local ();
+               [Version (since = "2.22")]
                public bool get_is_mc_node_local ();
+               [Version (since = "2.22")]
                public bool get_is_mc_org_local ();
+               [Version (since = "2.22")]
                public bool get_is_mc_site_local ();
+               [Version (since = "2.22")]
                public bool get_is_multicast ();
+               [Version (since = "2.22")]
                public bool get_is_site_local ();
+               [Version (since = "2.22")]
                public size_t get_native_size ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.22")]
                public InetAddress.loopback (GLib.SocketFamily family);
                [CCode (array_length = false)]
+               [Version (since = "2.22")]
                public virtual unowned uint8[] to_bytes ();
+               [Version (since = "2.22")]
                public virtual string to_string ();
                [NoAccessorMethod]
                public void* bytes { get; construct; }
                public GLib.SocketFamily family { get; construct; }
+               [Version (since = "2.22")]
                public bool is_any { get; }
+               [Version (since = "2.22")]
                public bool is_link_local { get; }
+               [Version (since = "2.22")]
                public bool is_loopback { get; }
+               [Version (since = "2.22")]
                public bool is_mc_global { get; }
+               [Version (since = "2.22")]
                public bool is_mc_link_local { get; }
+               [Version (since = "2.22")]
                public bool is_mc_node_local { get; }
+               [Version (since = "2.22")]
                public bool is_mc_org_local { get; }
+               [Version (since = "2.22")]
                public bool is_mc_site_local { get; }
+               [Version (since = "2.22")]
                public bool is_multicast { get; }
+               [Version (since = "2.22")]
                public bool is_site_local { get; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_inet_address_mask_get_type ()")]
+       [Version (since = "2.32")]
        public class InetAddressMask : GLib.Object, GLib.Initable {
                [CCode (has_construct_function = false)]
                public InetAddressMask (GLib.InetAddress addr, uint length) throws GLib.Error;
@@ -1344,14 +1539,21 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_inet_socket_address_get_type ()")]
        public class InetSocketAddress : GLib.SocketAddress, GLib.SocketConnectable {
                [CCode (has_construct_function = false, type = "GSocketAddress*")]
+               [Version (since = "2.22")]
                public InetSocketAddress (GLib.InetAddress address, uint16 port);
                [CCode (has_construct_function = false, type = "GSocketAddress*")]
+               [Version (since = "2.40")]
                public InetSocketAddress.from_string (string address, uint port);
+               [Version (since = "2.22")]
                public unowned GLib.InetAddress get_address ();
+               [Version (since = "2.32")]
                public uint32 get_flowinfo ();
+               [Version (since = "2.22")]
                public uint16 get_port ();
+               [Version (since = "2.32")]
                public uint32 get_scope_id ();
                public GLib.InetAddress address { get; construct; }
+               [Version (since = "2.32")]
                public uint flowinfo { get; construct; }
                public uint port { get; construct; }
                public uint scope_id { get; construct; }
@@ -1369,9 +1571,12 @@ namespace GLib {
                [CCode (vfunc_name = "read_fn")]
                public abstract ssize_t read ([CCode (array_length_type = "gsize")] uint8[] buffer, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public bool read_all ([CCode (array_length_cname = "count", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] buffer, out size_t bytes_read, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
+               [Version (since = "2.44")]
                public async bool read_all_async ([CCode (array_length_cname = "count", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority, GLib.Cancellable? cancellable, out size_t 
bytes_read) throws GLib.Error;
                public virtual async ssize_t read_async ([CCode (array_length_cname = "count", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+               [Version (since = "2.34")]
                public GLib.Bytes read_bytes (size_t count, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               [Version (since = "2.34")]
                public async GLib.Bytes read_bytes_async (size_t count, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool set_pending () throws GLib.Error;
                public virtual ssize_t skip (size_t count, GLib.Cancellable? cancellable = null) throws 
GLib.IOError;
@@ -1381,9 +1586,11 @@ namespace GLib {
        public class MemoryInputStream : GLib.InputStream, GLib.PollableInputStream, GLib.Seekable {
                [CCode (has_construct_function = false, type = "GInputStream*")]
                public MemoryInputStream ();
+               [Version (since = "2.34")]
                public void add_bytes (GLib.Bytes bytes);
                public void add_data ([CCode (array_length_cname = "len", array_length_pos = 1.5, 
array_length_type = "gssize")] owned uint8[] data, GLib.DestroyNotify? destroy);
                [CCode (has_construct_function = false, type = "GInputStream*")]
+               [Version (since = "2.34")]
                public MemoryInputStream.from_bytes (GLib.Bytes bytes);
                [CCode (has_construct_function = false, type = "GInputStream*")]
                public MemoryInputStream.from_data ([CCode (array_length_cname = "len", array_length_pos = 
1.5, array_length_type = "gssize")] owned uint8[] data, GLib.DestroyNotify? destroy);
@@ -1394,28 +1601,40 @@ namespace GLib {
                public MemoryOutputStream ([CCode (array_length_type = "gsize")] owned uint8[]? data, 
GLib.ReallocFunc? realloc_function, GLib.DestroyNotify? destroy_function);
                [CCode (array_length = false)]
                public unowned uint8[] get_data ();
+               [Version (since = "2.18")]
                public size_t get_data_size ();
                public size_t get_size ();
                [CCode (has_construct_function = false, type = "GOutputStream*")]
+               [Version (since = "2.36")]
                public MemoryOutputStream.resizable ();
+               [Version (since = "2.34")]
                public GLib.Bytes steal_as_bytes ();
                [CCode (array_length = false)]
+               [Version (since = "2.26")]
                public uint8[] steal_data ();
+               [Version (since = "2.24")]
                public void* data { get; construct; }
+               [Version (since = "2.24")]
                public ulong data_size { get; }
                [NoAccessorMethod]
+               [Version (since = "2.24")]
                public GLib.DestroyNotify? destroy_function { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.24")]
                public GLib.ReallocFunc? realloc_function { get; construct; }
+               [Version (since = "2.24")]
                public ulong size { get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_get_type ()")]
+       [Version (since = "2.32")]
        public class Menu : GLib.MenuModel {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_ACTION")]
                public const string ATTRIBUTE_ACTION;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_ACTION_NAMESPACE")]
+               [Version (since = "2.36")]
                public const string ATTRIBUTE_ACTION_NAMESPACE;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_ICON")]
+               [Version (since = "2.38")]
                public const string ATTRIBUTE_ICON;
                [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_LABEL")]
                public const string ATTRIBUTE_LABEL;
@@ -1441,9 +1660,11 @@ namespace GLib {
                public void prepend_section (string? label, GLib.MenuModel section);
                public void prepend_submenu (string? label, GLib.MenuModel submenu);
                public void remove (int position);
+               [Version (since = "2.38")]
                public void remove_all ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_attribute_iter_get_type ()")]
+       [Version (since = "2.32")]
        public abstract class MenuAttributeIter : GLib.Object {
                [CCode (has_construct_function = false)]
                protected MenuAttributeIter ();
@@ -1453,12 +1674,16 @@ namespace GLib {
                public bool next ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_item_get_type ()")]
+       [Version (since = "2.32")]
        public class MenuItem : GLib.Object {
                [CCode (has_construct_function = false)]
                public MenuItem (string? label, string? detailed_action);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.34")]
                public MenuItem.from_model (GLib.MenuModel model, int item_index);
+               [Version (since = "2.34")]
                public GLib.Variant get_attribute_value (string attribute, GLib.VariantType? expected_type);
+               [Version (since = "2.34")]
                public GLib.MenuModel get_link (string link);
                [CCode (has_construct_function = false)]
                public MenuItem.section (string? label, GLib.MenuModel section);
@@ -1467,6 +1692,7 @@ namespace GLib {
                public void set_attribute (string attribute, string? format_string, ...);
                public void set_attribute_value (string attribute, GLib.Variant? value);
                public void set_detailed_action (string detailed_action);
+               [Version (since = "2.38")]
                public void set_icon (GLib.Icon icon);
                public void set_label (string? label);
                public void set_link (string link, GLib.MenuModel? model);
@@ -1476,6 +1702,7 @@ namespace GLib {
                public MenuItem.submenu (string? label, GLib.MenuModel submenu);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_link_iter_get_type ()")]
+       [Version (since = "2.32")]
        public abstract class MenuLinkIter : GLib.Object {
                [CCode (has_construct_function = false)]
                protected MenuLinkIter ();
@@ -1485,6 +1712,7 @@ namespace GLib {
                public bool next ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_model_get_type ()")]
+       [Version (since = "2.32")]
        public abstract class MenuModel : GLib.Object {
                [CCode (has_construct_function = false)]
                protected MenuModel ();
@@ -1524,12 +1752,15 @@ namespace GLib {
                public string password { get; set; }
                public GLib.PasswordSave password_save { get; set; }
                public string username { get; set; }
+               [Version (since = "2.20")]
                public virtual signal void aborted ();
                public virtual signal void ask_password (string message, string default_user, string 
default_domain, GLib.AskPasswordFlags flags);
                public virtual signal void ask_question (string message, [CCode (array_length = false, 
array_null_terminated = true)] string[] choices);
                [HasEmitter]
                public virtual signal void reply (GLib.MountOperationResult result);
+               [Version (since = "2.22")]
                public signal void show_processes (string message, GLib.Array<GLib.Pid> processes, [CCode 
(array_length = false, array_null_terminated = true)] string[] choices);
+               [Version (since = "2.34")]
                public virtual signal void show_unmount_progress (string message, int64 time_left, int64 
bytes_left);
        }
        [CCode (cheader_filename = "gio/gio.h")]
@@ -1542,13 +1773,20 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_network_address_get_type ()")]
        public class NetworkAddress : GLib.Object, GLib.SocketConnectable {
                [CCode (has_construct_function = false, type = "GSocketConnectable*")]
+               [Version (since = "2.22")]
                public NetworkAddress (string hostname, uint16 port);
+               [Version (since = "2.22")]
                public unowned string get_hostname ();
+               [Version (since = "2.22")]
                public uint16 get_port ();
+               [Version (since = "2.26")]
                public unowned string get_scheme ();
                [CCode (has_construct_function = false, type = "GSocketConnectable*")]
+               [Version (since = "2.44")]
                public NetworkAddress.loopback (uint16 port);
+               [Version (since = "2.22")]
                public static GLib.SocketConnectable parse (string host_and_port, uint16 default_port) throws 
GLib.Error;
+               [Version (since = "2.26")]
                public static GLib.SocketConnectable parse_uri (string uri, uint16 default_port) throws 
GLib.Error;
                public string hostname { get; construct; }
                public uint port { get; construct; }
@@ -1557,11 +1795,17 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_network_service_get_type ()")]
        public class NetworkService : GLib.Object, GLib.SocketConnectable {
                [CCode (has_construct_function = false, type = "GSocketConnectable*")]
+               [Version (since = "2.22")]
                public NetworkService (string service, string protocol, string domain);
+               [Version (since = "2.22")]
                public unowned string get_domain ();
+               [Version (since = "2.22")]
                public unowned string get_protocol ();
+               [Version (since = "2.26")]
                public unowned string get_scheme ();
+               [Version (since = "2.22")]
                public unowned string get_service ();
+               [Version (since = "2.26")]
                public void set_scheme (string scheme);
                public string domain { get; construct; }
                public string protocol { get; construct; }
@@ -1569,6 +1813,7 @@ namespace GLib {
                public string service { get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_notification_get_type ()")]
+       [Version (since = "2.40")]
        public class Notification : GLib.Object {
                [CCode (has_construct_function = false)]
                public Notification (string title);
@@ -1594,6 +1839,7 @@ namespace GLib {
                public virtual async bool flush_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool has_pending ();
                public bool is_closed ();
+               [Version (since = "2.24")]
                public bool is_closing ();
                public bool set_pending () throws GLib.Error;
                public virtual ssize_t splice (GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
@@ -1601,6 +1847,7 @@ namespace GLib {
                [CCode (vfunc_name = "write_fn")]
                public abstract ssize_t write ([CCode (array_length_type = "gsize")] uint8[] buffer, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public bool write_all ([CCode (array_length_cname = "count", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] buffer, out size_t bytes_written, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
+               [Version (since = "2.44")]
                public async bool write_all_async ([CCode (array_length_cname = "count", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority, GLib.Cancellable? cancellable, out size_t 
bytes_written) throws GLib.Error;
                public virtual async ssize_t write_async ([CCode (array_length_cname = "count", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
                public ssize_t write_bytes (GLib.Bytes bytes, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
@@ -1610,13 +1857,21 @@ namespace GLib {
        public abstract class Permission : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Permission ();
+               [Version (since = "2.26")]
                public virtual bool acquire (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.26")]
                public virtual async bool acquire_async (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               [Version (since = "2.26")]
                public bool get_allowed ();
+               [Version (since = "2.26")]
                public bool get_can_acquire ();
+               [Version (since = "2.26")]
                public bool get_can_release ();
+               [Version (since = "2.26")]
                public void impl_update (bool allowed, bool can_acquire, bool can_release);
+               [Version (since = "2.26")]
                public virtual bool release (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.26")]
                public virtual async bool release_async (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public bool allowed { get; }
                public bool can_acquire { get; }
@@ -1633,6 +1888,7 @@ namespace GLib {
                public void set_callback ([CCode (type = "GSourceFunc")] owned GLib.PollableSourceFunc func);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_property_action_get_type ()")]
+       [Version (since = "2.38")]
        public class PropertyAction : GLib.Object, GLib.Action {
                [CCode (has_construct_function = false)]
                public PropertyAction (string name, void* object, string property_name);
@@ -1640,21 +1896,26 @@ namespace GLib {
                public string property_name { construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_proxy_address_get_type ()")]
+       [Version (since = "2.26")]
        public class ProxyAddress : GLib.InetSocketAddress, GLib.SocketConnectable {
                [CCode (has_construct_function = false, type = "GSocketAddress*")]
                public ProxyAddress (GLib.InetAddress inetaddr, uint16 port, string protocol, string 
dest_hostname, uint16 dest_port, string? username, string? password);
                public unowned string get_destination_hostname ();
                public uint16 get_destination_port ();
+               [Version (since = "2.34")]
                public unowned string get_destination_protocol ();
                public unowned string get_password ();
                public unowned string get_protocol ();
+               [Version (since = "2.34")]
                public unowned string get_uri ();
                public unowned string get_username ();
                public string destination_hostname { get; construct; }
                public uint destination_port { get; construct; }
+               [Version (since = "2.34")]
                public string destination_protocol { get; construct; }
                public string password { get; construct; }
                public string protocol { get; construct; }
+               [Version (since = "2.34")]
                public string uri { get; construct; }
                public string username { get; construct; }
        }
@@ -1665,8 +1926,10 @@ namespace GLib {
                [NoAccessorMethod]
                public GLib.SocketConnectable connectable { owned get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public uint default_port { get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.36")]
                public GLib.ProxyResolver proxy_resolver { owned get; set construct; }
                [NoAccessorMethod]
                public string uri { owned get; construct; }
@@ -1675,13 +1938,21 @@ namespace GLib {
        public class Resolver : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Resolver ();
+               [Version (since = "2.22")]
                public static GLib.Resolver get_default ();
+               [Version (since = "2.22")]
                public virtual string lookup_by_address (GLib.InetAddress address, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public virtual async string lookup_by_address_async (GLib.InetAddress address, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public virtual GLib.List<GLib.InetAddress> lookup_by_name (string hostname, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public virtual async GLib.List<GLib.InetAddress> lookup_by_name_async (string hostname, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.34")]
                public virtual GLib.List<GLib.Variant> lookup_records (string rrname, GLib.ResolverRecordType 
record_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.34")]
                public virtual async GLib.List<GLib.Variant> lookup_records_async (string rrname, 
GLib.ResolverRecordType record_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public GLib.List<GLib.SrvTarget> lookup_service (string service, string protocol, string 
domain, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (finish_function = "g_resolver_lookup_service_finish")]
                public async GLib.List<GLib.SrvTarget> lookup_service_async (string service, string protocol, 
string domain, GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -1691,11 +1962,13 @@ namespace GLib {
                [CCode (finish_function = "g_resolver_lookup_service_finish", vfunc_name = 
"lookup_service_async")]
                [NoWrapper]
                public virtual async GLib.List<GLib.SrvTarget> lookup_service_fn_async (string rrname, 
GLib.Cancellable? cancellable = null);
+               [Version (since = "2.22")]
                public void set_default ();
                public virtual signal void reload ();
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_resource_ref", type_id = 
"g_resource_get_type ()", unref_function = "g_resource_unref")]
        [Compact]
+       [Version (since = "2.32")]
        public class Resource {
                [CCode (cname = "g_resources_register")]
                public void _register ();
@@ -1716,77 +1989,111 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h")]
        public class Settings : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.26")]
                public Settings (string schema_id);
                public void apply ();
+               [Version (since = "2.26")]
                public void bind (string key, GLib.Object object, string property, GLib.SettingsBindFlags 
flags);
                public void bind_with_mapping (string key, GLib.Object object, string property, 
GLib.SettingsBindFlags flags, GLib.SettingsBindGetMappingShared get_mapping, 
GLib.SettingsBindSetMappingShared set_mapping, void* user_data, GLib.DestroyNotify? notify);
+               [Version (since = "2.26")]
                public void bind_writable (string key, GLib.Object object, string property, bool inverted);
+               [Version (since = "2.32")]
                public GLib.Action create_action (string key);
+               [Version (since = "2.26")]
                public void delay ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.32")]
                public Settings.full (GLib.SettingsSchema schema, GLib.SettingsBackend? backend, string? 
path);
                [CCode (sentinel = "")]
+               [Version (since = "2.26")]
                public void @get (string key, string format, ...);
+               [Version (since = "2.26")]
                public bool get_boolean (string key);
+               [Version (since = "2.26")]
                public GLib.Settings get_child (string name);
+               [Version (since = "2.40")]
                public GLib.Variant get_default_value (string key);
+               [Version (since = "2.26")]
                public double get_double (string key);
+               [Version (since = "2.26")]
                public int get_enum (string key);
+               [Version (since = "2.26")]
                public uint get_flags (string key);
+               [Version (since = "2.26")]
                public bool get_has_unapplied ();
+               [Version (since = "2.26")]
                public int get_int (string key);
                public void* get_mapped (string key, GLib.SettingsGetMapping mapping);
-               [Deprecated (since = "2.40")]
+               [Version (deprecated = true, deprecated_since = "2.40", since = "2.28")]
                public GLib.Variant get_range (string key);
+               [Version (since = "2.26")]
                public string get_string (string key);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.26")]
                public string[] get_strv (string key);
+               [Version (since = "2.30")]
                public uint get_uint (string key);
+               [Version (since = "2.40")]
                public GLib.Variant get_user_value (string key);
+               [Version (since = "2.26")]
                public GLib.Variant get_value (string key);
+               [Version (since = "2.26")]
                public bool is_writable (string name);
                [CCode (array_length = false, array_null_terminated = true)]
                public string[] list_children ();
                [CCode (array_length = false, array_null_terminated = true)]
                public string[] list_keys ();
                [CCode (array_length = false, array_null_terminated = true)]
-               [Deprecated (since = "2.40")]
+               [Version (deprecated = true, deprecated_since = "2.40", since = "2.28")]
                public static unowned string[] list_relocatable_schemas ();
                [CCode (array_length = false, array_null_terminated = true)]
-               [Deprecated (since = "2.40")]
+               [Version (deprecated = true, deprecated_since = "2.40", since = "2.26")]
                public static unowned string[] list_schemas ();
-               [Deprecated (since = "2.40")]
+               [Version (deprecated = true, deprecated_since = "2.40", since = "2.28")]
                public bool range_check (string key, GLib.Variant value);
                public void reset (string key);
                public void revert ();
                [CCode (sentinel = "")]
+               [Version (since = "2.26")]
                public bool @set (string key, string format, ...);
+               [Version (since = "2.26")]
                public bool set_boolean (string key, bool value);
+               [Version (since = "2.26")]
                public bool set_double (string key, double value);
                public bool set_enum (string key, int value);
                public bool set_flags (string key, uint value);
+               [Version (since = "2.26")]
                public bool set_int (string key, int value);
+               [Version (since = "2.26")]
                public bool set_string (string key, string value);
+               [Version (since = "2.26")]
                public bool set_strv (string key, [CCode (array_length = false, array_null_terminated = 
true)] string[]? value);
+               [Version (since = "2.30")]
                public bool set_uint (string key, uint value);
+               [Version (since = "2.26")]
                public bool set_value (string key, GLib.Variant value);
                public static void sync ();
+               [Version (since = "2.26")]
                public static void unbind (void* object, string property);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.26")]
                public Settings.with_backend (string schema_id, GLib.SettingsBackend backend);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.26")]
                public Settings.with_backend_and_path (string schema_id, GLib.SettingsBackend backend, string 
path);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.26")]
                public Settings.with_path (string schema_id, string path);
                [NoAccessorMethod]
                public GLib.SettingsBackend backend { owned get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.28")]
                public bool delay_apply { get; }
                public bool has_unapplied { get; }
                [NoAccessorMethod]
                public string path { owned get; construct; }
-               [Deprecated (since = "2.32")]
                [NoAccessorMethod]
+               [Version (deprecated = true, deprecated_since = "2.32")]
                public string schema { owned get; construct; }
                [NoAccessorMethod]
                public string schema_id { owned get; construct; }
@@ -1804,10 +2111,13 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_settings_schema_ref", type_id = 
"g_settings_schema_get_type ()", unref_function = "g_settings_schema_unref")]
        [Compact]
+       [Version (since = "2.32")]
        public class SettingsSchema {
                public unowned string get_id ();
+               [Version (since = "2.40")]
                public GLib.SettingsSchemaKey get_key (string name);
                public unowned string get_path ();
+               [Version (since = "2.40")]
                public bool has_key (string name);
                public GLib.SettingsSchema @ref ();
                public void unref ();
@@ -1815,22 +2125,32 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_settings_schema_key_ref", type_id = 
"g_settings_schema_key_get_type ()", unref_function = "g_settings_schema_key_unref")]
        [Compact]
        public class SettingsSchemaKey {
+               [Version (since = "2.40")]
                public GLib.Variant get_default_value ();
+               [Version (since = "2.34")]
                public unowned string get_description ();
+               [Version (since = "2.40")]
                public GLib.Variant get_range ();
+               [Version (since = "2.34")]
                public unowned string get_summary ();
+               [Version (since = "2.40")]
                public unowned GLib.VariantType get_value_type ();
+               [Version (since = "2.40")]
                public bool range_check (GLib.Variant value);
+               [Version (since = "2.40")]
                public GLib.SettingsSchemaKey @ref ();
+               [Version (since = "2.40")]
                public void unref ();
        }
        [CCode (cheader_filename = "gio/gio.h", ref_function = "g_settings_schema_source_ref", type_id = 
"g_settings_schema_source_get_type ()", unref_function = "g_settings_schema_source_unref")]
        [Compact]
+       [Version (since = "2.32")]
        public class SettingsSchemaSource {
                [CCode (has_construct_function = false)]
                public SettingsSchemaSource.from_directory (string directory, GLib.SettingsSchemaSource? 
parent, bool trusted) throws GLib.Error;
                [CCode (cheader_filename = "gio/gio.h")]
                public static unowned GLib.SettingsSchemaSource get_default ();
+               [Version (since = "2.40")]
                public void list_schemas (bool recursive, [CCode (array_length = false, array_null_terminated 
= true)] out string[] non_relocatable, [CCode (array_length = false, array_null_terminated = true)] out 
string[] relocatable);
                public GLib.SettingsSchema? lookup (string schema_id, bool recursive);
                public GLib.SettingsSchemaSource @ref ();
@@ -1839,25 +2159,32 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_action_get_type ()")]
        public class SimpleAction : GLib.Object, GLib.Action {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.28")]
                public SimpleAction (string name, GLib.VariantType? parameter_type);
+               [Version (since = "2.28")]
                public void set_enabled (bool enabled);
+               [Version (since = "2.30")]
                public void set_state (GLib.Variant value);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.28")]
                public SimpleAction.stateful (string name, GLib.VariantType? parameter_type, GLib.Variant 
state);
+               [Version (since = "2.28")]
                public signal void activate (GLib.Variant? parameter);
+               [Version (since = "2.30")]
                public signal void change_state (GLib.Variant? value);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_action_group_get_type ()")]
+       [Version (since = "2.28")]
        public class SimpleActionGroup : GLib.Object, GLib.ActionGroup, GLib.ActionMap {
                [CCode (has_construct_function = false)]
                public SimpleActionGroup ();
-               [Deprecated (since = "2.38")]
+               [Version (deprecated = true, deprecated_since = "2.38", since = "2.30")]
                public void add_entries ([CCode (array_length_cname = "n_entries", array_length_pos = 1.5)] 
GLib.ActionEntry[] entries, void* user_data);
-               [Deprecated (since = "2.38")]
+               [Version (deprecated = true, deprecated_since = "2.38", since = "2.28")]
                public void insert (GLib.Action action);
-               [Deprecated (since = "2.38")]
+               [Version (deprecated = true, deprecated_since = "2.38", since = "2.28")]
                public unowned GLib.Action lookup (string action_name);
-               [Deprecated (since = "2.38")]
+               [Version (deprecated = true, deprecated_since = "2.38", since = "2.28")]
                public void remove (string action_name);
        }
        [CCode (cheader_filename = "gio/gio.h")]
@@ -1876,11 +2203,13 @@ namespace GLib {
                public unowned T get_op_res_gpointer<T> ();
                public ssize_t get_op_res_gssize ();
                public void* get_source_tag ();
+               [Version (since = "2.20")]
                public static bool is_valid (GLib.AsyncResult result, GLib.Object? source, void* source_tag);
                public bool propagate_error () throws GLib.Error;
                [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_gerror_in_idle")]
                public static async void report_gerror_in_idle (GLib.Object? object, GLib.Error error);
                public void run_in_thread (GLib.SimpleAsyncThreadFunc func, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null);
+               [Version (since = "2.32")]
                public void set_check_cancellable (GLib.Cancellable? check_cancellable);
                [PrintfFormat]
                public void set_error (GLib.Quark domain, int code, string format, ...);
@@ -1891,20 +2220,26 @@ namespace GLib {
                [CCode (simple_generics = true)]
                public void set_op_res_gpointer<T> (owned T op_res);
                public void set_op_res_gssize (ssize_t op_res);
+               [Version (since = "2.28")]
                public void take_error (GLib.Error error);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_permission_get_type ()")]
        public class SimplePermission : GLib.Permission {
                [CCode (has_construct_function = false, type = "GPermission*")]
+               [Version (since = "2.26")]
                public SimplePermission (bool allowed);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_proxy_resolver_get_type ()")]
        public class SimpleProxyResolver : GLib.Object, GLib.ProxyResolver {
                [CCode (has_construct_function = false)]
                protected SimpleProxyResolver ();
+               [Version (since = "2.36")]
                public static GLib.ProxyResolver @new (string? default_proxy, string? ignore_hosts);
+               [Version (since = "2.36")]
                public void set_default_proxy (string default_proxy);
+               [Version (since = "2.36")]
                public void set_ignore_hosts (string ignore_hosts);
+               [Version (since = "2.36")]
                public void set_uri_proxy (string uri_scheme, string proxy);
                [NoAccessorMethod]
                public string default_proxy { owned get; set; }
@@ -1913,6 +2248,7 @@ namespace GLib {
                public string[] ignore_hosts { owned get; set; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_get_type ()")]
+       [Version (since = "2.22")]
        public class Socket : GLib.Object, GLib.Initable {
                [CCode (has_construct_function = false)]
                public Socket (GLib.SocketFamily family, GLib.SocketType type, GLib.SocketProtocol protocol) 
throws GLib.Error;
@@ -1921,66 +2257,91 @@ namespace GLib {
                public bool check_connect_result () throws GLib.Error;
                public bool close () throws GLib.Error;
                public GLib.IOCondition condition_check (GLib.IOCondition condition);
+               [Version (since = "2.32")]
                public bool condition_timed_wait (GLib.IOCondition condition, int64 timeout, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public bool condition_wait (GLib.IOCondition condition, GLib.Cancellable? cancellable = null) 
throws GLib.IOError;
                public bool connect (GLib.SocketAddress address, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public GLib.SocketSource create_source (GLib.IOCondition condition, GLib.Cancellable? 
cancellable = null);
                [CCode (has_construct_function = false)]
                public Socket.from_fd (int fd) throws GLib.Error;
+               [Version (since = "2.32")]
                public ssize_t get_available_bytes ();
                public bool get_blocking ();
+               [Version (since = "2.32")]
                public bool get_broadcast ();
+               [Version (since = "2.26")]
                public GLib.Credentials get_credentials () throws GLib.Error;
                public GLib.SocketFamily get_family ();
                public int get_fd ();
                public bool get_keepalive ();
                public int get_listen_backlog ();
                public GLib.SocketAddress get_local_address () throws GLib.Error;
+               [Version (since = "2.32")]
                public bool get_multicast_loopback ();
+               [Version (since = "2.32")]
                public uint get_multicast_ttl ();
+               [Version (since = "2.36")]
                public bool get_option (int level, int optname, out int value) throws GLib.Error;
                public GLib.SocketProtocol get_protocol ();
                public GLib.SocketAddress get_remote_address () throws GLib.Error;
                public GLib.SocketType get_socket_type ();
+               [Version (since = "2.26")]
                public uint get_timeout ();
+               [Version (since = "2.32")]
                public uint get_ttl ();
                public bool is_closed ();
                public bool is_connected ();
+               [Version (since = "2.32")]
                public bool join_multicast_group (GLib.InetAddress group, bool source_specific, string? 
iface) throws GLib.Error;
+               [Version (since = "2.32")]
                public bool leave_multicast_group (GLib.InetAddress group, bool source_specific, string? 
iface) throws GLib.Error;
                public bool listen () throws GLib.Error;
                public ssize_t receive ([CCode (array_length_cname = "size", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public ssize_t receive_from (out GLib.SocketAddress address, [CCode (array_length_cname = 
"size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                public ssize_t receive_message (out GLib.SocketAddress address, [CCode (array_length_cname = 
"num_vectors", array_length_pos = 2.5)] GLib.InputVector[] vectors, [CCode (array_length_cname = 
"num_messages", array_length_pos = 3.5)] GLib.SocketControlMessage[]? messages, int flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.26")]
                public ssize_t receive_with_blocking ([CCode (array_length_cname = "size", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public ssize_t send ([CCode (array_length_cname = "size", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public ssize_t send_message (GLib.SocketAddress? address, [CCode (array_length_cname = 
"num_vectors", array_length_pos = 2.5)] GLib.OutputVector[] vectors, [CCode (array_length_cname = 
"num_messages", array_length_pos = 3.5)] GLib.SocketControlMessage[]? messages, int flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.44")]
                public int send_messages ([CCode (array_length_cname = "num_messages", array_length_pos = 
1.5, array_length_type = "guint")] GLib.OutputMessage[] messages, int flags, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                public ssize_t send_to (GLib.SocketAddress? address, [CCode (array_length_cname = "size", 
array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               [Version (since = "2.26")]
                public ssize_t send_with_blocking ([CCode (array_length_cname = "size", array_length_pos = 
1.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public void set_blocking (bool blocking);
+               [Version (since = "2.32")]
                public void set_broadcast (bool broadcast);
                public void set_keepalive (bool keepalive);
                public void set_listen_backlog (int backlog);
+               [Version (since = "2.32")]
                public void set_multicast_loopback (bool loopback);
+               [Version (since = "2.32")]
                public void set_multicast_ttl (uint ttl);
+               [Version (since = "2.36")]
                public bool set_option (int level, int optname, int value) throws GLib.Error;
+               [Version (since = "2.26")]
                public void set_timeout (uint timeout);
+               [Version (since = "2.32")]
                public void set_ttl (uint ttl);
                public bool shutdown (bool shutdown_read, bool shutdown_write) throws GLib.Error;
                public bool speaks_ipv4 ();
                public bool blocking { get; set; }
+               [Version (since = "2.32")]
                public bool broadcast { get; set; }
                public GLib.SocketFamily family { get; construct; }
                public int fd { get; construct; }
                public bool keepalive { get; set; }
                public int listen_backlog { get; set; }
                public GLib.SocketAddress local_address { owned get; }
+               [Version (since = "2.32")]
                public bool multicast_loopback { get; set; }
+               [Version (since = "2.32")]
                public uint multicast_ttl { get; set; }
                public GLib.SocketProtocol protocol { get; construct; }
                public GLib.SocketAddress remote_address { owned get; }
+               [Version (since = "2.26")]
                public uint timeout { get; set; }
+               [Version (since = "2.32")]
                public uint ttl { get; set; }
                [NoAccessorMethod]
                public GLib.SocketType type { get; construct; }
@@ -1990,9 +2351,13 @@ namespace GLib {
                [CCode (has_construct_function = false)]
                protected SocketAddress ();
                [CCode (has_construct_function = false)]
+               [Version (since = "2.22")]
                public SocketAddress.from_native (void* native, size_t len);
+               [Version (since = "2.22")]
                public virtual GLib.SocketFamily get_family ();
+               [Version (since = "2.22")]
                public virtual ssize_t get_native_size ();
+               [Version (since = "2.22")]
                public virtual bool to_native (void* dest, size_t destlen) throws GLib.Error;
                public GLib.SocketFamily family { get; }
        }
@@ -2004,6 +2369,7 @@ namespace GLib {
                public virtual async GLib.SocketAddress next_async (GLib.Cancellable? cancellable = null) 
throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_client_get_type ()")]
+       [Version (since = "2.22")]
        public class SocketClient : GLib.Object {
                [CCode (has_construct_function = false)]
                public SocketClient ();
@@ -2014,43 +2380,60 @@ namespace GLib {
                public async GLib.SocketConnection connect_to_host_async (string host_and_port, uint16 
default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public GLib.SocketConnection connect_to_service (string domain, string service, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async GLib.SocketConnection connect_to_service_async (string domain, string service, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.26")]
                public GLib.SocketConnection connect_to_uri (string uri, uint16 default_port, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.26")]
                public async GLib.SocketConnection connect_to_uri_async (string uri, uint16 default_port, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.26")]
                public bool get_enable_proxy ();
                public GLib.SocketFamily get_family ();
                public unowned GLib.SocketAddress get_local_address ();
                public GLib.SocketProtocol get_protocol ();
+               [Version (since = "2.36")]
                public unowned GLib.ProxyResolver get_proxy_resolver ();
                public GLib.SocketType get_socket_type ();
+               [Version (since = "2.26")]
                public uint get_timeout ();
+               [Version (since = "2.28")]
                public bool get_tls ();
+               [Version (since = "2.28")]
                public GLib.TlsCertificateFlags get_tls_validation_flags ();
+               [Version (since = "2.26")]
                public void set_enable_proxy (bool enable);
                public void set_family (GLib.SocketFamily family);
                public void set_local_address (GLib.SocketAddress? address);
                public void set_protocol (GLib.SocketProtocol protocol);
+               [Version (since = "2.36")]
                public void set_proxy_resolver (GLib.ProxyResolver? proxy_resolver);
                public void set_socket_type (GLib.SocketType type);
+               [Version (since = "2.26")]
                public void set_timeout (uint timeout);
+               [Version (since = "2.28")]
                public void set_tls (bool tls);
+               [Version (since = "2.28")]
                public void set_tls_validation_flags (GLib.TlsCertificateFlags flags);
                public bool enable_proxy { get; set construct; }
                public GLib.SocketFamily family { get; set construct; }
                public GLib.SocketAddress local_address { get; set construct; }
                public GLib.SocketProtocol protocol { get; set construct; }
+               [Version (since = "2.36")]
                public GLib.ProxyResolver proxy_resolver { get; set construct; }
                public uint timeout { get; set construct; }
                public bool tls { get; set construct; }
                public GLib.TlsCertificateFlags tls_validation_flags { get; set construct; }
                [NoAccessorMethod]
                public GLib.SocketType type { get; set construct; }
+               [Version (since = "2.32")]
                public virtual signal void event (GLib.SocketClientEvent event, GLib.SocketConnectable 
connectable, GLib.IOStream connection);
        }
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.22")]
        public class SocketConnection : GLib.IOStream {
                [CCode (has_construct_function = false)]
                protected SocketConnection ();
+               [Version (since = "2.32")]
                public bool connect (GLib.SocketAddress address, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               [Version (since = "2.32")]
                public async bool connect_async (GLib.SocketAddress address, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                public static GLib.SocketConnection factory_create_connection (GLib.Socket socket);
                public static GLib.Type factory_lookup_type (GLib.SocketFamily family, GLib.SocketType type, 
int protocol_id);
@@ -2058,6 +2441,7 @@ namespace GLib {
                public GLib.SocketAddress get_local_address () throws GLib.Error;
                public GLib.SocketAddress get_remote_address () throws GLib.Error;
                public unowned GLib.Socket get_socket ();
+               [Version (since = "2.32")]
                public bool is_connected ();
                public GLib.Socket socket { get; construct; }
        }
@@ -2065,15 +2449,21 @@ namespace GLib {
        public abstract class SocketControlMessage : GLib.Object {
                [CCode (has_construct_function = false)]
                protected SocketControlMessage ();
+               [Version (since = "2.22")]
                public static GLib.SocketControlMessage deserialize (int level, int type, [CCode 
(array_length_cname = "size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] data);
+               [Version (since = "2.22")]
                public virtual int get_level ();
+               [Version (since = "2.22")]
                public int get_msg_type ();
+               [Version (since = "2.22")]
                public virtual size_t get_size ();
                [NoWrapper]
                public virtual int get_type ();
+               [Version (since = "2.22")]
                public virtual void serialize ([CCode (array_length = false, type = "gpointer")] uint8[] 
data);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_listener_get_type ()")]
+       [Version (since = "2.22")]
        public class SocketListener : GLib.Object {
                [CCode (has_construct_function = false)]
                public SocketListener ();
@@ -2082,6 +2472,7 @@ namespace GLib {
                public GLib.Socket accept_socket (out unowned GLib.Object source_object = null, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async GLib.Socket accept_socket_async (GLib.Cancellable? cancellable = null, out 
unowned GLib.Object source_object = null) throws GLib.Error;
                public bool add_address (GLib.SocketAddress address, GLib.SocketType type, 
GLib.SocketProtocol protocol, GLib.Object? source_object, out GLib.SocketAddress effective_address) throws 
GLib.Error;
+               [Version (since = "2.24")]
                public uint16 add_any_inet_port (GLib.Object? source_object) throws GLib.Error;
                public bool add_inet_port (uint16 port, GLib.Object? source_object) throws GLib.Error;
                public bool add_socket (GLib.Socket socket, GLib.Object? source_object) throws GLib.Error;
@@ -2093,6 +2484,7 @@ namespace GLib {
                public int listen_backlog { get; set construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_service_get_type ()")]
+       [Version (since = "2.22")]
        public class SocketService : GLib.SocketListener {
                [CCode (has_construct_function = false)]
                public SocketService ();
@@ -2111,17 +2503,26 @@ namespace GLib {
        [Compact]
        public class SrvTarget {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.22")]
                public SrvTarget (string hostname, uint16 port, uint16 priority, uint16 weight);
+               [Version (since = "2.22")]
                public GLib.SrvTarget copy ();
+               [Version (since = "2.22")]
                public void free ();
+               [Version (since = "2.22")]
                public unowned string get_hostname ();
+               [Version (since = "2.22")]
                public uint16 get_port ();
+               [Version (since = "2.22")]
                public uint16 get_priority ();
+               [Version (since = "2.22")]
                public uint16 get_weight ();
                [CCode (cheader_filename = "gio/gio.h")]
+               [Version (since = "2.22")]
                public static GLib.List<GLib.SrvTarget> list_sort (owned GLib.List<GLib.SrvTarget> targets);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_subprocess_get_type ()")]
+       [Version (since = "2.40")]
        public class Subprocess : GLib.Object, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected Subprocess ();
@@ -2152,6 +2553,7 @@ namespace GLib {
                public GLib.SubprocessFlags flags { construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_subprocess_launcher_get_type ()")]
+       [Version (since = "2.40")]
        public class SubprocessLauncher : GLib.Object {
                [CCode (has_construct_function = false)]
                public SubprocessLauncher (GLib.SubprocessFlags flags);
@@ -2175,32 +2577,57 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_task_get_type ()")]
        public class Task : GLib.Object, GLib.AsyncResult {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.36")]
                public async Task (GLib.Object? source_object, GLib.Cancellable? cancellable = null);
+               [Version (since = "2.36")]
                public unowned GLib.Cancellable get_cancellable ();
+               [Version (since = "2.36")]
                public bool get_check_cancellable ();
+               [Version (since = "2.36")]
                public unowned GLib.MainContext get_context ();
+               [Version (since = "2.36")]
                public int get_priority ();
+               [Version (since = "2.36")]
                public bool get_return_on_cancel ();
+               [Version (since = "2.36")]
                public void* get_source_tag ();
+               [Version (since = "2.36")]
                public void* get_task_data ();
+               [Version (since = "2.36")]
                public bool had_error ();
+               [Version (since = "2.36")]
                public static bool is_valid (GLib.AsyncResult result, GLib.Object? source_object);
+               [Version (since = "2.36")]
                public bool propagate_boolean () throws GLib.Error;
+               [Version (since = "2.36")]
                public ssize_t propagate_int () throws GLib.Error;
+               [Version (since = "2.36")]
                public void* propagate_pointer () throws GLib.Error;
+               [Version (since = "2.36")]
                public static async void report_error (GLib.Object? source_object, void* source_tag, owned 
GLib.Error error);
+               [Version (since = "2.36")]
                public void return_boolean (bool result);
+               [Version (since = "2.36")]
                public void return_error (owned GLib.Error error);
+               [Version (since = "2.36")]
                public bool return_error_if_cancelled ();
+               [Version (since = "2.36")]
                public void return_int (ssize_t result);
+               [Version (since = "2.36")]
                public void return_pointer (owned void* result, GLib.DestroyNotify? result_destroy);
+               [Version (since = "2.36")]
                public void set_check_cancellable (bool check_cancellable);
+               [Version (since = "2.36")]
                public void set_priority (int priority);
+               [Version (since = "2.36")]
                public bool set_return_on_cancel (bool return_on_cancel);
+               [Version (since = "2.36")]
                public void set_source_tag (void* source_tag);
+               [Version (since = "2.36")]
                public void set_task_data (void* task_data, GLib.DestroyNotify? task_data_destroy);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_tcp_connection_get_type ()")]
+       [Version (since = "2.22")]
        public class TcpConnection : GLib.SocketConnection {
                [CCode (has_construct_function = false)]
                protected TcpConnection ();
@@ -2211,11 +2638,13 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_tcp_wrapper_connection_get_type ()")]
        public class TcpWrapperConnection : GLib.TcpConnection {
                [CCode (has_construct_function = false, type = "GSocketConnection*")]
+               [Version (since = "2.28")]
                public TcpWrapperConnection (GLib.IOStream base_io_stream, GLib.Socket socket);
                public unowned GLib.IOStream get_base_io_stream ();
                public GLib.IOStream base_io_stream { get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_test_dbus_get_type ()")]
+       [Version (since = "2.34")]
        public class TestDBus : GLib.Object {
                [CCode (has_construct_function = false)]
                public TestDBus (GLib.TestDBusFlags flags);
@@ -2237,6 +2666,7 @@ namespace GLib {
                public ThemedIcon.from_names ([CCode (array_length_cname = "len", array_length_pos = 1.1)] 
string[] iconnames);
                [CCode (array_length = false, array_null_terminated = true)]
                public unowned string[] get_names ();
+               [Version (since = "2.18")]
                public void prepend_name (string iconname);
                [CCode (has_construct_function = false, type = "GIcon*")]
                public ThemedIcon.with_default_fallbacks (string iconname);
@@ -2247,6 +2677,7 @@ namespace GLib {
                public bool use_default_fallbacks { get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_threaded_socket_service_get_type ()")]
+       [Version (since = "2.22")]
        public class ThreadedSocketService : GLib.SocketService {
                [CCode (has_construct_function = false, type = "GSocketService*")]
                public ThreadedSocketService (int max_threads);
@@ -2255,6 +2686,7 @@ namespace GLib {
                public virtual signal bool run (GLib.SocketConnection connection, GLib.Object source_object);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_certificate_get_type ()")]
+       [Version (since = "2.28")]
        public class TlsCertificate : GLib.Object {
                [CCode (has_construct_function = false)]
                protected TlsCertificate ();
@@ -2265,6 +2697,7 @@ namespace GLib {
                [CCode (has_construct_function = false)]
                public TlsCertificate.from_pem (string data, ssize_t length) throws GLib.Error;
                public unowned GLib.TlsCertificate get_issuer ();
+               [Version (since = "2.34")]
                public bool is_same (GLib.TlsCertificate cert_two);
                public static GLib.List<GLib.TlsCertificate> list_new_from_file (string file) throws 
GLib.Error;
                public virtual GLib.TlsCertificateFlags verify (GLib.SocketConnectable? identity, 
GLib.TlsCertificate? trusted_ca);
@@ -2277,42 +2710,50 @@ namespace GLib {
                public string private_key_pem { construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_connection_get_type ()")]
+       [Version (since = "2.28")]
        public abstract class TlsConnection : GLib.IOStream {
                [CCode (has_construct_function = false)]
                protected TlsConnection ();
                public bool emit_accept_certificate (GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags 
errors);
                public unowned GLib.TlsCertificate get_certificate ();
+               [Version (since = "2.30")]
                public unowned GLib.TlsDatabase get_database ();
+               [Version (since = "2.30")]
                public unowned GLib.TlsInteraction get_interaction ();
                public unowned GLib.TlsCertificate get_peer_certificate ();
                public GLib.TlsCertificateFlags get_peer_certificate_errors ();
                public GLib.TlsRehandshakeMode get_rehandshake_mode ();
                public bool get_require_close_notify ();
-               [Deprecated (since = "2.30")]
+               [Version (deprecated = true, deprecated_since = "2.30")]
                public bool get_use_system_certdb ();
                public virtual bool handshake (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public virtual async bool handshake_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public void set_certificate (GLib.TlsCertificate certificate);
+               [Version (since = "2.30")]
                public void set_database (GLib.TlsDatabase database);
+               [Version (since = "2.30")]
                public void set_interaction (GLib.TlsInteraction? interaction);
                public void set_rehandshake_mode (GLib.TlsRehandshakeMode mode);
                public void set_require_close_notify (bool require_close_notify);
-               [Deprecated (since = "2.30")]
+               [Version (deprecated = true, deprecated_since = "2.30")]
                public void set_use_system_certdb (bool use_system_certdb);
                [NoAccessorMethod]
                public GLib.IOStream base_io_stream { owned get; construct; }
                public GLib.TlsCertificate certificate { get; set; }
+               [Version (since = "2.30")]
                public GLib.TlsDatabase database { get; set; }
+               [Version (since = "2.30")]
                public GLib.TlsInteraction interaction { get; set; }
                public GLib.TlsCertificate peer_certificate { get; }
                public GLib.TlsCertificateFlags peer_certificate_errors { get; }
                public GLib.TlsRehandshakeMode rehandshake_mode { get; set construct; }
                public bool require_close_notify { get; set construct; }
-               [Deprecated (since = "2.30")]
+               [Version (deprecated = true, deprecated_since = "2.30")]
                public bool use_system_certdb { get; set construct; }
                public virtual signal bool accept_certificate (GLib.TlsCertificate peer_cert, 
GLib.TlsCertificateFlags errors);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_database_get_type ()")]
+       [Version (since = "2.30")]
        public abstract class TlsDatabase : GLib.Object {
                [CCode (cheader_filename = "gio/gio.h", cname = "G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT")]
                public const string PURPOSE_AUTHENTICATE_CLIENT;
@@ -2331,17 +2772,22 @@ namespace GLib {
                public virtual async GLib.TlsCertificateFlags verify_chain_async (GLib.TlsCertificate chain, 
string purpose, GLib.SocketConnectable? identity, GLib.TlsInteraction? interaction, 
GLib.TlsDatabaseVerifyFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_interaction_get_type ()")]
+       [Version (since = "2.30")]
        public class TlsInteraction : GLib.Object {
                [CCode (has_construct_function = false)]
                protected TlsInteraction ();
                public virtual GLib.TlsInteractionResult ask_password (GLib.TlsPassword password, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public virtual async GLib.TlsInteractionResult ask_password_async (GLib.TlsPassword password, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public GLib.TlsInteractionResult invoke_ask_password (GLib.TlsPassword password, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.40")]
                public GLib.TlsInteractionResult invoke_request_certificate (GLib.TlsConnection connection, 
GLib.TlsCertificateRequestFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.40")]
                public virtual GLib.TlsInteractionResult request_certificate (GLib.TlsConnection connection, 
GLib.TlsCertificateRequestFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.40")]
                public virtual async GLib.TlsInteractionResult request_certificate_async (GLib.TlsConnection 
connection, GLib.TlsCertificateRequestFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.30")]
        public class TlsPassword : GLib.Object {
                [CCode (has_construct_function = false)]
                public TlsPassword (GLib.TlsPasswordFlags flags, string description);
@@ -2365,15 +2811,22 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gunixfdlist.h", type_id = "g_unix_fd_list_get_type ()")]
        public class UnixFDList : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.24")]
                public UnixFDList ();
+               [Version (since = "2.24")]
                public int append (int fd) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "2.24")]
                public UnixFDList.from_array ([CCode (array_length_cname = "n_fds", array_length_pos = 1.1)] 
int[] fds);
+               [Version (since = "2.24")]
                public int @get (int index_) throws GLib.Error;
+               [Version (since = "2.24")]
                public int get_length ();
                [CCode (array_length_pos = 0.1)]
+               [Version (since = "2.24")]
                public unowned int[] peek_fds ();
                [CCode (array_length_pos = 0.1)]
+               [Version (since = "2.24")]
                public int[] steal_fds ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_vfs_get_type ()")]
@@ -2403,7 +2856,7 @@ namespace GLib {
        public class VolumeMonitor : GLib.Object {
                [CCode (has_construct_function = false)]
                protected VolumeMonitor ();
-               [Deprecated (since = "2.20")]
+               [Version (deprecated = true, deprecated_since = "2.20")]
                public static GLib.Volume adopt_orphan_mount (GLib.Mount mount);
                public static GLib.VolumeMonitor @get ();
                public virtual GLib.List<GLib.Drive> get_connected_drives ();
@@ -2416,7 +2869,9 @@ namespace GLib {
                public virtual signal void drive_changed (GLib.Drive drive);
                public virtual signal void drive_connected (GLib.Drive drive);
                public virtual signal void drive_disconnected (GLib.Drive drive);
+               [Version (since = "2.18")]
                public virtual signal void drive_eject_button (GLib.Drive drive);
+               [Version (since = "2.22")]
                public virtual signal void drive_stop_button (GLib.Drive drive);
                public virtual signal void mount_added (GLib.Mount mount);
                public virtual signal void mount_changed (GLib.Mount mount);
@@ -2429,9 +2884,13 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_zlib_compressor_get_type ()")]
        public class ZlibCompressor : GLib.Object, GLib.Converter {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.24")]
                public ZlibCompressor (GLib.ZlibCompressorFormat format, int level = -1);
+               [Version (since = "2.26")]
                public unowned GLib.FileInfo get_file_info ();
+               [Version (since = "2.26")]
                public void set_file_info (GLib.FileInfo? file_info);
+               [Version (since = "2.26")]
                public GLib.FileInfo file_info { get; set; }
                [NoAccessorMethod]
                public GLib.ZlibCompressorFormat format { get; construct; }
@@ -2441,89 +2900,134 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_zlib_decompressor_get_type ()")]
        public class ZlibDecompressor : GLib.Object, GLib.Converter {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.24")]
                public ZlibDecompressor (GLib.ZlibCompressorFormat format);
+               [Version (since = "2.26")]
                public unowned GLib.FileInfo get_file_info ();
+               [Version (since = "2.26")]
                public GLib.FileInfo file_info { get; }
                [NoAccessorMethod]
                public GLib.ZlibCompressorFormat format { get; construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GActionInterface", type_id = "g_action_get_type 
()")]
        public interface Action : GLib.Object {
+               [Version (since = "2.28")]
                public abstract void activate (GLib.Variant? parameter);
+               [Version (since = "2.30")]
                public abstract void change_state (GLib.Variant value);
+               [Version (since = "2.28")]
                public abstract bool get_enabled ();
+               [Version (since = "2.28")]
                public abstract unowned string get_name ();
+               [Version (since = "2.28")]
                public abstract unowned GLib.VariantType get_parameter_type ();
+               [Version (since = "2.28")]
                public abstract GLib.Variant get_state ();
+               [Version (since = "2.28")]
                public abstract GLib.Variant? get_state_hint ();
+               [Version (since = "2.28")]
                public abstract unowned GLib.VariantType get_state_type ();
+               [Version (since = "2.38")]
                public static bool name_is_valid (string action_name);
+               [Version (since = "2.38")]
                public static bool parse_detailed_name (string detailed_name, out string action_name, out 
GLib.Variant target_value) throws GLib.Error;
+               [Version (since = "2.38")]
                public static string print_detailed_name (string action_name, GLib.Variant? target_value);
+               [Version (since = "2.28")]
                public abstract bool enabled { get; }
+               [Version (since = "2.28")]
                public abstract string name { get; }
+               [Version (since = "2.28")]
                public abstract GLib.VariantType? parameter_type { get; }
+               [Version (since = "2.28")]
                public abstract GLib.Variant? state { owned get; }
+               [Version (since = "2.28")]
                public abstract GLib.VariantType? state_type { get; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GActionGroupInterface", type_id = 
"g_action_group_get_type ()")]
        public interface ActionGroup : GLib.Object {
+               [Version (since = "2.28")]
                public abstract void activate_action (string action_name, GLib.Variant? parameter);
+               [Version (since = "2.28")]
                public abstract void change_action_state (string action_name, GLib.Variant value);
+               [Version (since = "2.28")]
                public abstract bool get_action_enabled (string action_name);
+               [Version (since = "2.28")]
                public abstract unowned GLib.VariantType? get_action_parameter_type (string action_name);
+               [Version (since = "2.28")]
                public abstract GLib.Variant? get_action_state (string action_name);
+               [Version (since = "2.28")]
                public abstract GLib.Variant? get_action_state_hint (string action_name);
+               [Version (since = "2.28")]
                public abstract unowned GLib.VariantType? get_action_state_type (string action_name);
+               [Version (since = "2.28")]
                public abstract bool has_action (string action_name);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.28")]
                public abstract string[] list_actions ();
+               [Version (since = "2.32")]
                public virtual bool query_action (string action_name, out bool enabled, out GLib.VariantType 
parameter_type, out GLib.VariantType state_type, out GLib.Variant state_hint, out GLib.Variant state);
                [HasEmitter]
+               [Version (since = "2.28")]
                public virtual signal void action_added (string action_name);
                [HasEmitter]
+               [Version (since = "2.28")]
                public virtual signal void action_enabled_changed (string action_name, bool enabled);
                [HasEmitter]
+               [Version (since = "2.28")]
                public virtual signal void action_removed (string action_name);
                [HasEmitter]
+               [Version (since = "2.28")]
                public virtual signal void action_state_changed (string action_name, GLib.Variant state);
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GActionMapInterface", type_id = 
"g_action_map_get_type ()")]
        public interface ActionMap : GLib.Object {
+               [Version (since = "2.32")]
                public abstract void add_action (GLib.Action action);
+               [Version (since = "2.32")]
                public void add_action_entries ([CCode (array_length_cname = "n_entries", array_length_pos = 
1.5)] GLib.ActionEntry[] entries, void* user_data);
+               [Version (since = "2.32")]
                public abstract unowned GLib.Action lookup_action (string action_name);
+               [Version (since = "2.32")]
                public abstract void remove_action (string action_name);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_app_info_get_type ()")]
        public interface AppInfo : GLib.Object {
                public abstract bool add_supports_type (string content_type) throws GLib.Error;
+               [Version (since = "2.20")]
                public abstract bool can_delete ();
                public abstract bool can_remove_supports_type ();
                public static GLib.AppInfo create_from_commandline (string commandline, string? 
application_name, GLib.AppInfoCreateFlags flags) throws GLib.Error;
                [CCode (vfunc_name = "do_delete")]
+               [Version (since = "2.20")]
                public abstract bool @delete ();
                public abstract GLib.AppInfo dup ();
                public abstract bool equal (GLib.AppInfo appinfo2);
                public static GLib.List<GLib.AppInfo> get_all ();
                public static GLib.List<GLib.AppInfo> get_all_for_type (string content_type);
+               [Version (since = "2.20")]
                public abstract unowned string get_commandline ();
                public static GLib.AppInfo get_default_for_type (string content_type, bool must_support_uris);
                public static GLib.AppInfo get_default_for_uri_scheme (string uri_scheme);
                public abstract unowned string get_description ();
+               [Version (since = "2.24")]
                public abstract unowned string get_display_name ();
                public abstract unowned string get_executable ();
+               [Version (since = "2.28")]
                public static GLib.List<GLib.AppInfo> get_fallback_for_type (string content_type);
                public abstract unowned GLib.Icon get_icon ();
                public abstract unowned string get_id ();
                public abstract unowned string get_name ();
+               [Version (since = "2.28")]
                public static GLib.List<GLib.AppInfo> get_recommended_for_type (string content_type);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.34")]
                public abstract unowned string[] get_supported_types ();
                public abstract bool launch (GLib.List<GLib.File>? files, GLib.AppLaunchContext? 
launch_context) throws GLib.Error;
                public static bool launch_default_for_uri (string uri, GLib.AppLaunchContext? launch_context) 
throws GLib.Error;
                public abstract bool launch_uris (GLib.List<string>? uris, GLib.AppLaunchContext? 
launch_context) throws GLib.Error;
                public abstract bool remove_supports_type (string content_type) throws GLib.Error;
+               [Version (since = "2.20")]
                public static void reset_type_associations (string content_type);
                public abstract bool set_as_default_for_extension (string extension) throws GLib.Error;
                public abstract bool set_as_default_for_type (string content_type) throws GLib.Error;
@@ -2533,6 +3037,7 @@ namespace GLib {
                public abstract bool supports_uris ();
        }
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.22")]
        public interface AsyncInitable : GLib.Object {
                public virtual async bool init_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (finish_function = "g_async_initable_new_finish")]
@@ -2546,16 +3051,21 @@ namespace GLib {
        public interface AsyncResult : GLib.Object {
                public abstract GLib.Object get_source_object ();
                public abstract void* get_user_data ();
+               [Version (since = "2.34")]
                public abstract bool is_tagged (void* source_tag);
+               [Version (since = "2.34")]
                public bool legacy_propagate_error () throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_converter_get_type ()")]
+       [Version (since = "2.24")]
        public interface Converter : GLib.Object {
                public abstract GLib.ConverterResult convert ([CCode (array_length_cname = "inbuf_size", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[] inbuf, [CCode (array_length_cname = 
"outbuf_size", array_length_pos = 2.5, array_length_type = "gsize", type = "void*")] uint8[] outbuf, 
GLib.ConverterFlags flags, out size_t bytes_read, out size_t bytes_written) throws GLib.Error;
                public abstract void reset ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_interface_get_type ()")]
+       [Version (since = "2.30")]
        public interface DBusInterface : GLib.Object {
+               [Version (since = "2.32")]
                public abstract GLib.DBusObject dup_object ();
                public abstract unowned GLib.DBusInterfaceInfo get_info ();
                public abstract unowned GLib.DBusObject get_object ();
@@ -2563,40 +3073,60 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_get_type ()")]
        public interface DBusObject : GLib.Object {
+               [Version (since = "2.30")]
                public abstract GLib.DBusInterface get_interface (string interface_name);
+               [Version (since = "2.30")]
                public abstract GLib.List<GLib.DBusInterface> get_interfaces ();
+               [Version (since = "2.30")]
                public abstract unowned string get_object_path ();
+               [Version (since = "2.30")]
                public virtual signal void interface_added (GLib.DBusInterface interface_);
+               [Version (since = "2.30")]
                public virtual signal void interface_removed (GLib.DBusInterface interface_);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_manager_get_type ()")]
        public interface DBusObjectManager : GLib.Object {
+               [Version (since = "2.30")]
                public abstract GLib.DBusInterface get_interface (string object_path, string interface_name);
+               [Version (since = "2.30")]
                public abstract GLib.DBusObject get_object (string object_path);
+               [Version (since = "2.30")]
                public abstract unowned string get_object_path ();
+               [Version (since = "2.30")]
                public abstract GLib.List<GLib.DBusObject> get_objects ();
+               [Version (since = "2.30")]
                public virtual signal void interface_added (GLib.DBusObject object, GLib.DBusInterface 
interface_);
+               [Version (since = "2.30")]
                public virtual signal void interface_removed (GLib.DBusObject object, GLib.DBusInterface 
interface_);
+               [Version (since = "2.30")]
                public virtual signal void object_added (GLib.DBusObject object);
+               [Version (since = "2.30")]
                public virtual signal void object_removed (GLib.DBusObject object);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_drive_get_type ()")]
        public interface Drive : GLib.Object {
                public abstract bool can_eject ();
                public abstract bool can_poll_for_media ();
+               [Version (since = "2.22")]
                public abstract bool can_start ();
+               [Version (since = "2.22")]
                public abstract bool can_start_degraded ();
+               [Version (since = "2.22")]
                public abstract bool can_stop ();
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable 
= null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, 
GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (array_length = false, array_null_terminated = true)]
                public abstract string[] enumerate_identifiers ();
                public abstract GLib.Icon get_icon ();
                public abstract string get_identifier (string kind);
                public abstract string get_name ();
+               [Version (since = "2.32")]
                public virtual unowned string get_sort_key ();
+               [Version (since = "2.22")]
                public abstract GLib.DriveStartStopType get_start_stop_type ();
+               [Version (since = "2.34")]
                public abstract GLib.Icon get_symbolic_icon ();
                public abstract GLib.List<GLib.Volume> get_volumes ();
                public abstract bool has_media ();
@@ -2604,11 +3134,14 @@ namespace GLib {
                public abstract bool is_media_check_automatic ();
                public abstract bool is_media_removable ();
                public abstract async bool poll_for_media (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool start (GLib.DriveStartFlags flags, GLib.MountOperation? 
mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool stop (GLib.MountUnmountFlags flags, GLib.MountOperation? 
mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public virtual signal void changed ();
                public virtual signal void disconnected ();
                public virtual signal void eject_button ();
+               [Version (since = "2.22")]
                public virtual signal void stop_button ();
        }
        [CCode (cheader_filename = "gio/gio.h")]
@@ -2620,15 +3153,19 @@ namespace GLib {
                public bool copy_attributes (GLib.File destination, GLib.FileCopyFlags flags, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public abstract GLib.FileOutputStream create (GLib.FileCreateFlags flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public virtual async GLib.FileOutputStream create_async (GLib.FileCreateFlags flags, int 
io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract GLib.FileIOStream create_readwrite (GLib.FileCreateFlags flags, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public virtual async GLib.FileIOStream create_readwrite_async (GLib.FileCreateFlags flags, 
int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (vfunc_name = "delete_file")]
                public abstract bool @delete (GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (vfunc_name = "delete_file_async")]
+               [Version (since = "2.34")]
                public virtual async bool delete_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public abstract GLib.File dup ();
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public abstract async bool eject_mountable (GLib.MountUnmountFlags flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool eject_mountable_with_operation (GLib.MountUnmountFlags flags, 
GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public abstract GLib.FileEnumerator enumerate_children (string attributes, 
GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public virtual async GLib.FileEnumerator enumerate_children_async (string attributes, 
GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
@@ -2644,6 +3181,7 @@ namespace GLib {
                public abstract string? get_relative_path (GLib.File descendant);
                public abstract string get_uri ();
                public abstract string get_uri_scheme ();
+               [Version (since = "2.24")]
                public bool has_parent (GLib.File? parent);
                [CCode (vfunc_name = "prefix_matches")]
                public abstract bool has_prefix (GLib.File file);
@@ -2654,11 +3192,16 @@ namespace GLib {
                public async bool load_contents_async (GLib.Cancellable? cancellable = null, [CCode 
(array_length_cname = "length", array_length_pos = 2.5, array_length_type = "gsize")] out uint8[] contents, 
out string etag_out) throws GLib.Error;
                public async bool load_partial_contents_async (GLib.Cancellable? cancellable = null, 
GLib.FileReadMoreCallback read_more_callback, [CCode (array_length_cname = "length", array_length_pos = 2.5, 
array_length_type = "gsize")] out uint8[] contents, out string etag_out) throws GLib.Error;
                public abstract bool make_directory (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.38")]
                public virtual async bool make_directory_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.18")]
                public bool make_directory_with_parents (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public abstract bool make_symbolic_link (string symlink_value, GLib.Cancellable? cancellable 
= null) throws GLib.Error;
+               [Version (since = "2.38")]
                public virtual bool measure_disk_usage (GLib.FileMeasureFlags flags, GLib.Cancellable? 
cancellable, [CCode (delegate_target_pos = 3.5)] GLib.FileMeasureProgressCallback? progress_callback, out 
uint64 disk_usage, out uint64 num_dirs, out uint64 num_files) throws GLib.Error;
+               [Version (since = "2.38")]
                public virtual async bool measure_disk_usage_async (GLib.FileMeasureFlags flags, int 
io_priority, GLib.Cancellable? cancellable, GLib.FileMeasureProgressCallback? progress_callback, out uint64 
disk_usage, out uint64 num_dirs, out uint64 num_files) throws GLib.Error;
+               [Version (since = "2.18")]
                public GLib.FileMonitor monitor (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                [CCode (vfunc_name = "monitor_dir")]
                public abstract GLib.FileMonitor monitor_directory (GLib.FileMonitorFlags flags, 
GLib.Cancellable? cancellable = null) throws GLib.IOError;
@@ -2667,19 +3210,25 @@ namespace GLib {
                public abstract async GLib.File mount_mountable (GLib.MountMountFlags flags, 
GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public abstract bool move (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable? 
cancellable = null, GLib.FileProgressCallback? progress_callback = null) throws GLib.Error;
                public static GLib.File new_for_commandline_arg (string arg);
+               [Version (since = "2.36")]
                public static GLib.File new_for_commandline_arg_and_cwd (string arg, string cwd);
                public static GLib.File new_for_path (string path);
                public static GLib.File new_for_uri (string uri);
+               [Version (since = "2.32")]
                public static GLib.File new_tmp (string? tmpl, out GLib.FileIOStream iostream) throws 
GLib.Error;
+               [Version (since = "2.22")]
                public abstract GLib.FileIOStream open_readwrite (GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               [Version (since = "2.22")]
                public virtual async GLib.FileIOStream open_readwrite_async (int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public static GLib.File parse_name (string parse_name);
+               [Version (since = "2.22")]
                public abstract async bool poll_mountable (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
-               [Deprecated (replacement = "has_prefix", since = "vala-0.16")]
                [NoWrapper]
+               [Version (deprecated_since = "vala-0.16", replacement = "has_prefix")]
                public abstract bool prefix_matches (GLib.File file);
                public GLib.AppInfo query_default_handler (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public bool query_exists (GLib.Cancellable? cancellable = null);
+               [Version (since = "2.18")]
                public GLib.FileType query_file_type (GLib.FileQueryInfoFlags flags, GLib.Cancellable? 
cancellable = null);
                public abstract GLib.FileInfo query_filesystem_info (string attributes, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public virtual async GLib.FileInfo query_filesystem_info_async (string attributes, int 
io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -2690,15 +3239,18 @@ namespace GLib {
                [CCode (vfunc_name = "read_fn")]
                public abstract GLib.FileInputStream read (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public virtual async GLib.FileInputStream read_async (int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-               [Deprecated (replacement = "read", since = "vala-0.16")]
                [NoWrapper]
+               [Version (deprecated_since = "vala-0.16", replacement = "read")]
                public abstract unowned GLib.FileInputStream read_fn (GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public abstract GLib.FileOutputStream replace (string? etag, bool make_backup, 
GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public virtual async GLib.FileOutputStream replace_async (string? etag, bool make_backup, 
GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
                public bool replace_contents ([CCode (array_length_cname = "length", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] contents, string? etag, bool make_backup, GLib.FileCreateFlags flags, 
out string new_etag, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool replace_contents_async ([CCode (array_length_cname = "length", 
array_length_pos = 1.5, array_length_type = "gsize")] uint8[] contents, string? etag, bool make_backup, 
GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null, out string new_etag) throws GLib.Error;
+               [Version (since = "2.40")]
                public async void replace_contents_bytes_async (GLib.Bytes contents, string? etag, bool 
make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null);
+               [Version (since = "2.22")]
                public abstract GLib.FileIOStream replace_readwrite (string? etag, bool make_backup, 
GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public virtual async GLib.FileIOStream replace_readwrite_async (string? etag, bool 
make_backup, GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public abstract GLib.File resolve_relative_path (string relative_path);
                public abstract bool set_attribute (string attribute, GLib.FileAttributeType type, void* 
value_p, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -2712,29 +3264,39 @@ namespace GLib {
                public abstract bool set_attributes_from_info (GLib.FileInfo info, GLib.FileQueryInfoFlags 
flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public abstract GLib.File set_display_name (string display_name, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public virtual async GLib.File set_display_name_async (string display_name, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool start_mountable (GLib.DriveStartFlags flags, GLib.MountOperation? 
start_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool stop_mountable (GLib.MountUnmountFlags flags, GLib.MountOperation? 
mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public bool supports_thread_contexts ();
                public abstract bool trash (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.38")]
                public virtual async bool trash_async (int io_priority = GLib.Priority.DEFAULT, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public abstract async bool unmount_mountable (GLib.MountUnmountFlags flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool unmount_mountable_with_operation (GLib.MountUnmountFlags flags, 
GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h")]
        public interface Icon : GLib.Object {
+               [Version (since = "2.38")]
                public static GLib.Icon deserialize (GLib.Variant value);
                public abstract bool equal (GLib.Icon? icon2);
                [NoWrapper]
                public virtual GLib.Icon? from_tokens (string[] tokens, int version) throws GLib.Error;
                public abstract uint hash ();
+               [Version (since = "2.20")]
                public static GLib.Icon? new_for_string (string str) throws GLib.Error;
+               [Version (since = "2.38")]
                public virtual GLib.Variant serialize ();
+               [Version (since = "2.20")]
                public string? to_string ();
                [NoWrapper]
                public virtual bool to_tokens (GLib.GenericArray<string> tokens, out int out_version);
        }
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.22")]
        public interface Initable : GLib.Object {
                public abstract bool init (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public static GLib.Object @new (GLib.Type object_type, GLib.Cancellable? cancellable = null, 
...) throws GLib.Error;
@@ -2750,47 +3312,61 @@ namespace GLib {
        public interface Mount : GLib.Object {
                public abstract bool can_eject ();
                public abstract bool can_unmount ();
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable 
= null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, 
GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public abstract GLib.File get_default_location ();
                public abstract GLib.Drive get_drive ();
                public abstract GLib.Icon get_icon ();
                public abstract string get_name ();
                public abstract GLib.File get_root ();
+               [Version (since = "2.32")]
                public virtual unowned string get_sort_key ();
+               [Version (since = "2.34")]
                public abstract GLib.Icon get_symbolic_icon ();
                public abstract string get_uuid ();
                public abstract GLib.Volume get_volume ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.18")]
                public abstract async string[] guess_content_type (bool force_rescan, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "2.18")]
                public abstract string[] guess_content_type_sync (bool force_rescan, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.20")]
                public bool is_shadowed ();
                public abstract async bool remount (GLib.MountMountFlags flags, GLib.MountOperation? 
mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.20")]
                public void shadow ();
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public abstract async bool unmount (GLib.MountUnmountFlags flags, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool unmount_with_operation (GLib.MountUnmountFlags flags, 
GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.20")]
                public void unshadow ();
                public virtual signal void changed ();
+               [Version (since = "2.22")]
                public virtual signal void pre_unmount ();
                public virtual signal void unmounted ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GNetworkMonitorInterface", type_id = 
"g_network_monitor_get_type ()")]
+       [Version (since = "2.32")]
        public interface NetworkMonitor : GLib.Initable, GLib.Object {
                public abstract bool can_reach (GLib.SocketConnectable connectable, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public abstract async bool can_reach_async (GLib.SocketConnectable connectable, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.44")]
                public GLib.NetworkConnectivity get_connectivity ();
                public static unowned GLib.NetworkMonitor get_default ();
                public bool get_network_available ();
                [ConcreteAccessor]
+               [Version (since = "2.44")]
                public abstract GLib.NetworkConnectivity connectivity { get; }
                [ConcreteAccessor]
                public abstract bool network_available { get; }
                public virtual signal void network_changed (bool available);
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GPollableInputStreamInterface", type_id = 
"g_pollable_input_stream_get_type ()")]
+       [Version (since = "2.28")]
        public interface PollableInputStream : GLib.InputStream {
                public abstract bool can_poll ();
                public abstract GLib.PollableSource create_source (GLib.Cancellable? cancellable = null);
@@ -2800,6 +3376,7 @@ namespace GLib {
                public abstract ssize_t read_nonblocking_fn ([CCode (array_length_cname = "count", 
array_length_pos = 1.1, array_length_type = "gsize")] uint8[] buffer) throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GPollableOutputStreamInterface", type_id = 
"g_pollable_output_stream_get_type ()")]
+       [Version (since = "2.28")]
        public interface PollableOutputStream : GLib.OutputStream {
                public abstract bool can_poll ();
                public abstract GLib.PollableSource create_source (GLib.Cancellable? cancellable = null);
@@ -2807,6 +3384,7 @@ namespace GLib {
                public abstract ssize_t write_nonblocking ([CCode (array_length_cname = "count", 
array_length_pos = 1.1, array_length_type = "gsize")] uint8[] buffer) throws GLib.Error;
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GProxyInterface", type_id = "g_proxy_get_type 
()")]
+       [Version (since = "2.26")]
        public interface Proxy : GLib.Object {
                public abstract GLib.IOStream connect (GLib.IOStream connection, GLib.ProxyAddress 
proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public abstract async GLib.IOStream connect_async (GLib.IOStream connection, 
GLib.ProxyAddress proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -2814,6 +3392,7 @@ namespace GLib {
                public abstract bool supports_hostname ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GProxyResolverInterface", type_id = 
"g_proxy_resolver_get_type ()")]
+       [Version (since = "2.26")]
        public interface ProxyResolver : GLib.Object {
                public static unowned GLib.ProxyResolver get_default ();
                public abstract bool is_supported ();
@@ -2824,7 +3403,9 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GRemoteActionGroupInterface", type_id = 
"g_remote_action_group_get_type ()")]
        public interface RemoteActionGroup : GLib.ActionGroup, GLib.Object {
+               [Version (since = "2.32")]
                public abstract void activate_action_full (string action_name, GLib.Variant? parameter, 
GLib.Variant platform_data);
+               [Version (since = "2.32")]
                public abstract void change_action_state_full (string action_name, GLib.Variant value, 
GLib.Variant platform_data);
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_seekable_get_type ()")]
@@ -2838,20 +3419,26 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_connectable_get_type ()")]
        public interface SocketConnectable : GLib.Object {
+               [Version (since = "2.22")]
                public abstract GLib.SocketAddressEnumerator enumerate ();
+               [Version (since = "2.26")]
                public abstract GLib.SocketAddressEnumerator proxy_enumerate ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsBackendInterface", type_id = 
"g_tls_backend_get_type ()")]
+       [Version (since = "2.28")]
        public interface TlsBackend : GLib.Object {
                public abstract GLib.Type get_certificate_type ();
                public abstract GLib.Type get_client_connection_type ();
                public static unowned GLib.TlsBackend get_default ();
+               [Version (since = "2.30")]
                public abstract GLib.TlsDatabase get_default_database ();
+               [Version (since = "2.30")]
                public abstract GLib.Type get_file_database_type ();
                public abstract GLib.Type get_server_connection_type ();
                public abstract bool supports_tls ();
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsClientConnectionInterface", type_id = 
"g_tls_client_connection_get_type ()")]
+       [Version (since = "2.28")]
        public interface TlsClientConnection : GLib.TlsConnection {
                public GLib.List<GLib.ByteArray> get_accepted_cas ();
                public unowned GLib.SocketConnectable get_server_identity ();
@@ -2871,12 +3458,14 @@ namespace GLib {
                public abstract GLib.TlsCertificateFlags validation_flags { get; set construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsFileDatabaseInterface", type_id = 
"g_tls_file_database_get_type ()")]
+       [Version (since = "2.30")]
        public interface TlsFileDatabase : GLib.TlsDatabase {
                public static GLib.TlsFileDatabase? @new (string anchors) throws GLib.Error;
                [NoAccessorMethod]
                public abstract string anchors { owned get; set construct; }
        }
        [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsServerConnectionInterface", type_id = 
"g_tls_server_connection_get_type ()")]
+       [Version (since = "2.28")]
        public interface TlsServerConnection : GLib.TlsConnection {
                public static GLib.TlsServerConnection? @new (GLib.IOStream base_io_stream, 
GLib.TlsCertificate? certificate) throws GLib.Error;
                [NoAccessorMethod]
@@ -2886,18 +3475,22 @@ namespace GLib {
        public interface Volume : GLib.Object {
                public abstract bool can_eject ();
                public abstract bool can_mount ();
-               [Deprecated (since = "2.22")]
+               [Version (deprecated = true, deprecated_since = "2.22")]
                public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable 
= null) throws GLib.Error;
+               [Version (since = "2.22")]
                public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, 
GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (array_length = false, array_null_terminated = true)]
                public abstract string[] enumerate_identifiers ();
+               [Version (since = "2.18")]
                public abstract GLib.File? get_activation_root ();
                public abstract GLib.Drive get_drive ();
                public abstract GLib.Icon get_icon ();
                public abstract string get_identifier (string kind);
                public abstract GLib.Mount get_mount ();
                public abstract string get_name ();
+               [Version (since = "2.32")]
                public virtual unowned string get_sort_key ();
+               [Version (since = "2.34")]
                public abstract GLib.Icon get_symbolic_icon ();
                public abstract string get_uuid ();
                [CCode (vfunc_name = "mount_fn")]
@@ -2909,11 +3502,11 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h")]
        public struct ActionEntry {
                public weak string name;
-               [Deprecated (replacement = "activate_callback", since = "vala-0.26")]
+               [Version (deprecated_since = "vala-0.26", replacement = "activate_callback")]
                public GLib.SimpleActionActivateCallback? activate;
                public weak string parameter_type;
                public weak string state;
-               [Deprecated (replacement = "change_state_callback", since = "vala-0.26")]
+               [Version (deprecated_since = "vala-0.26", replacement = "change_state_callback")]
                public GLib.SimpleActionChangeStateCallback? change_state;
                [CCode (cname = "activate")]
                public GLib.SimpleActionActivateFunc activate_callback;
@@ -2921,17 +3514,20 @@ namespace GLib {
                public GLib.SimpleActionChangeStateCallback? change_state_callback;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       [Version (since = "2.26")]
        public struct DBusErrorEntry {
                public int error_code;
                public weak string dbus_error_name;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       [Version (since = "2.26")]
        public struct DBusInterfaceVTable {
                public weak GLib.DBusInterfaceMethodCallFunc method_call;
                public weak GLib.DBusInterfaceGetPropertyFunc get_property;
                public weak GLib.DBusInterfaceSetPropertyFunc set_property;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       [Version (since = "2.26")]
        public struct DBusSubtreeVTable {
                public weak GLib.DBusSubtreeEnumerateFunc enumerate;
                public weak GLib.DBusSubtreeIntrospectFunc introspect;
@@ -2944,11 +3540,13 @@ namespace GLib {
                public GLib.FileAttributeInfoFlags flags;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       [Version (since = "2.22")]
        public struct InputVector {
                public void* buffer;
                public size_t size;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       [Version (since = "2.44")]
        public struct OutputMessage {
                public weak GLib.SocketAddress address;
                public GLib.OutputVector vectors;
@@ -2959,6 +3557,7 @@ namespace GLib {
                public uint num_control_messages;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
+       [Version (since = "2.22")]
        public struct OutputVector {
                public void* buffer;
                public size_t size;
@@ -2970,8 +3569,11 @@ namespace GLib {
                public size_t data_len;
                public GLib.Resource resource;
                public GLib.StaticResource* next;
+               [Version (since = "2.32")]
                public void fini ();
+               [Version (since = "2.32")]
                public unowned GLib.Resource get_resource ();
+               [Version (since = "2.32")]
                public void init ();
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_APP_INFO_CREATE_", type_id = 
"g_app_info_create_flags_get_type ()")]
@@ -2984,6 +3586,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_APPLICATION_", type_id = 
"g_application_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.28")]
        public enum ApplicationFlags {
                FLAGS_NONE,
                IS_SERVICE,
@@ -3004,6 +3607,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_BUS_NAME_OWNER_FLAGS_", type_id = 
"g_bus_name_owner_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum BusNameOwnerFlags {
                NONE,
                ALLOW_REPLACEMENT,
@@ -3011,11 +3615,13 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_BUS_NAME_WATCHER_FLAGS_", type_id = 
"g_bus_name_watcher_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum BusNameWatcherFlags {
                NONE,
                AUTO_START
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_BUS_TYPE_", type_id = "g_bus_type_get_type ()")]
+       [Version (since = "2.26")]
        public enum BusType {
                STARTER,
                NONE,
@@ -3026,8 +3632,9 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_CONVERTER_")]
        [Flags]
+       [Version (since = "2.24")]
        public enum ConverterFlags {
-               [Deprecated (replacement = "ConverterFlags.NONE", since = "vala-0.16")]
+               [Version (deprecated_since = "vala-0.16", replacement = "ConverterFlags.NONE")]
                NO_FLAGS,
                [CCode (cname = "G_CONVERTER_NO_FLAGS")]
                NONE,
@@ -3035,6 +3642,7 @@ namespace GLib {
                FLUSH
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_CONVERTER_", type_id = 
"g_converter_result_get_type ()")]
+       [Version (since = "2.24")]
        public enum ConverterResult {
                ERROR,
                CONVERTED,
@@ -3042,6 +3650,7 @@ namespace GLib {
                FLUSHED
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_CREDENTIALS_TYPE_", type_id = 
"g_credentials_type_get_type ()")]
+       [Version (since = "2.26")]
        public enum CredentialsType {
                INVALID,
                LINUX_UCRED,
@@ -3052,18 +3661,21 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_CALL_FLAGS_", type_id = 
"g_dbus_call_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusCallFlags {
                NONE,
                NO_AUTO_START
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_CAPABILITY_FLAGS_", type_id = 
"g_dbus_capability_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusCapabilityFlags {
                NONE,
                UNIX_FD_PASSING
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_CONNECTION_FLAGS_", type_id = 
"g_dbus_connection_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusConnectionFlags {
                NONE,
                AUTHENTICATION_CLIENT,
@@ -3074,23 +3686,27 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_INTERFACE_SKELETON_FLAGS_", type_id = 
"g_dbus_interface_skeleton_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.30")]
        public enum DBusInterfaceSkeletonFlags {
                NONE,
                HANDLE_METHOD_INVOCATIONS_IN_THREAD
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_BYTE_ORDER_", type_id = 
"g_dbus_message_byte_order_get_type ()")]
+       [Version (since = "2.26")]
        public enum DBusMessageByteOrder {
                BIG_ENDIAN,
                LITTLE_ENDIAN
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_FLAGS_", type_id = 
"g_dbus_message_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusMessageFlags {
                NONE,
                NO_REPLY_EXPECTED,
                NO_AUTO_START
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_HEADER_FIELD_", type_id = 
"g_dbus_message_header_field_get_type ()")]
+       [Version (since = "2.26")]
        public enum DBusMessageHeaderField {
                INVALID,
                PATH,
@@ -3104,6 +3720,7 @@ namespace GLib {
                NUM_UNIX_FDS
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_TYPE_", type_id = 
"g_dbus_message_type_get_type ()")]
+       [Version (since = "2.26")]
        public enum DBusMessageType {
                INVALID,
                METHOD_CALL,
@@ -3113,12 +3730,14 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_", type_id = 
"g_dbus_object_manager_client_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.30")]
        public enum DBusObjectManagerClientFlags {
                NONE,
                DO_NOT_AUTO_START
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_PROPERTY_INFO_FLAGS_", type_id = 
"g_dbus_property_info_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusPropertyInfoFlags {
                NONE,
                READABLE,
@@ -3126,6 +3745,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_PROXY_FLAGS_", type_id = 
"g_dbus_proxy_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusProxyFlags {
                NONE,
                DO_NOT_LOAD_PROPERTIES,
@@ -3136,12 +3756,14 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SEND_MESSAGE_FLAGS_", type_id = 
"g_dbus_send_message_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusSendMessageFlags {
                NONE,
                PRESERVE_SERIAL
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SERVER_FLAGS_", type_id = 
"g_dbus_server_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusServerFlags {
                NONE,
                RUN_IN_THREAD,
@@ -3149,6 +3771,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SIGNAL_FLAGS_", type_id = 
"g_dbus_signal_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusSignalFlags {
                NONE,
                NO_MATCH_RULE,
@@ -3157,6 +3780,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SUBTREE_FLAGS_", type_id = 
"g_dbus_subtree_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.26")]
        public enum DBusSubtreeFlags {
                NONE,
                DISPATCH_TO_UNENUMERATED_NODES
@@ -3176,10 +3800,12 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DRIVE_START_", type_id = 
"g_drive_start_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.22")]
        public enum DriveStartFlags {
                NONE
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DRIVE_START_STOP_TYPE_", type_id = 
"g_drive_start_stop_type_get_type ()")]
+       [Version (since = "2.22")]
        public enum DriveStartStopType {
                UNKNOWN,
                SHUTDOWN,
@@ -3188,6 +3814,7 @@ namespace GLib {
                PASSWORD
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_EMBLEM_ORIGIN_", type_id = 
"g_emblem_origin_get_type ()")]
+       [Version (since = "2.18")]
        public enum EmblemOrigin {
                UNKNOWN,
                DEVICE,
@@ -3240,6 +3867,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_MEASURE_", type_id = 
"g_file_measure_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.38")]
        public enum FileMeasureFlags {
                NONE,
                REPORT_ANY_ERROR,
@@ -3288,12 +3916,14 @@ namespace GLib {
                NEVER
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_IO_MODULE_SCOPE_", type_id = 
"g_io_module_scope_flags_get_type ()")]
+       [Version (since = "2.30")]
        public enum IOModuleScopeFlags {
                NONE,
                BLOCK_DUPLICATES
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_IO_STREAM_SPLICE_", type_id = 
"g_io_stream_splice_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.28")]
        public enum IOStreamSpliceFlags {
                NONE,
                CLOSE_STREAM1,
@@ -3318,6 +3948,7 @@ namespace GLib {
                FORCE
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_NETWORK_CONNECTIVITY_", type_id = 
"g_network_connectivity_get_type ()")]
+       [Version (since = "2.44")]
        public enum NetworkConnectivity {
                LOCAL,
                LIMITED,
@@ -3325,6 +3956,7 @@ namespace GLib {
                FULL
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_NOTIFICATION_PRIORITY_", type_id = 
"g_notification_priority_get_type ()")]
+       [Version (since = "2.42")]
        public enum NotificationPriority {
                NORMAL,
                LOW,
@@ -3345,6 +3977,7 @@ namespace GLib {
                PERMANENTLY
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOLVER_RECORD_", type_id = 
"g_resolver_record_type_get_type ()")]
+       [Version (since = "2.34")]
        public enum ResolverRecordType {
                SRV,
                MX,
@@ -3354,12 +3987,14 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOURCE_FLAGS_", type_id = 
"g_resource_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.32")]
        public enum ResourceFlags {
                NONE,
                COMPRESSED
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOURCE_LOOKUP_FLAGS_", type_id = 
"g_resource_lookup_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.32")]
        public enum ResourceLookupFlags {
                NONE
        }
@@ -3374,6 +4009,7 @@ namespace GLib {
                INVERT_BOOLEAN
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_CLIENT_", type_id = 
"g_socket_client_event_get_type ()")]
+       [Version (since = "2.32")]
        public enum SocketClientEvent {
                RESOLVING,
                RESOLVED,
@@ -3386,6 +4022,7 @@ namespace GLib {
                COMPLETE
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_FAMILY_", type_id = 
"g_socket_family_get_type ()")]
+       [Version (since = "2.22")]
        public enum SocketFamily {
                INVALID,
                UNIX,
@@ -3394,6 +4031,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_MSG_", type_id = 
"g_socket_msg_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.22")]
        public enum SocketMsgFlags {
                NONE,
                OOB,
@@ -3401,6 +4039,7 @@ namespace GLib {
                DONTROUTE
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_PROTOCOL_", type_id = 
"g_socket_protocol_get_type ()")]
+       [Version (since = "2.22")]
        public enum SocketProtocol {
                UNKNOWN,
                DEFAULT,
@@ -3409,6 +4048,7 @@ namespace GLib {
                SCTP
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_TYPE_", type_id = "g_socket_type_get_type 
()")]
+       [Version (since = "2.22")]
        public enum SocketType {
                INVALID,
                STREAM,
@@ -3417,6 +4057,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SUBPROCESS_FLAGS_", type_id = 
"g_subprocess_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.40")]
        public enum SubprocessFlags {
                NONE,
                STDIN_PIPE,
@@ -3430,10 +4071,12 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TEST_DBUS_", type_id = 
"g_test_dbus_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.34")]
        public enum TestDBusFlags {
                NONE
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_AUTHENTICATION_", type_id = 
"g_tls_authentication_mode_get_type ()")]
+       [Version (since = "2.28")]
        public enum TlsAuthenticationMode {
                NONE,
                REQUESTED,
@@ -3441,6 +4084,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_CERTIFICATE_", type_id = 
"g_tls_certificate_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.28")]
        public enum TlsCertificateFlags {
                UNKNOWN_CA,
                BAD_IDENTITY,
@@ -3452,20 +4096,24 @@ namespace GLib {
                VALIDATE_ALL
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_CERTIFICATE_REQUEST_", type_id = 
"g_tls_certificate_request_flags_get_type ()")]
+       [Version (since = "2.40")]
        public enum TlsCertificateRequestFlags {
                NONE
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_DATABASE_LOOKUP_", type_id = 
"g_tls_database_lookup_flags_get_type ()")]
+       [Version (since = "2.30")]
        public enum TlsDatabaseLookupFlags {
                NONE,
                KEYPAIR
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_DATABASE_VERIFY_", type_id = 
"g_tls_database_verify_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.30")]
        public enum TlsDatabaseVerifyFlags {
                NONE
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_INTERACTION_", type_id = 
"g_tls_interaction_result_get_type ()")]
+       [Version (since = "2.30")]
        public enum TlsInteractionResult {
                UNHANDLED,
                HANDLED,
@@ -3473,6 +4121,7 @@ namespace GLib {
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_PASSWORD_", type_id = 
"g_tls_password_flags_get_type ()")]
        [Flags]
+       [Version (since = "2.30")]
        public enum TlsPasswordFlags {
                NONE,
                RETRY,
@@ -3480,12 +4129,14 @@ namespace GLib {
                FINAL_TRY
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_REHANDSHAKE_", type_id = 
"g_tls_rehandshake_mode_get_type ()")]
+       [Version (since = "2.28")]
        public enum TlsRehandshakeMode {
                NEVER,
                SAFELY,
                UNSAFELY
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_UNIX_SOCKET_ADDRESS_", type_id = 
"g_unix_socket_address_type_get_type ()")]
+       [Version (since = "2.26")]
        public enum UnixSocketAddressType {
                INVALID,
                ANONYMOUS,
@@ -3494,12 +4145,14 @@ namespace GLib {
                ABSTRACT_PADDED
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_ZLIB_COMPRESSOR_FORMAT_", type_id = 
"g_zlib_compressor_format_get_type ()")]
+       [Version (since = "2.24")]
        public enum ZlibCompressorFormat {
                ZLIB,
                GZIP,
                RAW
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_ERROR_")]
+       [Version (since = "2.26")]
        public errordomain DBusError {
                FAILED,
                NO_MEMORY,
@@ -3621,6 +4274,7 @@ namespace GLib {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOLVER_ERROR_")]
+       [Version (since = "2.22")]
        public errordomain ResolverError {
                NOT_FOUND,
                TEMPORARY_FAILURE,
@@ -3629,6 +4283,7 @@ namespace GLib {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOURCE_ERROR_")]
+       [Version (since = "2.32")]
        public errordomain ResourceError {
                NOT_FOUND,
                INTERNAL;
@@ -3636,6 +4291,7 @@ namespace GLib {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_ERROR_")]
+       [Version (since = "2.28")]
        public errordomain TlsError {
                UNAVAILABLE,
                MISC,
@@ -3648,36 +4304,50 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
        public delegate void AsyncReadyCallback (GLib.Object? source_object, GLib.AsyncResult res);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+       [Version (since = "2.26")]
        public delegate void BusAcquiredCallback (GLib.DBusConnection connection, string name);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+       [Version (since = "2.26")]
        public delegate void BusNameAcquiredCallback (GLib.DBusConnection connection, string name);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
+       [Version (since = "2.26")]
        public delegate void BusNameAppearedCallback (GLib.DBusConnection connection, string name, string 
name_owner);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+       [Version (since = "2.26")]
        public delegate void BusNameLostCallback (GLib.DBusConnection connection, string name);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+       [Version (since = "2.26")]
        public delegate void BusNameVanishedCallback (GLib.DBusConnection connection, string name);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 1.9)]
+       [Version (since = "2.28")]
        public delegate bool CancellableSourceFunc (GLib.Cancellable? cancellable = null);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
        public delegate GLib.Variant DBusInterfaceGetPropertyFunc (GLib.DBusConnection connection, string 
sender, string object_path, string interface_name, string property_name) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
+       [Version (since = "2.26")]
        public delegate void DBusInterfaceMethodCallFunc (GLib.DBusConnection connection, string sender, 
string object_path, string interface_name, string method_name, GLib.Variant parameters, owned 
GLib.DBusMethodInvocation invocation);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
        public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, 
string object_path, string interface_name, string property_name, GLib.Variant value) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
+       [Version (since = "2.26")]
        public delegate GLib.DBusMessage DBusMessageFilterFunction (GLib.DBusConnection connection, owned 
GLib.DBusMessage message, bool incoming);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
+       [Version (since = "2.30")]
        public delegate GLib.Type DBusProxyTypeFunc (GLib.DBusObjectManagerClient manager, string 
object_path, string? interface_name);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
+       [Version (since = "2.26")]
        public delegate void DBusSignalCallback (GLib.DBusConnection connection, string sender_name, string 
object_path, string interface_name, string signal_name, GLib.Variant parameters);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
+       [Version (since = "2.26")]
        public delegate unowned GLib.DBusInterfaceVTable? DBusSubtreeDispatchFunc (GLib.DBusConnection 
connection, string sender, string object_path, string interface_name, string node, void* out_user_data);
        [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gio/gio.h", 
instance_pos = 3.9)]
+       [Version (since = "2.26")]
        public delegate string[] DBusSubtreeEnumerateFunc (GLib.DBusConnection connection, string sender, 
string object_path);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 4.9)]
+       [Version (since = "2.26")]
        public delegate GLib.DBusInterfaceInfo DBusSubtreeIntrospectFunc (GLib.DBusConnection connection, 
string sender, string object_path, string node);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 4.9)]
+       [Version (since = "2.38")]
        public delegate void FileMeasureProgressCallback (bool reporting, uint64 current_size, uint64 
num_dirs, uint64 num_files);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
        public delegate void FileProgressCallback (int64 current_num_bytes, int64 total_num_bytes);
@@ -3686,6 +4356,7 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
        public delegate bool IOSchedulerJobFunc (GLib.IOSchedulerJob job, GLib.Cancellable? cancellable = 
null);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 1.9)]
+       [Version (since = "2.28")]
        public delegate bool PollableSourceFunc (GLib.Object pollable_stream);
        [CCode (cheader_filename = "gio/gio.h", has_target = false)]
        public delegate void* ReallocFunc (void* data, size_t size);
@@ -3700,480 +4371,495 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
        public delegate bool SettingsGetMapping (GLib.Variant value, out void* result);
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "SimplActionActivateFunc", since = "vala-0.26")]
+       [Version (deprecated_since = "vala-0.26", replacement = "SimplActionActivateFunc")]
        public delegate void SimpleActionActivateCallback (GLib.SimpleAction action, GLib.Variant? parameter);
        [CCode (cheader_filename = "gio/gio.h", has_target = false)]
        public delegate void SimpleActionActivateFunc (GLib.SimpleAction action, GLib.Variant? parameter, 
void* user_data);
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "SimplActionChangeStateFunc", since = "vala-0.26")]
+       [Version (deprecated_since = "vala-0.26", replacement = "SimplActionChangeStateFunc")]
        public delegate void SimpleActionChangeStateCallback (GLib.SimpleAction action, GLib.Variant value);
        [CCode (cheader_filename = "gio/gio.h", has_target = false)]
        public delegate void SimpleActionChangeStateFunc (GLib.SimpleAction action, GLib.Variant value, void* 
user_data);
        [CCode (cheader_filename = "gio/gio.h", has_target = false)]
        public delegate void SimpleAsyncThreadFunc (GLib.SimpleAsyncResult res, GLib.Object object, 
GLib.Cancellable? cancellable = null);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+       [Version (since = "2.22")]
        public delegate bool SocketSourceFunc (GLib.Socket socket, GLib.IOCondition condition);
        [CCode (cheader_filename = "gio/gio.h", has_target = false)]
+       [Version (since = "2.36")]
        public delegate void TaskThreadFunc (GLib.Task task, GLib.Object source_object, void* task_data, 
GLib.Cancellable? cancellable = null);
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "File.equal", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "File.equal")]
        public static GLib.EqualFunc file_equal;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "File.hash", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "File.hash")]
        public static GLib.HashFunc file_hash;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ACCESS_CAN_DELETE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ACCESS_CAN_DELETE")]
        public const string FILE_ATTRIBUTE_ACCESS_CAN_DELETE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ACCESS_CAN_EXECUTE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ACCESS_CAN_EXECUTE")]
        public const string FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ACCESS_CAN_READ", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ACCESS_CAN_READ")]
        public const string FILE_ATTRIBUTE_ACCESS_CAN_READ;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ACCESS_CAN_RENAME", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ACCESS_CAN_RENAME")]
        public const string FILE_ATTRIBUTE_ACCESS_CAN_RENAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ACCESS_CAN_TRASH", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ACCESS_CAN_TRASH")]
        public const string FILE_ATTRIBUTE_ACCESS_CAN_TRASH;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ACCESS_CAN_WRITE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ACCESS_CAN_WRITE")]
        public const string FILE_ATTRIBUTE_ACCESS_CAN_WRITE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.DOS_IS_ARCHIVE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.DOS_IS_ARCHIVE")]
        public const string FILE_ATTRIBUTE_DOS_IS_ARCHIVE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.DOS_IS_SYSTEM", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.DOS_IS_SYSTEM")]
        public const string FILE_ATTRIBUTE_DOS_IS_SYSTEM;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ETAG_VALUE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ETAG_VALUE")]
        public const string FILE_ATTRIBUTE_ETAG_VALUE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.FILESYSTEM_FREE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.FILESYSTEM_FREE")]
        public const string FILE_ATTRIBUTE_FILESYSTEM_FREE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.FILESYSTEM_READONLY", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.FILESYSTEM_READONLY")]
        public const string FILE_ATTRIBUTE_FILESYSTEM_READONLY;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.FILESYSTEM_SIZE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.FILESYSTEM_SIZE")]
        public const string FILE_ATTRIBUTE_FILESYSTEM_SIZE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.FILESYSTEM_TYPE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.FILESYSTEM_TYPE")]
        public const string FILE_ATTRIBUTE_FILESYSTEM_TYPE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.FILESYSTEM_USE_PREVIEW", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.FILESYSTEM_USE_PREVIEW")]
        public const string FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.GVFS_BACKEND", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.GVFS_BACKEND")]
        public const string FILE_ATTRIBUTE_GVFS_BACKEND;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ID_FILE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ID_FILE")]
        public const string FILE_ATTRIBUTE_ID_FILE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.ID_FILESYSTEM", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.ID_FILESYSTEM")]
        public const string FILE_ATTRIBUTE_ID_FILESYSTEM;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_EJECT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_CAN_EJECT")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_MOUNT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_CAN_MOUNT")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_POLL", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_CAN_POLL")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_START", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_CAN_START")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_START;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_START_DEGRADED", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_CAN_START_DEGRADED")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_STOP", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_CAN_STOP")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_UNMOUNT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_CAN_UNMOUNT")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_HAL_UDI", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_HAL_UDI")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = 
"FileAttribute.MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_START_STOP_TYPE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_START_STOP_TYPE")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_UNIX_DEVICE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_UNIX_DEVICE")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.MOUNTABLE_UNIX_DEVICE_FILE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.MOUNTABLE_UNIX_DEVICE_FILE")]
        public const string FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.OWNER_GROUP", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.OWNER_GROUP")]
        public const string FILE_ATTRIBUTE_OWNER_GROUP;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.OWNER_USER", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.OWNER_USER")]
        public const string FILE_ATTRIBUTE_OWNER_USER;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.OWNER_USER_REAL", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.OWNER_USER_REAL")]
        public const string FILE_ATTRIBUTE_OWNER_USER_REAL;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.PREVIEW_ICON", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.PREVIEW_ICON")]
        public const string FILE_ATTRIBUTE_PREVIEW_ICON;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.SELINUX_CONTEXT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.SELINUX_CONTEXT")]
        public const string FILE_ATTRIBUTE_SELINUX_CONTEXT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_ALLOCATED_SIZE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_ALLOCATED_SIZE")]
        public const string FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_CONTENT_TYPE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_CONTENT_TYPE")]
        public const string FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_COPY_NAME", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_COPY_NAME")]
        public const string FILE_ATTRIBUTE_STANDARD_COPY_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_DESCRIPTION", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_DESCRIPTION")]
        public const string FILE_ATTRIBUTE_STANDARD_DESCRIPTION;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_DISPLAY_NAME", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_DISPLAY_NAME")]
        public const string FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_EDIT_NAME", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_EDIT_NAME")]
        public const string FILE_ATTRIBUTE_STANDARD_EDIT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_FAST_CONTENT_TYPE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_FAST_CONTENT_TYPE")]
        public const string FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_ICON", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_ICON")]
        public const string FILE_ATTRIBUTE_STANDARD_ICON;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_IS_BACKUP", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_IS_BACKUP")]
        public const string FILE_ATTRIBUTE_STANDARD_IS_BACKUP;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_IS_HIDDEN", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_IS_HIDDEN")]
        public const string FILE_ATTRIBUTE_STANDARD_IS_HIDDEN;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_IS_SYMLINK", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_IS_SYMLINK")]
        public const string FILE_ATTRIBUTE_STANDARD_IS_SYMLINK;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_IS_VIRTUAL", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_IS_VIRTUAL")]
        public const string FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_NAME", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_NAME")]
        public const string FILE_ATTRIBUTE_STANDARD_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_SIZE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_SIZE")]
        public const string FILE_ATTRIBUTE_STANDARD_SIZE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_SORT_ORDER", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_SORT_ORDER")]
        public const string FILE_ATTRIBUTE_STANDARD_SORT_ORDER;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_SYMLINK_TARGET", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_SYMLINK_TARGET")]
        public const string FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_TARGET_URI", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_TARGET_URI")]
        public const string FILE_ATTRIBUTE_STANDARD_TARGET_URI;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.STANDARD_TYPE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.STANDARD_TYPE")]
        public const string FILE_ATTRIBUTE_STANDARD_TYPE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.THUMBNAILING_FAILED", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.THUMBNAILING_FAILED")]
        public const string FILE_ATTRIBUTE_THUMBNAILING_FAILED;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.THUMBNAIL_PATH", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.THUMBNAIL_PATH")]
        public const string FILE_ATTRIBUTE_THUMBNAIL_PATH;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_ACCESS", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_ACCESS")]
        public const string FILE_ATTRIBUTE_TIME_ACCESS;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_ACCESS_USEC", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_ACCESS_USEC")]
        public const string FILE_ATTRIBUTE_TIME_ACCESS_USEC;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_CHANGED", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_CHANGED")]
        public const string FILE_ATTRIBUTE_TIME_CHANGED;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_CHANGED_USEC", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_CHANGED_USEC")]
        public const string FILE_ATTRIBUTE_TIME_CHANGED_USEC;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_CREATED", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_CREATED")]
        public const string FILE_ATTRIBUTE_TIME_CREATED;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_CREATED_USEC", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_CREATED_USEC")]
        public const string FILE_ATTRIBUTE_TIME_CREATED_USEC;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_MODIFIED", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_MODIFIED")]
        public const string FILE_ATTRIBUTE_TIME_MODIFIED;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TIME_MODIFIED_USEC", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TIME_MODIFIED_USEC")]
        public const string FILE_ATTRIBUTE_TIME_MODIFIED_USEC;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TRASH_DELETION_DATE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TRASH_DELETION_DATE")]
        public const string FILE_ATTRIBUTE_TRASH_DELETION_DATE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TRASH_ITEM_COUNT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TRASH_ITEM_COUNT")]
        public const string FILE_ATTRIBUTE_TRASH_ITEM_COUNT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.TRASH_ORIG_PATH", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.TRASH_ORIG_PATH")]
        public const string FILE_ATTRIBUTE_TRASH_ORIG_PATH;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_BLOCKS", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_BLOCKS")]
        public const string FILE_ATTRIBUTE_UNIX_BLOCKS;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_BLOCK_SIZE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_BLOCK_SIZE")]
        public const string FILE_ATTRIBUTE_UNIX_BLOCK_SIZE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_DEVICE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_DEVICE")]
        public const string FILE_ATTRIBUTE_UNIX_DEVICE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_GID", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_GID")]
        public const string FILE_ATTRIBUTE_UNIX_GID;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_INODE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_INODE")]
        public const string FILE_ATTRIBUTE_UNIX_INODE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_IS_MOUNTPOINT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_IS_MOUNTPOINT")]
        public const string FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_MODE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_MODE")]
        public const string FILE_ATTRIBUTE_UNIX_MODE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_NLINK", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_NLINK")]
        public const string FILE_ATTRIBUTE_UNIX_NLINK;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_RDEV", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_RDEV")]
        public const string FILE_ATTRIBUTE_UNIX_RDEV;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "FileAttribute.UNIX_UID", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "FileAttribute.UNIX_UID")]
        public const string FILE_ATTRIBUTE_UNIX_UID;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "Menu.ATTRIBUTE_ACTION", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Menu.ATTRIBUTE_ACTION")]
        public const string MENU_ATTRIBUTE_ACTION;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "Menu.ATTRIBUTE_LABEL", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Menu.ATTRIBUTE_LABEL")]
        public const string MENU_ATTRIBUTE_LABEL;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "Menu.ATTRIBUTE_TARGET", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Menu.ATTRIBUTE_TARGET")]
        public const string MENU_ATTRIBUTE_TARGET;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "Menu.LINK_SECTION_SECTION", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Menu.LINK_SECTION_SECTION")]
        public const string MENU_LINK_SECTION;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "Menu.LINK_SUBMENU", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "Menu.LINK_SUBMENU")]
        public const string MENU_LINK_SUBMENU;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "IOExtensionPoint.NATIVE_VOLUME_MONITOR", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOExtensionPoint.NATIVE_VOLUME_MONITOR")]
        public const string NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "IOExtensionPoint.NETWORK_MONITOR", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOExtensionPoint.NETWORK_MONITOR")]
        public const string NETWORK_MONITOR_EXTENSION_POINT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "IOExtensionPoint.PROXY", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOExtensionPoint.PROXY")]
        public const string PROXY_EXTENSION_POINT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "IOExtensionPoint.PROXY_RESOLVER", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOExtensionPoint.PROXY_RESOLVER")]
        public const string PROXY_RESOLVER_EXTENSION_POINT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "IOExtensionPoint.TLS_BACKEND", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOExtensionPoint.TLS_BACKEND")]
        public const string TLS_BACKEND_EXTENSION_POINT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "TlsDatabase.PURPOSE_AUTHENTICATE_CLIENT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "TlsDatabase.PURPOSE_AUTHENTICATE_CLIENT")]
        public const string TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "TlsDatabase.PURPOSE_AUTHENTICATE_SERVER", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "TlsDatabase.PURPOSE_AUTHENTICATE_SERVER")]
        public const string TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "IOExtensionPoint.VFS", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOExtensionPoint.VFS")]
        public const string VFS_EXTENSION_POINT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "GLib.VolumeIdentifier.HAL_UDI", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "GLib.VolumeIdentifier.HAL_UDI")]
        public const string VOLUME_IDENTIFIER_KIND_HAL_UDI;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "GLib.VolumeIdentifier.LABEL", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "GLib.VolumeIdentifier.LABEL")]
        public const string VOLUME_IDENTIFIER_KIND_LABEL;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "GLib.VolumeIdentifier.NFS_MOUNT", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "GLib.VolumeIdentifier.NFS_MOUNT")]
        public const string VOLUME_IDENTIFIER_KIND_NFS_MOUNT;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "GLib.VolumeIdentifier.UNIX_DEVICE", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "GLib.VolumeIdentifier.UNIX_DEVICE")]
        public const string VOLUME_IDENTIFIER_KIND_UNIX_DEVICE;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "GLib.VolumeIdentifier.UUID", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "GLib.VolumeIdentifier.UUID")]
        public const string VOLUME_IDENTIFIER_KIND_UUID;
        [CCode (cheader_filename = "gio/gio.h")]
-       [Deprecated (replacement = "IOExtensionPoint.VOLUME_MONITOR", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOExtensionPoint.VOLUME_MONITOR")]
        public const string VOLUME_MONITOR_EXTENSION_POINT_NAME;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.38")]
        public static bool action_name_is_valid (string action_name);
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.38")]
        public static bool action_parse_detailed_name (string detailed_name, out string action_name, out 
GLib.Variant target_value) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.38")]
        public static string action_print_detailed_name (string action_name, GLib.Variant? target_value);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_can_be_executable")]
-       [Deprecated (replacement = "GLib.ContentType.can_be_executable", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.can_be_executable")]
        public static bool g_content_type_can_be_executable (string type);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_equals")]
-       [Deprecated (replacement = "GLib.ContentType.equals", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.equals")]
        public static bool g_content_type_equals (string type1, string type2);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_from_mime_type")]
-       [Deprecated (replacement = "GLib.ContentType.from_mime_type", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.from_mime_type")]
        public static string? g_content_type_from_mime_type (string mime_type);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_get_description")]
-       [Deprecated (replacement = "GLib.ContentType.get_description", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.get_description")]
        public static string g_content_type_get_description (string type);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_get_icon")]
-       [Deprecated (replacement = "GLib.ContentType.get_icon", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.get_icon")]
        public static GLib.Icon g_content_type_get_icon (string type);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_get_mime_type")]
-       [Deprecated (replacement = "GLib.ContentType.get_mime_type", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.get_mime_type")]
        public static string? g_content_type_get_mime_type (string type);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_guess")]
-       [Deprecated (replacement = "GLib.ContentType.guess", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.guess")]
        public static string g_content_type_guess (string filename, uchar[] data, out bool result_uncertain);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_guess_for_tree")]
-       [Deprecated (replacement = "GLib.ContentType.guess_for_tree", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.guess_for_tree")]
        public static string g_content_type_guess_for_tree (GLib.File root);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_is_a")]
-       [Deprecated (replacement = "GLib.ContentType.is_a", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.is_a")]
        public static bool g_content_type_is_a (string type, string supertype);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_is_unknown")]
-       [Deprecated (replacement = "GLib.ContentType.is_unknown", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "GLib.ContentType.is_unknown")]
        public static bool g_content_type_is_unknown (string type);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_content_types_get_registered")]
-       [Deprecated (replacement = "ContentType.list_registered", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "ContentType.list_registered")]
        public static GLib.List<string> g_content_types_get_registered ();
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_for_bus_sync")]
-       [Deprecated (replacement = "BusType.get_address_sync", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "BusType.get_address_sync")]
        public static unowned string g_dbus_address_get_for_bus_sync (GLib.BusType bus_type, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_stream")]
-       [Deprecated (replacement = "DBus.address_get_stream", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.address_get_stream")]
        public static async void g_dbus_address_get_stream (string address, GLib.Cancellable? cancellable = 
null);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_stream_finish")]
-       [Deprecated (replacement = "DBus.address_get_stream_finish", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.address_get_stream_finish")]
        public static unowned GLib.IOStream g_dbus_address_get_stream_finish (GLib.AsyncResult res, string 
out_guid) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_stream_sync")]
-       [Deprecated (replacement = "DBus.address_get_stream_sync", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.address_get_stream_sync")]
        public static unowned GLib.IOStream g_dbus_address_get_stream_sync (string address, string out_guid, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_encode_gerror")]
-       [Deprecated (replacement = "DBusError.encode_gerror", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.encode_gerror")]
        public static unowned string g_dbus_error_encode_gerror (GLib.Error error);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_get_remote_error")]
-       [Deprecated (replacement = "DBusError.get_remote_error", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.get_remote_error")]
        public static unowned string g_dbus_error_get_remote_error (GLib.Error error);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_is_remote_error")]
-       [Deprecated (replacement = "DBusError.error_is_remote_error", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.error_is_remote_error")]
        public static bool g_dbus_error_is_remote_error (GLib.Error error);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_new_for_dbus_error")]
-       [Deprecated (replacement = "DBusError.new_for_dbus_error", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.new_for_dbus_error")]
        public static unowned GLib.Error g_dbus_error_new_for_dbus_error (string dbus_error_name, string 
dbus_error_message);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_quark")]
-       [Deprecated (replacement = "DBusError.quark", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.quark")]
        public static GLib.Quark g_dbus_error_quark ();
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_register_error")]
-       [Deprecated (replacement = "DBusError.register_error", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.register_error")]
        public static bool g_dbus_error_register_error (GLib.Quark error_domain, int error_code, string 
dbus_error_name);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_register_error_domain")]
-       [Deprecated (replacement = "DBusError.register_error_domain", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.register_error_domain")]
        public static void g_dbus_error_register_error_domain (string error_domain_quark_name, size_t 
quark_volatile, GLib.DBusErrorEntry entries, uint num_entries);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_set_dbus_error")]
-       [Deprecated (replacement = "DBusError.set_dbus_error", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.set_dbus_error")]
        public static void g_dbus_error_set_dbus_error (string dbus_error_name, string dbus_error_message, 
string format) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_set_dbus_error_valist")]
-       [Deprecated (replacement = "DBusError.set_dbus_error_valist", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.set_dbus_error_valist")]
        public static void g_dbus_error_set_dbus_error_valist (string dbus_error_name, string 
dbus_error_message, string format, void* var_args) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_strip_remote_error")]
-       [Deprecated (replacement = "DBusError.strip_remote_error", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.strip_remote_error")]
        public static bool g_dbus_error_strip_remote_error (GLib.Error error);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_unregister_error")]
-       [Deprecated (replacement = "DBusError.unregister_error", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBusError.unregister_error")]
        public static bool g_dbus_error_unregister_error (GLib.Quark error_domain, int error_code, string 
dbus_error_name);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_generate_guid")]
-       [Deprecated (replacement = "DBus.generate_guid", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.generate_guid")]
        public static unowned string g_dbus_generate_guid ();
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_gvalue_to_gvariant")]
-       [Deprecated (replacement = "DBus.gvalue_to_gvariant", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.gvalue_to_gvariant")]
        public static unowned GLib.Variant g_dbus_gvalue_to_gvariant (GLib.Value gvalue, GLib.VariantType 
type);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_gvariant_to_gvalue")]
-       [Deprecated (replacement = "DBus.gvariant_to_gvalue", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.gvariant_to_gvalue")]
        public static void g_dbus_gvariant_to_gvalue (GLib.Variant value, GLib.Value out_gvalue);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_address")]
-       [Deprecated (replacement = "DBus.is_address", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.is_address")]
        public static bool g_dbus_is_address (string str);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_guid")]
-       [Deprecated (replacement = "DBus.is_guid", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.is_guid")]
        public static bool g_dbus_is_guid (string str);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_interface_name")]
-       [Deprecated (replacement = "DBus.is_interface_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.is_interface_name")]
        public static bool g_dbus_is_interface_name (string str);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_member_name")]
-       [Deprecated (replacement = "DBus.is_member_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.is_member_name")]
        public static bool g_dbus_is_member_name (string str);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_name")]
-       [Deprecated (replacement = "DBus.is_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.is_name")]
        public static bool g_dbus_is_name (string str);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_supported_address")]
-       [Deprecated (replacement = "DBus.is_supported_address", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.is_supported_address")]
        public static bool g_dbus_is_supported_address (string str) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_unique_name")]
-       [Deprecated (replacement = "DBus.is_unique_name", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "DBus.is_unique_name")]
        public static bool g_dbus_is_unique_name (string str);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_error_from_errno")]
-       [Deprecated (replacement = "IOError.from_errno", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOError.from_errno")]
        public static unowned GLib.IOError g_io_error_from_errno (int err_no);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_error_quark")]
-       [Deprecated (replacement = "IOError.quark", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOError.quark")]
        public static GLib.Quark g_io_error_quark ();
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_load_all_in_directory")]
-       [Deprecated (replacement = "IOModule.load_all_in_directory", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOModule.load_all_in_directory")]
        public static GLib.List<weak GLib.TypeModule> g_io_modules_load_all_in_directory (string dirname);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_load_all_in_directory_with_scope")]
-       [Deprecated (replacement = "IOModule.load_all_in_directory_with_scope", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOModule.load_all_in_directory_with_scope")]
        public static unowned GLib.List g_io_modules_load_all_in_directory_with_scope (string dirname, 
GLib.IOModuleScope scope);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_scan_all_in_directory")]
-       [Deprecated (replacement = "IOModule.scan_all_in_directory", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOModule.scan_all_in_directory")]
        public static void g_io_modules_scan_all_in_directory (string dirname);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_scan_all_in_directory_with_scope")]
-       [Deprecated (replacement = "IOModule.xscan_all_in_directory_with_scope", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOModule.xscan_all_in_directory_with_scope")]
        public static void g_io_modules_scan_all_in_directory_with_scope (string dirname, GLib.IOModuleScope 
scope);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_cancel_all_jobs")]
-       [Deprecated (replacement = "IOSchedulerJob.cancel_all", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOSchedulerJob.cancel_all")]
        public static void g_io_scheduler_cancel_all_jobs ();
        [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_push_job")]
-       [Deprecated (replacement = "IOSchedulerJob.push", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "IOSchedulerJob.push")]
        public static void g_io_scheduler_push_job (owned GLib.IOSchedulerJobFunc job_func, int io_priority = 
GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_pollable_source_new")]
-       [Deprecated (replacement = "PollableSource", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "PollableSource")]
        public static unowned GLib.TimeoutSource g_pollable_source_new (GLib.Object pollable_stream);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_error_in_idle")]
-       [Deprecated (replacement = "report_error_in_idle", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "report_error_in_idle")]
        public static void g_simple_async_report_error_in_idle (GLib.Object object, GLib.AsyncReadyCallback 
callback, GLib.Quark domain, int code, string format);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_gerror_in_idle")]
-       [Deprecated (replacement = "report_gerror_in_idle", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "report_gerror_in_idle")]
        public static void g_simple_async_report_gerror_in_idle (GLib.Object object, GLib.AsyncReadyCallback 
callback, GLib.Error error);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_take_gerror_in_idle")]
-       [Deprecated (replacement = "report_take_gerror_in_idle", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "report_take_gerror_in_idle")]
        public static void g_simple_async_report_take_gerror_in_idle (GLib.Object object, 
GLib.AsyncReadyCallback callback, GLib.Error error);
        [CCode (cheader_filename = "gio/gio.h", cname = "g_tls_error_quark")]
-       [Deprecated (replacement = "TlsError.quark", since = "vala-0.16")]
+       [Version (deprecated_since = "vala-0.16", replacement = "TlsError.quark")]
        public static GLib.Quark g_tls_error_quark ();
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.36")]
        public static void networking_init ();
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.34")]
        public static ssize_t pollable_stream_read (GLib.InputStream stream, [CCode (array_length_cname = 
"count", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.34")]
        public static ssize_t pollable_stream_write (GLib.OutputStream stream, [CCode (array_length_cname = 
"count", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.34")]
        public static bool pollable_stream_write_all (GLib.OutputStream stream, [CCode (array_length_cname = 
"count", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, out size_t 
bytes_written, GLib.Cancellable? cancellable = null) throws GLib.Error;
        [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gio/gio.h")]
+       [Version (since = "2.32")]
        public static string[] resources_enumerate_children (string path, GLib.ResourceLookupFlags 
lookup_flags) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.32")]
        public static bool resources_get_info (string path, GLib.ResourceLookupFlags lookup_flags, out size_t 
size, out uint32 flags) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.32")]
        public static GLib.Bytes resources_lookup_data (string path, GLib.ResourceLookupFlags lookup_flags) 
throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.32")]
        public static GLib.InputStream resources_open_stream (string path, GLib.ResourceLookupFlags 
lookup_flags) throws GLib.Error;
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.32")]
        public static void resources_register (GLib.Resource resource);
        [CCode (cheader_filename = "gio/gio.h")]
+       [Version (since = "2.32")]
        public static void resources_unregister (GLib.Resource resource);
 }
diff --git a/vapi/gnome-keyring-1.vapi b/vapi/gnome-keyring-1.vapi
index 76f5c6e..e016a9a 100644
--- a/vapi/gnome-keyring-1.vapi
+++ b/vapi/gnome-keyring-1.vapi
@@ -1,6 +1,6 @@
 /* gnome-keyring-1.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "bindings distributed with libgnome-keyring", since = "3.5.4")]
+[Version (deprecated_since = "3.5.4", replacement = "bindings distributed with libgnome-keyring")]
 namespace GnomeKeyring {
        [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_access_control_copy")]
        [Compact]
diff --git a/vapi/gobject-introspection-1.0.vapi b/vapi/gobject-introspection-1.0.vapi
index c5552bd..da40929 100644
--- a/vapi/gobject-introspection-1.0.vapi
+++ b/vapi/gobject-introspection-1.0.vapi
@@ -15,6 +15,7 @@ namespace GI {
                public static bool is_caller_allocates (GI.ArgInfo info);
                public static bool is_optional (GI.ArgInfo info);
                public static bool is_return_value (GI.ArgInfo info);
+               [Version (since = "1.29.0")]
                public static bool is_skip (GI.ArgInfo info);
                public static void load_type (GI.ArgInfo info, out unowned GI.TypeInfo type);
                public static bool may_be_null (GI.ArgInfo info);
@@ -45,6 +46,7 @@ namespace GI {
        public class CallableInfo : GI.BaseInfo {
                [CCode (has_construct_function = false)]
                protected CallableInfo ();
+               [Version (since = "1.34")]
                public static bool can_throw_gerror (GI.CallableInfo info);
                public static GI.ArgInfo get_arg (GI.CallableInfo info, int n);
                public static GI.Transfer get_caller_owns (GI.CallableInfo info);
@@ -53,6 +55,7 @@ namespace GI {
                public static unowned string get_return_attribute (GI.CallableInfo info, string name);
                public static GI.TypeInfo get_return_type (GI.CallableInfo info);
                public static bool invoke (GI.CallableInfo info, void* function, GI.Argument in_args, int 
n_in_args, GI.Argument out_args, int n_out_args, GI.Argument return_value, bool is_method, bool @throws) 
throws GLib.Error;
+               [Version (since = "1.34")]
                public static bool is_method (GI.CallableInfo info);
                public static bool iterate_return_attributes (GI.CallableInfo info, GI.AttributeIter 
iterator, out unowned string name, out unowned string value);
                public static void load_arg (GI.CallableInfo info, int n, out unowned GI.ArgInfo arg);
@@ -75,8 +78,11 @@ namespace GI {
        public class EnumInfo : GI.BaseInfo {
                [CCode (has_construct_function = false)]
                protected EnumInfo ();
+               [Version (since = "1.29.17")]
                public static unowned string get_error_domain (GI.EnumInfo info);
+               [Version (since = "1.29.17")]
                public static GI.FunctionInfo get_method (GI.EnumInfo info, int n);
+               [Version (since = "1.29.17")]
                public static int get_n_methods (GI.EnumInfo info);
                public static int get_n_values (GI.EnumInfo info);
                public static GI.TypeTag get_storage_type (GI.EnumInfo info);
@@ -105,6 +111,7 @@ namespace GI {
                [CCode (has_construct_function = false)]
                protected InterfaceInfo ();
                public static GI.FunctionInfo find_method (GI.InterfaceInfo info, string name);
+               [Version (since = "1.34")]
                public static GI.SignalInfo find_signal (GI.InterfaceInfo info, string name);
                public static GI.VFuncInfo find_vfunc (GI.InterfaceInfo info, string name);
                public static GI.ConstantInfo get_constant (GI.InterfaceInfo info, int n);
@@ -178,6 +185,7 @@ namespace GI {
                public static bool dump (string arg) throws GLib.Error;
                public GLib.List<string> enumerate_versions (string namespace_);
                public static GLib.Quark error_quark ();
+               [Version (since = "1.29.17")]
                public GI.EnumInfo find_by_error_domain (GLib.Quark domain);
                public GI.BaseInfo find_by_gtype (GLib.Type gtype);
                public GI.BaseInfo find_by_name (string namespace_, string name);
diff --git a/vapi/goocanvas.vapi b/vapi/goocanvas.vapi
index f688f44..614cb45 100644
--- a/vapi/goocanvas.vapi
+++ b/vapi/goocanvas.vapi
@@ -1,7 +1,7 @@
 /* goocanvas.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Goo", lower_case_cprefix = "goo_")]
-[Deprecated (replacement = "goocanvas-2.0")]
+[Version (replacement = "goocanvas-2.0")]
 namespace Goo {
        [CCode (cheader_filename = "goocanvas.h", copy_function = "goo_cairo_matrix_copy", type_id = 
"GOO_TYPE_CAIRO_MATRIX")]
        [Compact]
diff --git a/vapi/gstreamer-0.10.vapi b/vapi/gstreamer-0.10.vapi
index eeff772..6ec7c9b 100644
--- a/vapi/gstreamer-0.10.vapi
+++ b/vapi/gstreamer-0.10.vapi
@@ -47,7 +47,7 @@ namespace Gst {
                [NoWrapper]
                public virtual bool add_element (Gst.Element element);
                public void add_many (params Gst.Element[] elements);
-               [Deprecated (replacement = "Gst.Bin.find_unlinked_pad")]
+               [Version (replacement = "Gst.Bin.find_unlinked_pad")]
                public Gst.Pad? find_unconnected_pad (Gst.PadDirection direction);
                public Gst.Pad? find_unlinked_pad (Gst.PadDirection direction);
                public Gst.Element? get_by_interface (GLib.Type iface);
@@ -122,7 +122,7 @@ namespace Gst {
                public static void replace (ref Gst.Buffer? oldobj, Gst.Buffer? newobj);
                public void set_caps (Gst.Caps caps);
                public Gst.Buffer span (uint32 offset, Gst.Buffer buf2, uint32 len);
-               [Deprecated (replacement = "Gst.Buffer.copy_metadata")]
+               [Version (replacement = "Gst.Buffer.copy_metadata")]
                public void stamp (Gst.Buffer src);
                [CCode (cname = "GST_BUFFER_TIMESTAMP_IS_VALID")]
                public bool timestamp_is_valid ();
@@ -428,7 +428,7 @@ namespace Gst {
                public unowned Gst.PadTemplate? get_compatible_pad_template (Gst.PadTemplate compattempl);
                public unowned Gst.ElementFactory? get_factory ();
                public virtual Gst.Index? get_index ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public Gst.Pad? get_pad (string name);
                [CCode (cname = "gst_element_class_get_pad_template")]
                public class unowned Gst.PadTemplate? get_pad_template (string name);
@@ -436,7 +436,7 @@ namespace Gst {
                public class unowned GLib.List<Gst.PadTemplate> get_pad_template_list ();
                [CCode (array_length = false)]
                public virtual unowned Gst.QueryType[]? get_query_types ();
-               [Deprecated (replacement = "Gst.Element.request_pad")]
+               [Version (replacement = "Gst.Element.request_pad")]
                public Gst.Pad? get_request_pad (string name);
                public Gst.ClockTime get_start_time ();
                public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, 
Gst.ClockTime timeout);
@@ -485,7 +485,7 @@ namespace Gst {
                public virtual void set_bus (Gst.Bus? bus);
                public virtual bool set_clock (Gst.Clock? clock);
                [CCode (cname = "gst_element_class_set_details")]
-               [Deprecated (replacement = "Gst.Element.set_details_simple")]
+               [Version (replacement = "Gst.Element.set_details_simple")]
                public class void set_details (Gst.ElementDetails details);
                [CCode (cname = "gst_element_class_set_details_simple")]
                public class void set_details_simple (string longname, string classification, string 
description, string author);
@@ -513,11 +513,11 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                protected ElementFactory ();
                public bool can_sink_all_caps (Gst.Caps caps);
-               [Deprecated (replacement = "Gst.ElementFactory.can_sink_all_caps")]
+               [Version (replacement = "Gst.ElementFactory.can_sink_all_caps")]
                public bool can_sink_any_caps (Gst.Caps caps);
                public bool can_sink_caps (Gst.Caps caps);
                public bool can_src_all_caps (Gst.Caps caps);
-               [Deprecated (replacement = "Gst.ElementFactory.can_src_all_caps")]
+               [Version (replacement = "Gst.ElementFactory.can_src_all_caps")]
                public bool can_src_any_caps (Gst.Caps caps);
                public bool can_src_caps (Gst.Caps caps);
                [CCode (returns_floating_reference = true)]
@@ -931,9 +931,9 @@ namespace Gst {
                public Gst.PadDirection get_direction ();
                public void* get_element_private ();
                public Gst.Caps get_fixed_caps_func ();
-               [Deprecated (replacement = "Gst.Pad.iterate_internal_links")]
+               [Version (replacement = "Gst.Pad.iterate_internal_links")]
                public GLib.List<Gst.Pad> get_internal_links ();
-               [Deprecated (replacement = "Gst.Pad.iterate_internal_links_default")]
+               [Version (replacement = "Gst.Pad.iterate_internal_links_default")]
                public GLib.List<Gst.Pad> get_internal_links_default ();
                public Gst.Caps get_negotiated_caps ();
                public unowned Gst.PadTemplate get_pad_template ();
@@ -995,7 +995,7 @@ namespace Gst {
                public void set_fixatecaps_function (Gst.PadFixateCapsFunction fixatecaps);
                public void set_getcaps_function (Gst.PadGetCapsFunction getcaps);
                public void set_getrange_function (Gst.PadGetRangeFunction @get);
-               [Deprecated (replacement = "Gst.Pad.set_iterate_internal_links_function")]
+               [Version (replacement = "Gst.Pad.set_iterate_internal_links_function")]
                public void set_internal_link_function (Gst.PadIntLinkFunction intlink);
                public void set_iterate_internal_links_function (Gst.PadIterIntLinkFunction iterintlink);
                public void set_link_function (Gst.PadLinkFunction link);
@@ -1064,12 +1064,12 @@ namespace Gst {
                public Gst.Bus get_bus ();
                public Gst.Clock? get_clock ();
                public Gst.ClockTime get_delay ();
-               [Deprecated (replacement = "Gst.Element.get_start_time")]
+               [Version (replacement = "Gst.Element.get_start_time")]
                public Gst.ClockTime get_last_stream_time ();
                public void set_auto_flush_bus (bool auto_flush);
                public bool set_clock (Gst.Clock? clock);
                public void set_delay (Gst.ClockTime delay);
-               [Deprecated (replacement = "Gst.Element.set_start_time")]
+               [Version (replacement = "Gst.Element.set_start_time")]
                public void set_new_stream_time (Gst.ClockTime time);
                public void use_clock (Gst.Clock? clock);
                public bool auto_flush_bus { get; set; }
@@ -1523,21 +1523,21 @@ namespace Gst {
                public void* ns;
                public weak GLib.List<Gst.Element> topelements;
                [CCode (has_construct_function = false)]
-               [Deprecated]
+               [Version (deprecated = true)]
                public XML ();
                public unowned Gst.Element get_element (string name);
                public unowned GLib.List<Gst.Element> get_topelements ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public static unowned Gst.Element make_element (void* cur, Gst.Object parent);
                [NoWrapper]
                public virtual void object_saved (Gst.Object object, void* self);
                public bool parse_doc (void* doc, string root);
                public bool parse_file (string fname, string root);
-               [Deprecated]
+               [Version (deprecated = true)]
                public bool parse_memory (uchar[] buffer, uint size, string root);
-               [Deprecated]
+               [Version (deprecated = true)]
                public static void* write (Gst.Element element);
-               [Deprecated]
+               [Version (deprecated = true)]
                public static int write_file (Gst.Element element, GLib.FileStream @out);
                public virtual signal void object_loaded (Gst.Object object, void* self);
        }
diff --git a/vapi/gstreamer-1.0.vapi b/vapi/gstreamer-1.0.vapi
index 2f3dfeb..587f8d5 100644
--- a/vapi/gstreamer-1.0.vapi
+++ b/vapi/gstreamer-1.0.vapi
@@ -1,7 +1,7 @@
 /* gstreamer-1.0.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Gst", gir_namespace = "Gst", gir_version = "1.0", lower_case_cprefix = "gst_")]
-[Experimental]
+[Version (experimental = true)]
 namespace Gst {
        namespace Debug {
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_BG_MASK")]
@@ -23,6 +23,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static GLib.SList<weak Gst.DebugCategory> get_all_categories ();
                [CCode (cheader_filename = "gst/gst.h")]
+               [Version (since = "1.2")]
                public static Gst.DebugColorMode get_color_mode ();
                [CCode (cheader_filename = "gst/gst.h")]
                public static Gst.DebugLevel get_default_threshold ();
@@ -48,8 +49,10 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static void set_active (bool active);
                [CCode (cheader_filename = "gst/gst.h")]
+               [Version (since = "1.2")]
                public static void set_color_mode (Gst.DebugColorMode mode);
                [CCode (cheader_filename = "gst/gst.h")]
+               [Version (since = "1.2")]
                public static void set_color_mode_from_string (string mode);
                [CCode (cheader_filename = "gst/gst.h")]
                public static void set_colored (bool colored);
@@ -58,6 +61,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h")]
                public static void set_threshold_for_name (string name, Gst.DebugLevel level);
                [CCode (cheader_filename = "gst/gst.h")]
+               [Version (since = "1.2")]
                public static void set_threshold_from_string (string list, bool reset);
                [CCode (cheader_filename = "gst/gst.h")]
                public static void unset_threshold_for_name (string name);
@@ -242,6 +246,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_IMAGE_ORIENTATION")]
                public const string IMAGE_ORIENTATION;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_INTERPRETED_BY")]
+               [Version (since = "1.2")]
                public const string INTERPRETED_BY;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ISRC")]
                public const string ISRC;
@@ -262,6 +267,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MAXIMUM_BITRATE")]
                public const string MAXIMUM_BITRATE;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MIDI_BASE_NOTE")]
+               [Version (since = "1.4")]
                public const string MIDI_BASE_NOTE;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MINIMUM_BITRATE")]
                public const string MINIMUM_BITRATE;
@@ -274,6 +280,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PREVIEW_IMAGE")]
                public const string PREVIEW_IMAGE;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PUBLISHER")]
+               [Version (since = "1.2")]
                public const string PUBLISHER;
                [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_REFERENCE_LEVEL")]
                public const string REFERENCE_LEVEL;
@@ -594,11 +601,13 @@ namespace Gst {
                public bool copy_into (Gst.Buffer src, Gst.BufferCopyFlags flags, size_t offset, size_t size);
                public Gst.Buffer copy_region (Gst.BufferCopyFlags flags, size_t offset, size_t size);
                public size_t extract (size_t offset, void* dest, size_t size);
+               [Version (since = "1.0.10")]
                public void extract_dup (size_t offset, size_t size, [CCode (array_length_cname = 
"dest_size", array_length_pos = 3.1, array_length_type = "gsize")] out uint8[] dest);
                public size_t fill (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 
2.1, array_length_type = "gsize")] uint8[] src);
                public bool find_memory (size_t offset, size_t size, out uint idx, out uint length, out 
size_t skip);
                public bool foreach_meta (Gst.BufferForeachMetaFunc func);
                public Gst.Memory get_all_memory ();
+               [Version (since = "1.2")]
                public static uint get_max_memory ();
                public Gst.Memory get_memory (uint idx);
                public Gst.Memory get_memory_range (uint idx, int length);
@@ -607,7 +616,9 @@ namespace Gst {
                public size_t get_sizes (out size_t offset, out size_t maxsize);
                public size_t get_sizes_range (uint idx, int length, out size_t offset, out size_t maxsize);
                public void insert_memory (int idx, owned Gst.Memory mem);
+               [Version (since = "1.4")]
                public bool is_all_memory_writable ();
+               [Version (since = "1.4")]
                public bool is_memory_range_writable (uint idx, int length);
                public unowned Gst.Meta? iterate_meta (void* state);
                public bool map (out Gst.MapInfo info, Gst.MapFlags flags);
@@ -662,6 +673,7 @@ namespace Gst {
                public static uint config_n_options (Gst.Structure config);
                public static void config_set_allocator (Gst.Structure config, Gst.Allocator? allocator, 
Gst.AllocationParams? @params);
                public static void config_set_params (Gst.Structure config, Gst.Caps caps, uint size, uint 
min_buffers, uint max_buffers);
+               [Version (since = "1.4")]
                public static bool config_validate_params (Gst.Structure config, Gst.Caps caps, uint size, 
uint min_buffers, uint max_buffers);
                [NoWrapper]
                public virtual void flush_start ();
@@ -679,6 +691,7 @@ namespace Gst {
                public virtual void reset_buffer (Gst.Buffer buffer);
                public bool set_active (bool active);
                public virtual bool set_config (owned Gst.Structure config);
+               [Version (since = "1.4")]
                public void set_flushing (bool flushing);
                [NoWrapper]
                public virtual bool start ();
@@ -720,6 +733,7 @@ namespace Gst {
                public Caps.any ();
                public void append (owned Gst.Caps caps2);
                public void append_structure (owned Gst.Structure structure);
+               [Version (since = "1.2")]
                public void append_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? 
features = null);
                public bool can_intersect (Gst.Caps caps2);
                public Gst.Caps copy_nth (uint nth);
@@ -733,6 +747,7 @@ namespace Gst {
                public Caps.full (params Gst.Structure[] structure);
                [CCode (has_construct_function = false)]
                public Caps.full_valist (Gst.Structure structure, va_list var_args);
+               [Version (since = "1.2")]
                public unowned Gst.CapsFeatures get_features (uint index);
                public uint get_size ();
                public unowned Gst.Structure get_structure (uint index);
@@ -747,12 +762,15 @@ namespace Gst {
                public bool is_strictly_equal (Gst.Caps caps2);
                public bool is_subset (Gst.Caps superset);
                public bool is_subset_structure (Gst.Structure structure);
+               [Version (since = "1.2")]
                public bool is_subset_structure_full (Gst.Structure structure, Gst.CapsFeatures? features);
                public Gst.Caps merge (owned Gst.Caps caps2);
                public Gst.Caps merge_structure (owned Gst.Structure structure);
+               [Version (since = "1.2")]
                public Gst.Caps merge_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? 
features);
                public Gst.Caps normalize ();
                public void remove_structure (uint idx);
+               [Version (since = "1.2")]
                public void set_features (uint index, owned Gst.CapsFeatures? features);
                public void set_simple (string field, ...);
                public void set_simple_valist (string field, va_list varargs);
@@ -767,32 +785,53 @@ namespace Gst {
        [Compact]
        public class CapsFeatures {
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public CapsFeatures (string feature1, ...);
+               [Version (since = "1.2")]
                public void add (string feature);
+               [Version (since = "1.2")]
                public void add_id (GLib.Quark feature);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public CapsFeatures.any ();
+               [Version (since = "1.2")]
                public bool contains (string feature);
+               [Version (since = "1.2")]
                public bool contains_id (GLib.Quark feature);
+               [Version (since = "1.2")]
                public Gst.CapsFeatures copy ();
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public CapsFeatures.empty ();
+               [Version (since = "1.2")]
                public void free ();
+               [Version (since = "1.2")]
                public static Gst.CapsFeatures? from_string (string features);
+               [Version (since = "1.2")]
                public unowned string get_nth (uint i);
+               [Version (since = "1.2")]
                public GLib.Quark get_nth_id (uint i);
+               [Version (since = "1.2")]
                public uint get_size ();
                [CCode (has_construct_function = false)]
                public CapsFeatures.id (params GLib.Quark[] features);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public CapsFeatures.id_valist (GLib.Quark feature1, va_list varargs);
+               [Version (since = "1.2")]
                public bool is_any ();
+               [Version (since = "1.2")]
                public bool is_equal (Gst.CapsFeatures features2);
+               [Version (since = "1.2")]
                public void remove (string feature);
+               [Version (since = "1.2")]
                public void remove_id (GLib.Quark feature);
+               [Version (since = "1.2")]
                public bool set_parent_refcount (int refcount);
+               [Version (since = "1.2")]
                public string to_string ();
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public CapsFeatures.valist (string feature1, va_list varargs);
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_clock_get_type ()")]
@@ -841,11 +880,17 @@ namespace Gst {
        [Compact]
        public class Context {
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public Context (string context_type, bool persistent);
+               [Version (since = "1.2")]
                public unowned string get_context_type ();
+               [Version (since = "1.2")]
                public unowned Gst.Structure get_structure ();
+               [Version (since = "1.2")]
                public bool has_context_type (string context_type);
+               [Version (since = "1.2")]
                public bool is_persistent ();
+               [Version (since = "1.2")]
                public Gst.Structure writable_structure ();
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_binding_get_type ()")]
@@ -920,6 +965,7 @@ namespace Gst {
                public unowned string @get ();
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class Device : Gst.Object {
                [CCode (has_construct_function = false)]
                protected Device ();
@@ -936,6 +982,7 @@ namespace Gst {
                public signal void removed ();
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_monitor_get_type ()")]
+       [Version (since = "1.4")]
        public class DeviceMonitor : Gst.Object {
                [CCode (has_construct_function = false)]
                public DeviceMonitor ();
@@ -947,6 +994,7 @@ namespace Gst {
                public void stop ();
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_get_type ()")]
+       [Version (since = "1.4")]
        public abstract class DeviceProvider : Gst.Object {
                public weak GLib.List<void*> devices;
                [CCode (has_construct_function = false)]
@@ -972,6 +1020,7 @@ namespace Gst {
                public virtual void stop ();
        }
        [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_factory_get_type ()")]
+       [Version (since = "1.4")]
        public class DeviceProviderFactory : Gst.PluginFeature {
                [CCode (has_construct_function = false)]
                protected DeviceProviderFactory ();
@@ -1144,6 +1193,7 @@ namespace Gst {
                public Event.flush_stop (bool reset_time);
                [CCode (has_construct_function = false)]
                public Event.gap (Gst.ClockTime timestamp, Gst.ClockTime duration);
+               [Version (since = "1.4")]
                public int64 get_running_time_offset ();
                public uint32 get_seqnum ();
                public unowned Gst.Structure get_structure ();
@@ -1156,6 +1206,7 @@ namespace Gst {
                public void parse_caps (out unowned Gst.Caps caps);
                public void parse_flush_stop (out bool reset_time);
                public void parse_gap (out Gst.ClockTime timestamp, out Gst.ClockTime duration);
+               [Version (since = "1.2")]
                public bool parse_group_id (out uint group_id);
                public void parse_latency (out Gst.ClockTime latency);
                public void parse_qos (out Gst.QOSType type, out double proportion, out Gst.ClockTimeDiff 
diff, out Gst.ClockTime timestamp);
@@ -1164,6 +1215,7 @@ namespace Gst {
                public void parse_segment_done (out Gst.Format format, out int64 position);
                public void parse_sink_message (out Gst.Message msg);
                public void parse_step (out Gst.Format format, out uint64 amount, out double rate, out bool 
flush, out bool intermediate);
+               [Version (since = "1.2")]
                public void parse_stream_flags (out Gst.StreamFlags flags);
                public void parse_stream_start (out unowned string stream_id);
                public void parse_tag (out unowned Gst.TagList taglist);
@@ -1179,9 +1231,12 @@ namespace Gst {
                public Event.segment (Gst.Segment segment);
                [CCode (has_construct_function = false)]
                public Event.segment_done (Gst.Format format, int64 position);
+               [Version (since = "1.2")]
                public void set_group_id (uint group_id);
+               [Version (since = "1.4")]
                public void set_running_time_offset (int64 offset);
                public void set_seqnum (uint32 seqnum);
+               [Version (since = "1.2")]
                public void set_stream_flags (Gst.StreamFlags flags);
                [CCode (has_construct_function = false)]
                public Event.sink_message (string name, Gst.Message msg);
@@ -1268,6 +1323,7 @@ namespace Gst {
                public Gst.Memory copy (ssize_t offset, ssize_t size);
                public size_t get_sizes (size_t offset, size_t maxsize);
                public bool is_span (Gst.Memory mem2, size_t offset);
+               [Version (since = "1.2")]
                public bool is_type (string mem_type);
                public Gst.Memory? make_mapped (out Gst.MapInfo info, Gst.MapFlags flags);
                public bool map (out Gst.MapInfo info, Gst.MapFlags flags);
@@ -1299,8 +1355,10 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                public Message.custom (Gst.MessageType type, Gst.Object src, owned Gst.Structure? structure);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.4")]
                public Message.device_added (Gst.Object src, Gst.Device device);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.4")]
                public Message.device_removed (Gst.Object src, Gst.Device device);
                [CCode (has_construct_function = false)]
                public Message.duration_changed (Gst.Object src);
@@ -1315,12 +1373,14 @@ namespace Gst {
                public unowned Gst.Structure get_structure ();
                public bool has_name (string name);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public Message.have_context (Gst.Object src, owned Gst.Context context);
                [CCode (has_construct_function = false)]
                public Message.info (Gst.Object src, GLib.Error error, string debug);
                [CCode (has_construct_function = false)]
                public Message.latency (Gst.Object src);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public Message.need_context (Gst.Object src, string context_type);
                [CCode (has_construct_function = false)]
                public Message.new_clock (Gst.Object src, Gst.Clock clock);
@@ -1329,11 +1389,16 @@ namespace Gst {
                public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int 
avg_out, out int64 buffering_left);
                public void parse_clock_lost (out unowned Gst.Clock clock);
                public void parse_clock_provide (out unowned Gst.Clock clock, out bool ready);
+               [Version (since = "1.2")]
                public bool parse_context_type (out string context_type);
+               [Version (since = "1.4")]
                public void parse_device_added (out unowned Gst.Device device);
+               [Version (since = "1.4")]
                public void parse_device_removed (out unowned Gst.Device device);
                public void parse_error (out GLib.Error gerror, out string debug);
+               [Version (since = "1.2")]
                public bool parse_group_id (out uint group_id);
+               [Version (since = "1.2")]
                public void parse_have_context (out Gst.Context context);
                public void parse_info (out GLib.Error gerror, out string debug);
                public void parse_new_clock (out unowned Gst.Clock clock);
@@ -1366,6 +1431,7 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                public Message.segment_start (Gst.Object src, Gst.Format format, int64 position);
                public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 
buffering_left);
+               [Version (since = "1.2")]
                public void set_group_id (uint group_id);
                public void set_qos_stats (Gst.Format format, uint64 processed, uint64 dropped);
                public void set_qos_values (int64 jitter, double proportion, int quality);
@@ -1481,6 +1547,7 @@ namespace Gst {
                public Gst.Caps get_current_caps ();
                public Gst.PadDirection get_direction ();
                public void* get_element_private ();
+               [Version (since = "1.4")]
                public Gst.FlowReturn get_last_flow_return ();
                public int64 get_offset ();
                public Gst.PadTemplate? get_pad_template ();
@@ -1489,6 +1556,7 @@ namespace Gst {
                public Gst.Pad get_peer ();
                public Gst.FlowReturn get_range (uint64 offset, uint size, out Gst.Buffer buffer);
                public Gst.Event? get_sticky_event (Gst.EventType event_type, uint idx);
+               [Version (since = "1.2")]
                public string? get_stream_id ();
                public bool has_current_caps ();
                public bool is_active ();
@@ -1499,6 +1567,7 @@ namespace Gst {
                public Gst.Iterator? iterate_internal_links_default (Gst.Object? parent);
                [CCode (cname = "gst_pad_link_full")]
                public Gst.PadLinkReturn link (Gst.Pad sinkpad, Gst.PadLinkCheck flags = 
Gst.PadLinkCheck.DEFAULT);
+               [Version (since = "1.4")]
                public static unowned string link_get_name (Gst.PadLinkReturn ret);
                public void mark_reconfigure ();
                public bool needs_reconfigure ();
@@ -1550,6 +1619,7 @@ namespace Gst {
                public bool start_task (owned Gst.TaskFunction func);
                public void sticky_events_foreach (Gst.PadStickyEventsForeachFunction foreach_func);
                public bool stop_task ();
+               [Version (since = "1.2")]
                public Gst.FlowReturn store_sticky_event (Gst.Event event);
                public bool unlink (Gst.Pad sinkpad);
                public void use_fixed_caps ();
@@ -1639,6 +1709,7 @@ namespace Gst {
                protected PluginFeature ();
                public bool check_version (uint min_major, uint min_minor, uint min_micro);
                public Gst.Plugin? get_plugin ();
+               [Version (since = "1.2")]
                public unowned string? get_plugin_name ();
                public uint get_rank ();
                public static GLib.List<Gst.PluginFeature> list_copy (GLib.List<Gst.PluginFeature> list);
@@ -1701,6 +1772,7 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                public Query.caps (Gst.Caps filter);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public Query.context (string context_type);
                [CCode (has_construct_function = false)]
                public Query.convert (Gst.Format src_format, int64 value, Gst.Format dest_format);
@@ -1731,7 +1803,9 @@ namespace Gst {
                public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int 
avg_out, out int64 buffering_left);
                public void parse_caps (out unowned Gst.Caps filter);
                public void parse_caps_result (out unowned Gst.Caps caps);
+               [Version (since = "1.2")]
                public void parse_context (out unowned Gst.Context context);
+               [Version (since = "1.2")]
                public bool parse_context_type (out unowned string context_type);
                public void parse_convert (out Gst.Format src_format, out int64 src_value, out Gst.Format 
dest_format, out int64 dest_value);
                public void parse_duration (out Gst.Format format, out int64 duration);
@@ -1748,12 +1822,16 @@ namespace Gst {
                public void parse_seeking (out Gst.Format format, out bool seekable, out int64 segment_start, 
out int64 segment_end);
                public void parse_segment (out double rate, out Gst.Format format, out int64 start_value, out 
int64 stop_value);
                public void parse_uri (out string uri);
+               [Version (since = "1.2")]
                public void parse_uri_redirection (out string uri);
+               [Version (since = "1.4")]
                public void parse_uri_redirection_permanent (out bool permanent);
                [CCode (has_construct_function = false)]
                public Query.position (Gst.Format format);
                public void remove_nth_allocation_meta (uint index);
+               [Version (since = "1.2")]
                public void remove_nth_allocation_param (uint index);
+               [Version (since = "1.2")]
                public void remove_nth_allocation_pool (uint index);
                [CCode (has_construct_function = false)]
                public Query.scheduling ();
@@ -1766,6 +1844,7 @@ namespace Gst {
                public void set_buffering_range (Gst.Format format, int64 start, int64 stop, int64 
estimated_total);
                public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 
buffering_left);
                public void set_caps_result (Gst.Caps caps);
+               [Version (since = "1.2")]
                public void set_context (Gst.Context context);
                public void set_convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, 
int64 dest_value);
                public void set_duration (Gst.Format format, int64 duration);
@@ -1780,7 +1859,9 @@ namespace Gst {
                public void set_seeking (Gst.Format format, bool seekable, int64 segment_start, int64 
segment_end);
                public void set_segment (double rate, Gst.Format format, int64 start_value, int64 stop_value);
                public void set_uri (string uri);
+               [Version (since = "1.2")]
                public void set_uri_redirection (string uri);
+               [Version (since = "1.4")]
                public void set_uri_redirection_permanent (bool permanent);
                [CCode (has_construct_function = false)]
                public Query.uri ();
@@ -1844,6 +1925,7 @@ namespace Gst {
                public bool do_seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType 
start_type, uint64 start, Gst.SeekType stop_type, uint64 stop, bool update);
                public void free ();
                public void init (Gst.Format format);
+               [Version (since = "1.2.3")]
                public bool offset_running_time (Gst.Format format, int64 offset);
                public bool set_running_time (Gst.Format format, uint64 running_time);
                public uint64 to_position (Gst.Format format, uint64 running_time);
@@ -1880,11 +1962,13 @@ namespace Gst {
                public GLib.Type get_field_type (string fieldname);
                public bool get_fraction (string fieldname, out int value_numerator, out int 
value_denominator);
                public bool get_int (string fieldname, out int value);
+               [Version (since = "1.4")]
                public bool get_int64 (string fieldname, out int64 value);
                public unowned string get_name ();
                public GLib.Quark get_name_id ();
                public unowned string? get_string (string fieldname);
                public bool get_uint (string fieldname, out uint value);
+               [Version (since = "1.4")]
                public bool get_uint64 (string fieldname, out uint64 value);
                public bool get_valist (string first_fieldname, va_list args);
                public unowned GLib.Value? get_value (string fieldname);
@@ -1927,6 +2011,7 @@ namespace Gst {
                [CCode (has_construct_function = false)]
                protected SystemClock ();
                public static Gst.Clock obtain ();
+               [Version (since = "1.4")]
                public static void set_default (Gst.Clock new_clock);
                [NoAccessorMethod]
                public Gst.ClockType clock_type { get; set; }
@@ -2038,6 +2123,7 @@ namespace Gst {
                public TocEntry (Gst.TocEntryType type, string uid);
                public void append_sub_entry (owned Gst.TocEntry subentry);
                public Gst.TocEntryType get_entry_type ();
+               [Version (since = "1.4")]
                public bool get_loop (out Gst.TocLoopType loop_type, out int repeat_count);
                public unowned Gst.TocEntry get_parent ();
                public bool get_start_stop_times (out int64 start, out int64 stop);
@@ -2048,6 +2134,7 @@ namespace Gst {
                public bool is_alternative ();
                public bool is_sequence ();
                public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
+               [Version (since = "1.4")]
                public void set_loop (Gst.TocLoopType loop_type, int repeat_count);
                public void set_start_stop_times (int64 start, int64 stop);
                public void set_tags (owned Gst.TagList? tags);
@@ -2067,6 +2154,7 @@ namespace Gst {
        public class ValueArray {
                [CCode (has_construct_function = false)]
                protected ValueArray ();
+               [Version (since = "1.2")]
                public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
                public static void append_value (GLib.Value value, GLib.Value append_value);
                public static uint get_size (GLib.Value value);
@@ -2077,6 +2165,7 @@ namespace Gst {
        public class ValueList {
                [CCode (has_construct_function = false)]
                protected ValueList ();
+               [Version (since = "1.2")]
                public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value);
                public static void append_value (GLib.Value value, GLib.Value append_value);
                public static void concat (out GLib.Value dest, GLib.Value value1, GLib.Value value2);
@@ -2214,6 +2303,7 @@ namespace Gst {
                public Gst.MetaFlags flags;
                public Gst.MetaInfo info;
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "1.2")]
                public static unowned string[] api_type_get_tags (GLib.Type api);
                public static bool api_type_has_tag (GLib.Type api, GLib.Quark tag);
                public static GLib.Type api_type_register (string api, string tags);
@@ -2903,6 +2993,7 @@ namespace Gst {
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_FLAG_", type_id = 
"gst_stream_flags_get_type ()")]
        [Flags]
+       [Version (since = "1.2")]
        public enum StreamFlags {
                NONE,
                SPARSE,
@@ -2966,6 +3057,7 @@ namespace Gst {
                public static unowned string get_nick (Gst.TocEntryType type);
        }
        [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_LOOP_", type_id = 
"gst_toc_loop_type_get_type ()")]
+       [Version (since = "1.4")]
        public enum TocLoopType {
                NONE,
                FORWARD,
@@ -3240,6 +3332,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_MAP_READWRITE")]
        public const int MAP_READWRITE;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_META_TAG_MEMORY_STR")]
+       [Version (since = "1.2")]
        public const string META_TAG_MEMORY_STR;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_MSECOND")]
        public const int MSECOND;
@@ -3268,6 +3361,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_FORMAT")]
        public const string TIME_FORMAT;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_TOC_REPEAT_COUNT_INFINITE")]
+       [Version (since = "1.4")]
        public const int TOC_REPEAT_COUNT_INFINITE;
        [CCode (cheader_filename = "gst/gst.h", cname = "GST_USECOND")]
        public const int USECOND;
diff --git a/vapi/gstreamer-allocators-1.0.vapi b/vapi/gstreamer-allocators-1.0.vapi
index 6db1c6e..d86b836 100644
--- a/vapi/gstreamer-allocators-1.0.vapi
+++ b/vapi/gstreamer-allocators-1.0.vapi
@@ -6,12 +6,16 @@ namespace Gst {
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "GST_ALLOCATOR_DMABUF")]
                public const string ALLOCATOR_DMABUF;
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = 
"gst_dmabuf_allocator_alloc")]
+               [Version (since = "1.2")]
                public static Gst.Memory dmabuf_allocator_alloc (Gst.Allocator? allocator, int fd, size_t 
size);
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_dmabuf_allocator_new")]
+               [Version (since = "1.2")]
                public static Gst.Allocator dmabuf_allocator_new ();
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_dmabuf_memory_get_fd")]
+               [Version (since = "1.2")]
                public static int dmabuf_memory_get_fd (Gst.Memory mem);
                [CCode (cheader_filename = "gst/allocators/allocators.h", cname = "gst_is_dmabuf_memory")]
+               [Version (since = "1.2")]
                public static bool is_dmabuf_memory (Gst.Memory mem);
        }
 }
diff --git a/vapi/gstreamer-app-1.0.vapi b/vapi/gstreamer-app-1.0.vapi
index db9e861..96df99a 100644
--- a/vapi/gstreamer-app-1.0.vapi
+++ b/vapi/gstreamer-app-1.0.vapi
@@ -36,6 +36,7 @@ namespace Gst {
                        [CCode (has_construct_function = false)]
                        protected Src ();
                        public Gst.Caps get_caps ();
+                       [Version (since = "1.2")]
                        public uint64 get_current_level_bytes ();
                        public bool get_emit_signals ();
                        public void get_latency (uint64 min, uint64 max);
diff --git a/vapi/gstreamer-audio-1.0.vapi b/vapi/gstreamer-audio-1.0.vapi
index c9ec3f0..e771efe 100644
--- a/vapi/gstreamer-audio-1.0.vapi
+++ b/vapi/gstreamer-audio-1.0.vapi
@@ -258,6 +258,7 @@ namespace Gst {
                        public void free ();
                        public bool from_caps (Gst.Caps caps);
                        public void init ();
+                       [Version (since = "1.2")]
                        public bool is_equal (Gst.Audio.Info other);
                        public void set_format (Gst.Audio.Format format, int rate, int channels, 
Gst.Audio.ChannelPosition position);
                        public Gst.Caps to_caps ();
@@ -610,8 +611,10 @@ namespace Gst {
                [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_FORMATS_ALL")]
                public const string FORMATS_ALL;
                [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_META_TAG_AUDIO_CHANNELS_STR")]
+               [Version (since = "1.2")]
                public const string META_TAG_AUDIO_CHANNELS_STR;
                [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_META_TAG_AUDIO_STR")]
+               [Version (since = "1.2")]
                public const string META_TAG_AUDIO_STR;
                [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RATE_RANGE")]
                public const string RATE_RANGE;
diff --git a/vapi/gstreamer-base-1.0.vapi b/vapi/gstreamer-base-1.0.vapi
index 86cfdfe..3b73d2e 100644
--- a/vapi/gstreamer-base-1.0.vapi
+++ b/vapi/gstreamer-base-1.0.vapi
@@ -12,6 +12,7 @@ namespace Gst {
                        public size_t available_fast ();
                        public void clear ();
                        public void copy ([CCode (array_length_cname = "size", array_length_pos = 2.1, 
array_length_type = "gsize")] out unowned uint8[] dest, size_t offset);
+                       [Version (since = "1.4")]
                        public GLib.Bytes copy_bytes (size_t offset, size_t size);
                        public void flush (size_t flush);
                        [CCode (array_length_pos = 0.1, array_length_type = "gsize")]
@@ -19,13 +20,16 @@ namespace Gst {
                        public ssize_t masked_scan_uint32 (uint32 mask, uint32 pattern, size_t offset, size_t 
size);
                        public ssize_t masked_scan_uint32_peek (uint32 mask, uint32 pattern, size_t offset, 
size_t size, out uint32 value);
                        public Gst.ClockTime prev_dts (out uint64 distance);
+                       [Version (since = "1.2")]
                        public Gst.ClockTime prev_dts_at_offset (size_t offset, out uint64 distance);
                        public Gst.ClockTime prev_pts (out uint64 distance);
+                       [Version (since = "1.2")]
                        public Gst.ClockTime prev_pts_at_offset (size_t offset, out uint64 distance);
                        public void push (owned Gst.Buffer buf);
                        [CCode (array_length_pos = 0.1, array_length_type = "gsize")]
                        public uint8[]? take ();
                        public Gst.Buffer? take_buffer (size_t nbytes);
+                       [Version (since = "1.2")]
                        public Gst.Buffer? take_buffer_fast (size_t nbytes);
                        public GLib.List<Gst.Buffer>? take_list (size_t nbytes);
                        public void unmap ();
@@ -315,6 +319,7 @@ namespace Gst {
                        public bool remove_pad (Gst.Pad pad);
                        public void set_flushing (bool flushing);
                        public void set_waiting (Gst.Base.CollectData data, bool waiting);
+                       [Version (since = "1.4")]
                        public bool src_event_default (Gst.Pad pad, Gst.Event event);
                        public void start ();
                        public void stop ();
@@ -339,6 +344,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/base/base.h", cname = "GstFlowCombiner", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_flow_combiner_", type_id = 
"gst_flow_combiner_get_type ()")]
                [Compact]
                [GIR (name = "FlowCombiner")]
+               [Version (since = "1.4")]
                public class FlowCombiner {
                        [CCode (has_construct_function = false)]
                        public FlowCombiner ();
@@ -382,6 +388,7 @@ namespace Gst {
                        [NoWrapper]
                        public virtual bool set_sink_caps (Gst.Caps caps);
                        public void set_syncable (bool syncable);
+                       [Version (since = "1.2")]
                        public void set_ts_at_offset (size_t offset);
                        [NoWrapper]
                        public virtual bool sink_event (Gst.Event event);
@@ -454,6 +461,7 @@ namespace Gst {
                        public virtual Gst.Caps get_caps (Gst.Caps filter);
                        public Gst.Sample? get_last_sample ();
                        public Gst.ClockTime get_latency ();
+                       [Version (since = "1.2")]
                        public uint64 get_max_bitrate ();
                        public int64 get_max_lateness ();
                        public Gst.ClockTime get_render_delay ();
@@ -485,6 +493,7 @@ namespace Gst {
                        [NoWrapper]
                        public virtual bool set_caps (Gst.Caps caps);
                        public void set_last_sample_enabled (bool enabled);
+                       [Version (since = "1.2")]
                        public void set_max_bitrate (uint64 max_bitrate);
                        public void set_max_lateness (int64 max_lateness);
                        public void set_qos_enabled (bool enabled);
@@ -511,6 +520,7 @@ namespace Gst {
                        [NoAccessorMethod]
                        public bool enable_last_sample { get; set; }
                        public Gst.Sample last_sample { owned get; }
+                       [Version (since = "1.2")]
                        public uint64 max_bitrate { get; set; }
                        public int64 max_lateness { get; set; }
                        [NoAccessorMethod]
@@ -573,6 +583,7 @@ namespace Gst {
                        public virtual bool query (Gst.Query query);
                        public bool query_latency (out bool live, out Gst.ClockTime min_latency, out 
Gst.ClockTime max_latency);
                        public void set_async (bool @async);
+                       [Version (since = "1.4")]
                        public void set_automatic_eos (bool automatic_eos);
                        public void set_blocksize (uint blocksize);
                        public virtual bool set_caps (Gst.Caps caps);
@@ -639,6 +650,7 @@ namespace Gst {
                        public void set_gap_aware (bool gap_aware);
                        public void set_in_place (bool in_place);
                        public void set_passthrough (bool passthrough);
+                       [Version (since = "1.0.1")]
                        public void set_prefer_passthrough (bool prefer_passthrough);
                        public void set_qos_enabled (bool enabled);
                        [NoWrapper]
@@ -712,6 +724,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsEventFunction", 
instance_pos = 3.9)]
                public delegate bool CollectPadsEventFunction (Gst.Base.CollectPads pads, 
Gst.Base.CollectData pad, Gst.Event event);
                [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsFlushFunction", 
instance_pos = 1.9)]
+               [Version (since = "1.4")]
                public delegate void CollectPadsFlushFunction (Gst.Base.CollectPads pads);
                [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsFunction", instance_pos 
= 1.9)]
                public delegate Gst.FlowReturn CollectPadsFunction (Gst.Base.CollectPads pads);
diff --git a/vapi/gstreamer-check-1.0.vapi b/vapi/gstreamer-check-1.0.vapi
index bf939f3..6afaa57 100644
--- a/vapi/gstreamer-check-1.0.vapi
+++ b/vapi/gstreamer-check-1.0.vapi
@@ -14,21 +14,25 @@ namespace Gst {
                }
                [CCode (cheader_filename = "gst/check/check.h", cname = "GstTestClock", lower_case_cprefix = 
"gst_test_clock_", type_id = "gst_test_clock_get_type ()")]
                [GIR (name = "TestClock")]
+               [Version (since = "1.2")]
                public class TestClock : Gst.Clock {
                        [CCode (has_construct_function = false, type = "GstClock*")]
                        public TestClock ();
                        public void advance_time (Gst.ClockTimeDiff delta);
                        public Gst.ClockTime get_next_entry_time ();
                        public bool has_id (Gst.ClockID id);
+                       [Version (since = "1.4")]
                        public static Gst.ClockTime id_list_get_latest_time (GLib.List<Gst.ClockID?>? 
pending_list);
                        public uint peek_id_count ();
                        public bool peek_next_pending_id (out Gst.ClockID pending_id);
+                       [Version (since = "1.4")]
                        public uint process_id_list (GLib.List<Gst.ClockID?>? pending_list);
                        public Gst.ClockID process_next_clock_id ();
                        public void set_time (Gst.ClockTime new_time);
+                       [Version (since = "1.4")]
                        public void wait_for_multiple_pending_ids (uint count, out GLib.List<Gst.ClockID?> 
pending_list);
                        public void wait_for_next_pending_id (out Gst.ClockID pending_id);
-                       [Deprecated]
+                       [Version (deprecated = true, since = "1.2")]
                        public void wait_for_pending_id_count (uint count);
                        [CCode (has_construct_function = false, type = "GstClock*")]
                        public TestClock.with_start_time (Gst.ClockTime start_time);
@@ -77,16 +81,20 @@ namespace Gst {
                [CCode (cheader_filename = "gst/check/check.h")]
                public static Gst.Pad setup_sink_pad_by_name (Gst.Element element, Gst.StaticPadTemplate 
tmpl, string name);
                [CCode (cheader_filename = "gst/check/check.h")]
+               [Version (since = "1.4")]
                public static Gst.Pad setup_sink_pad_by_name_from_template (Gst.Element element, 
Gst.PadTemplate tmpl, string name);
                [CCode (cheader_filename = "gst/check/check.h")]
+               [Version (since = "1.4")]
                public static Gst.Pad setup_sink_pad_from_template (Gst.Element element, Gst.PadTemplate 
tmpl);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static Gst.Pad setup_src_pad (Gst.Element element, Gst.StaticPadTemplate tmpl);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static Gst.Pad setup_src_pad_by_name (Gst.Element element, Gst.StaticPadTemplate tmpl, 
string name);
                [CCode (cheader_filename = "gst/check/check.h")]
+               [Version (since = "1.4")]
                public static Gst.Pad setup_src_pad_by_name_from_template (Gst.Element element, 
Gst.PadTemplate tmpl, string name);
                [CCode (cheader_filename = "gst/check/check.h")]
+               [Version (since = "1.4")]
                public static Gst.Pad setup_src_pad_from_template (Gst.Element element, Gst.PadTemplate tmpl);
                [CCode (cheader_filename = "gst/check/check.h")]
                public static void teardown_element (Gst.Element element);
diff --git a/vapi/gstreamer-pbutils-1.0.vapi b/vapi/gstreamer-pbutils-1.0.vapi
index dd211cf..029c323 100644
--- a/vapi/gstreamer-pbutils-1.0.vapi
+++ b/vapi/gstreamer-pbutils-1.0.vapi
@@ -79,9 +79,10 @@ namespace Gst {
                        public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_audio_streams ();
                        public GLib.List<Gst.PbUtils.DiscovererStreamInfo> get_container_streams ();
                        public Gst.ClockTime get_duration ();
-                       [Deprecated]
+                       [Version (deprecated = true)]
                        public unowned Gst.Structure get_misc ();
                        [CCode (array_length = false, array_null_terminated = true)]
+                       [Version (since = "1.4")]
                        public string[] get_missing_elements_installer_details ();
                        public Gst.PbUtils.DiscovererResult get_result ();
                        public bool get_seekable ();
@@ -100,7 +101,7 @@ namespace Gst {
                        [CCode (has_construct_function = false)]
                        protected DiscovererStreamInfo ();
                        public Gst.Caps get_caps ();
-                       [Deprecated]
+                       [Version (deprecated = true)]
                        public unowned Gst.Structure get_misc ();
                        public Gst.PbUtils.DiscovererStreamInfo get_next ();
                        public Gst.PbUtils.DiscovererStreamInfo get_previous ();
diff --git a/vapi/gstreamer-rtp-1.0.vapi b/vapi/gstreamer-rtp-1.0.vapi
index 8f67ae7..bd8fd0a 100644
--- a/vapi/gstreamer-rtp-1.0.vapi
+++ b/vapi/gstreamer-rtp-1.0.vapi
@@ -108,6 +108,7 @@ namespace Gst {
                        public uint32 get_csrc (uint8 idx);
                        public uint8 get_csrc_count ();
                        public bool get_extension ();
+                       [Version (since = "1.2")]
                        public GLib.Bytes get_extension_bytes (out uint16 bits);
                        public bool get_extension_data (out uint16 bits, [CCode (array_length = false)] out 
unowned uint8[] data, out uint wordlen);
                        public bool get_extension_onebyte_header (uint8 id, uint nth, [CCode 
(array_length_cname = "size", array_length_pos = 3.1, array_length_type = "guint")] out unowned uint8[] data);
@@ -119,6 +120,7 @@ namespace Gst {
                        [CCode (array_length = false)]
                        public unowned uint8[] get_payload ();
                        public Gst.Buffer get_payload_buffer ();
+                       [Version (since = "1.2")]
                        public GLib.Bytes get_payload_bytes ();
                        public uint get_payload_len ();
                        public Gst.Buffer get_payload_subbuffer (uint offset, uint len);
diff --git a/vapi/gstreamer-rtsp-1.0.vapi b/vapi/gstreamer-rtsp-1.0.vapi
index ccc7e90..848ca8e 100644
--- a/vapi/gstreamer-rtsp-1.0.vapi
+++ b/vapi/gstreamer-rtsp-1.0.vapi
@@ -15,8 +15,11 @@ namespace Gst {
                        public Gst.RTSP.Result free ();
                        public unowned string get_ip ();
                        public bool get_remember_session_id ();
+                       [Version (since = "1.2")]
                        public unowned GLib.TlsConnection get_tls () throws GLib.Error;
+                       [Version (since = "1.4")]
                        public GLib.TlsDatabase get_tls_database ();
+                       [Version (since = "1.2.1")]
                        public GLib.TlsCertificateFlags get_tls_validation_flags ();
                        public unowned string get_tunnelid ();
                        public Gst.RTSP.Url get_url ();
@@ -35,7 +38,9 @@ namespace Gst {
                        public Gst.RTSP.Result set_proxy (string host, uint port);
                        public Gst.RTSP.Result set_qos_dscp (uint qos_dscp);
                        public void set_remember_session_id (bool remember);
+                       [Version (since = "1.4")]
                        public void set_tls_database (GLib.TlsDatabase database);
+                       [Version (since = "1.2.1")]
                        public bool set_tls_validation_flags (GLib.TlsCertificateFlags flags);
                        public void set_tunneled (bool tunneled);
                        public Gst.RTSP.Result write (uint8 data, uint size, GLib.TimeVal timeout);
@@ -65,12 +70,16 @@ namespace Gst {
                [GIR (name = "RTSPWatch")]
                public class Watch {
                        public uint attach (GLib.MainContext context);
+                       [Version (since = "1.2")]
                        public void get_send_backlog (out size_t bytes, out uint messages);
                        public void reset ();
                        public Gst.RTSP.Result send_message (Gst.RTSP.Message message, out uint id);
+                       [Version (since = "1.4")]
                        public void set_flushing (bool flush);
+                       [Version (since = "1.2")]
                        public void set_send_backlog (size_t bytes, uint messages);
                        public void unref ();
+                       [Version (since = "1.4")]
                        public Gst.RTSP.Result wait_backlog (GLib.TimeVal timeout);
                        public Gst.RTSP.Result write_data ([CCode (array_length_cname = "size", 
array_length_pos = 1.5, array_length_type = "guint")] owned uint8[] data, out uint id);
                }
@@ -142,6 +151,7 @@ namespace Gst {
                }
                [CCode (cheader_filename = "gst/rtsp/rtsp.h", has_type_id = false)]
                [GIR (name = "RTSPTime2")]
+               [Version (since = "1.2")]
                public struct Time2 {
                        public double frames;
                        public uint year;
@@ -177,6 +187,7 @@ namespace Gst {
                        public uint ssrc;
                        public string as_text ();
                        public Gst.RTSP.Result free ();
+                       [Version (since = "1.4")]
                        public Gst.RTSP.Result get_media_type (out unowned string media_type);
                        public Gst.RTSP.Result init ();
                }
@@ -483,12 +494,14 @@ namespace Gst {
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
                public static string options_as_text (Gst.RTSP.Method options);
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
+               [Version (since = "1.2")]
                public static Gst.RTSP.Method options_from_text (string options);
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
                public static bool range_convert_units (Gst.RTSP.TimeRange range, Gst.RTSP.RangeUnit unit);
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
                public static void range_free (Gst.RTSP.TimeRange range);
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
+               [Version (since = "1.2")]
                public static bool range_get_times (Gst.RTSP.TimeRange range, Gst.ClockTime min, 
Gst.ClockTime max);
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
                public static Gst.RTSP.Result range_parse (string rangestr, Gst.RTSP.TimeRange range);
@@ -501,7 +514,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
                public static Gst.RTSP.Result transport_get_manager (Gst.RTSP.TransMode trans, string 
manager, uint option);
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public static Gst.RTSP.Result transport_get_mime (Gst.RTSP.TransMode trans, string mime);
                [CCode (cheader_filename = "gst/rtsp/rtsp.h")]
                public static Gst.RTSP.Result transport_new (Gst.RTSP.Transport transport);
diff --git a/vapi/gstreamer-sdp-1.0.vapi b/vapi/gstreamer-sdp-1.0.vapi
index e6ce3f2..c011951 100644
--- a/vapi/gstreamer-sdp-1.0.vapi
+++ b/vapi/gstreamer-sdp-1.0.vapi
@@ -26,30 +26,53 @@ namespace Gst {
                        public Gst.SDP.MIKEYType type;
                        public uint8 version;
                        [CCode (has_construct_function = false)]
+                       [Version (since = "1.4")]
                        public MIKEYMessage ();
+                       [Version (since = "1.4")]
                        public bool add_cs_srtp (uint8 policy, uint32 ssrc, uint32 roc);
+                       [Version (since = "1.4")]
                        public bool add_payload (owned Gst.SDP.MIKEYPayload payload);
+                       [Version (since = "1.4")]
                        public bool add_pke (Gst.SDP.MIKEYCacheType C, [CCode (array_length_cname = 
"data_len", array_length_pos = 1.5, array_length_type = "guint16")] uint8[] data);
+                       [Version (since = "1.4")]
                        public bool add_rand ([CCode (array_length_cname = "len", array_length_pos = 0.5, 
array_length_type = "guint8")] uint8[] rand);
+                       [Version (since = "1.4")]
                        public bool add_rand_len (uint8 len);
+                       [Version (since = "1.4")]
                        public bool add_t (Gst.SDP.MIKEYTSType type, [CCode (array_length = false)] uint8[] 
ts_value);
+                       [Version (since = "1.4")]
                        public bool add_t_now_ntp_utc ();
+                       [Version (since = "1.4")]
                        public unowned Gst.SDP.MIKEYPayload find_payload (Gst.SDP.MIKEYPayloadType type, uint 
nth);
                        [CCode (has_construct_function = false)]
+                       [Version (since = "1.4")]
                        public MIKEYMessage.from_bytes (GLib.Bytes bytes, Gst.SDP.MIKEYDecryptInfo info) 
throws GLib.Error;
                        [CCode (has_construct_function = false)]
+                       [Version (since = "1.4")]
                        public MIKEYMessage.from_data ([CCode (array_length_cname = "size", array_length_pos 
= 1.5, array_length_type = "gsize")] uint8[] data, Gst.SDP.MIKEYDecryptInfo info) throws GLib.Error;
+                       [Version (since = "1.4")]
                        public unowned Gst.SDP.MIKEYMapSRTP? get_cs_srtp (uint idx);
+                       [Version (since = "1.4")]
                        public uint get_n_cs ();
+                       [Version (since = "1.4")]
                        public uint get_n_payloads ();
+                       [Version (since = "1.4")]
                        public unowned Gst.SDP.MIKEYPayload get_payload (uint idx);
+                       [Version (since = "1.4")]
                        public bool insert_cs_srtp (int idx, Gst.SDP.MIKEYMapSRTP map);
+                       [Version (since = "1.4")]
                        public bool insert_payload (uint idx, owned Gst.SDP.MIKEYPayload payload);
+                       [Version (since = "1.4")]
                        public bool remove_cs_srtp (int idx);
+                       [Version (since = "1.4")]
                        public bool remove_payload (uint idx);
+                       [Version (since = "1.4")]
                        public bool replace_cs_srtp (int idx, Gst.SDP.MIKEYMapSRTP map);
+                       [Version (since = "1.4")]
                        public bool replace_payload (uint idx, owned Gst.SDP.MIKEYPayload payload);
+                       [Version (since = "1.4")]
                        public bool set_info (uint8 version, Gst.SDP.MIKEYType type, bool V, 
Gst.SDP.MIKEYPRFFunc prf_func, uint32 CSB_id, Gst.SDP.MIKEYMapType map_type);
+                       [Version (since = "1.4")]
                        public GLib.Bytes to_bytes (Gst.SDP.MIKEYEncryptInfo info) throws GLib.Error;
                }
                [CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayload", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_mikey_payload_", type_id = 
"gst_mikey_payload_get_type ()")]
@@ -59,23 +82,41 @@ namespace Gst {
                        public uint len;
                        public Gst.SDP.MIKEYPayloadType type;
                        [CCode (has_construct_function = false)]
+                       [Version (since = "1.4")]
                        public MIKEYPayload (Gst.SDP.MIKEYPayloadType type);
+                       [Version (since = "1.4")]
                        public bool kemac_add_sub (owned Gst.SDP.MIKEYPayload newpay);
+                       [Version (since = "1.4")]
                        public uint kemac_get_n_sub ();
+                       [Version (since = "1.4")]
                        public unowned Gst.SDP.MIKEYPayload kemac_get_sub (uint idx);
+                       [Version (since = "1.4")]
                        public bool kemac_remove_sub (uint idx);
+                       [Version (since = "1.4")]
                        public bool kemac_set (Gst.SDP.MIKEYEncAlg enc_alg, Gst.SDP.MIKEYMacAlg mac_alg);
+                       [Version (since = "1.4")]
                        public bool key_data_set_interval (uint8 vf_len, [CCode (array_length_cname = 
"vt_len", array_length_pos = 1.66667, array_length_type = "guint8")] uint8[] vt_data);
+                       [Version (since = "1.4")]
                        public bool key_data_set_key (Gst.SDP.MIKEYKeyDataType key_type, [CCode 
(array_length_cname = "key_len", array_length_pos = 1.5, array_length_type = "guint16")] uint8[] key_data);
+                       [Version (since = "1.4")]
                        public bool key_data_set_salt ([CCode (array_length_cname = "salt_len", 
array_length_pos = 0.5, array_length_type = "guint16")] uint8[]? salt_data);
+                       [Version (since = "1.4")]
                        public bool key_data_set_spi ([CCode (array_length_cname = "spi_len", 
array_length_pos = 0.5, array_length_type = "guint8")] uint8[] spi_data);
+                       [Version (since = "1.4")]
                        public bool pke_set (Gst.SDP.MIKEYCacheType C, [CCode (array_length_cname = 
"data_len", array_length_pos = 1.5, array_length_type = "guint16")] uint8[] data);
+                       [Version (since = "1.4")]
                        public bool rand_set ([CCode (array_length_cname = "len", array_length_pos = 0.5, 
array_length_type = "guint8")] uint8[] rand);
+                       [Version (since = "1.4")]
                        public bool sp_add_param (uint8 type, [CCode (array_length_cname = "len", 
array_length_pos = 1.5, array_length_type = "guint8")] uint8[] val);
+                       [Version (since = "1.4")]
                        public uint sp_get_n_params ();
+                       [Version (since = "1.4")]
                        public unowned Gst.SDP.MIKEYPayloadSPParam? sp_get_param (uint idx);
+                       [Version (since = "1.4")]
                        public bool sp_remove_param (uint idx);
+                       [Version (since = "1.4")]
                        public bool sp_set (uint policy, Gst.SDP.MIKEYSecProto proto);
+                       [Version (since = "1.4")]
                        public bool t_set (Gst.SDP.MIKEYTSType type, [CCode (array_length = false)] uint8[] 
ts_value);
                }
                [CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadKEMAC")]
@@ -159,6 +200,7 @@ namespace Gst {
                        public string as_text ();
                        public uint attributes_len ();
                        public uint bandwidths_len ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result copy (out Gst.SDP.Message copy);
                        public Gst.SDP.Result dump ();
                        public uint emails_len ();
@@ -180,25 +222,43 @@ namespace Gst {
                        public unowned string get_version ();
                        public unowned Gst.SDP.Zone? get_zone (uint idx);
                        public Gst.SDP.Result init ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_attribute (int idx, Gst.SDP.Attribute attr);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_bandwidth (int idx, Gst.SDP.Bandwidth bw);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_email (int idx, string email);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_phone (int idx, string phone);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_time (int idx, Gst.SDP.Time t);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_zone (int idx, Gst.SDP.Zone zone);
                        public uint medias_len ();
                        public uint phones_len ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_attribute (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_bandwidth (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_email (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_phone (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_time (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_zone (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_attribute (uint idx, Gst.SDP.Attribute attr);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_bandwidth (uint idx, Gst.SDP.Bandwidth bw);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_email (uint idx, string email);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_phone (uint idx, string phone);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_time (uint idx, Gst.SDP.Time t);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_zone (uint idx, Gst.SDP.Zone zone);
                        public Gst.SDP.Result set_connection (string nettype, string addrtype, string 
address, uint ttl, uint addr_number);
                        public Gst.SDP.Result set_information (string information);
@@ -216,7 +276,9 @@ namespace Gst {
                public struct Attribute {
                        public weak string key;
                        public weak string value;
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result clear ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result @set (string key, string value);
                }
                [CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
@@ -224,7 +286,9 @@ namespace Gst {
                public struct Bandwidth {
                        public weak string bwtype;
                        public uint bandwidth;
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result clear ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result @set (string bwtype, uint bandwidth);
                }
                [CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
@@ -235,7 +299,9 @@ namespace Gst {
                        public weak string address;
                        public uint ttl;
                        public uint addr_number;
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result clear ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result @set (string nettype, string addrtype, string address, uint 
ttl, uint addr_number);
                }
                [CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
@@ -279,6 +345,7 @@ namespace Gst {
                        public uint attributes_len ();
                        public uint bandwidths_len ();
                        public uint connections_len ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result copy (out Gst.SDP.Media copy);
                        public uint formats_len ();
                        public Gst.SDP.Result free ();
@@ -295,17 +362,29 @@ namespace Gst {
                        public uint get_port ();
                        public unowned string get_proto ();
                        public Gst.SDP.Result init ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_attribute (int idx, Gst.SDP.Attribute attr);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_bandwidth (int idx, Gst.SDP.Bandwidth bw);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_connection (int idx, Gst.SDP.Connection conn);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result insert_format (int idx, string format);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_attribute (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_bandwidth (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_connection (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result remove_format (uint idx);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_attribute (uint idx, Gst.SDP.Attribute attr);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_bandwidth (uint idx, Gst.SDP.Bandwidth bw);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_connection (uint idx, Gst.SDP.Connection conn);
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result replace_format (uint idx, string format);
                        public Gst.SDP.Result set_information (string information);
                        public Gst.SDP.Result set_key (string type, string data);
@@ -330,7 +409,9 @@ namespace Gst {
                        public weak string start;
                        public weak string stop;
                        public weak GLib.Array<void*> repeat;
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result clear ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result @set (string start, string stop, [CCode (array_length = false, 
array_null_terminated = true)] string[] repeat);
                }
                [CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
@@ -338,7 +419,9 @@ namespace Gst {
                public struct Zone {
                        public weak string time;
                        public weak string typed_time;
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result clear ();
+                       [Version (since = "1.2")]
                        public Gst.SDP.Result @set (string adj_time, string typed_time);
                }
                [CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYCacheType", cprefix = 
"GST_MIKEY_CACHE_", has_type_id = false)]
diff --git a/vapi/gstreamer-tag-1.0.vapi b/vapi/gstreamer-tag-1.0.vapi
index 03c9505..b569206 100644
--- a/vapi/gstreamer-tag-1.0.vapi
+++ b/vapi/gstreamer-tag-1.0.vapi
@@ -190,6 +190,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/tag/tag.h", cname = "GST_TAG_ID3V2_HEADER_SIZE")]
                public const int ID3V2_HEADER_SIZE;
                [CCode (cheader_filename = "gst/tag/tag.h", cname = "GST_TAG_MUSICAL_KEY")]
+               [Version (since = "1.2")]
                public const string MUSICAL_KEY;
                [CCode (cheader_filename = "gst/tag/tag.h")]
                public static bool check_language_code (string lang_code);
diff --git a/vapi/gstreamer-video-1.0.vapi b/vapi/gstreamer-video-1.0.vapi
index b09e609..3411d4d 100644
--- a/vapi/gstreamer-video-1.0.vapi
+++ b/vapi/gstreamer-video-1.0.vapi
@@ -86,11 +86,14 @@ namespace Gst {
                        public void get_latency (out Gst.ClockTime min_latency, out Gst.ClockTime 
max_latency);
                        public Gst.ClockTimeDiff get_max_decode_time (Gst.Video.CodecFrame frame);
                        public int get_max_errors ();
+                       [Version (since = "1.4")]
                        public bool get_needs_format ();
                        public Gst.Video.CodecFrame get_oldest_frame ();
                        public Gst.Video.CodecState get_output_state ();
                        public bool get_packetized ();
+                       [Version (since = "1.4")]
                        public size_t get_pending_frame_size ();
+                       [Version (since = "1.0.3")]
                        public double get_qos_proportion ();
                        [NoWrapper]
                        public virtual Gst.FlowReturn handle_frame (Gst.Video.CodecFrame frame);
@@ -103,6 +106,7 @@ namespace Gst {
                        public virtual Gst.FlowReturn parse (Gst.Video.CodecFrame frame, Gst.Base.Adapter 
adapter, bool at_eos);
                        [NoWrapper]
                        public virtual bool propose_allocation (Gst.Query query);
+                       [Version (since = "1.2.2")]
                        public void release_frame (owned Gst.Video.CodecFrame frame);
                        [NoWrapper]
                        public virtual bool reset (bool hard);
@@ -111,6 +115,7 @@ namespace Gst {
                        public virtual bool set_format (Gst.Video.CodecState state);
                        public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency);
                        public void set_max_errors (int num);
+                       [Version (since = "1.4")]
                        public void set_needs_format (bool enabled);
                        public Gst.Video.CodecState set_output_state (Gst.Video.Format fmt, uint width, uint 
height, Gst.Video.CodecState? reference);
                        public void set_packetized (bool packetized);
@@ -777,6 +782,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT")]
                public const string BUFFER_POOL_OPTION_VIDEO_ALIGNMENT;
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META")]
+               [Version (since = "1.2.2")]
                public const string BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_BUFFER_POOL_OPTION_VIDEO_META")]
                public const string BUFFER_POOL_OPTION_VIDEO_META;
@@ -829,14 +835,19 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_MAX_PLANES")]
                public const int MAX_PLANES;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_META_TAG_VIDEO_COLORSPACE_STR")]
+               [Version (since = "1.2")]
                public const string META_TAG_VIDEO_COLORSPACE_STR;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_META_TAG_VIDEO_ORIENTATION_STR")]
+               [Version (since = "1.2")]
                public const string META_TAG_VIDEO_ORIENTATION_STR;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_META_TAG_VIDEO_SIZE_STR")]
+               [Version (since = "1.2")]
                public const string META_TAG_VIDEO_SIZE_STR;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_META_TAG_VIDEO_STR")]
+               [Version (since = "1.2")]
                public const string META_TAG_VIDEO_STR;
                [CCode (cheader_filename = "gst/video/video.h", cname = 
"GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS")]
+               [Version (since = "1.2")]
                public const string OVERLAY_COMPOSITION_BLEND_FORMATS;
                [CCode (cheader_filename = "gst/video/video.h", cname = "GST_VIDEO_SIZE_RANGE")]
                public const string SIZE_RANGE;
@@ -895,6 +906,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/video.h")]
                public static unowned Gst.Video.FormatInfo? format_get_info (Gst.Video.Format format);
                [CCode (cheader_filename = "gst/video/video.h")]
+               [Version (since = "1.2")]
                public static void* format_get_palette (Gst.Video.Format format, out size_t size);
                [CCode (cheader_filename = "gst/video/video.h")]
                public static uint32 format_to_fourcc (Gst.Video.Format format);
@@ -959,6 +971,7 @@ namespace Gst {
                [CCode (cheader_filename = "gst/video/video.h")]
                public static unowned Gst.MetaInfo? region_of_interest_meta_get_info ();
                [CCode (cheader_filename = "gst/video/video.h")]
+               [Version (since = "1.4")]
                public static uint tile_get_index (Gst.Video.TileMode mode, int x, int y, int x_tiles, int 
y_tiles);
        }
 }
diff --git a/vapi/gtk+-2.0.vapi b/vapi/gtk+-2.0.vapi
index acc2e09..182fff7 100644
--- a/vapi/gtk+-2.0.vapi
+++ b/vapi/gtk+-2.0.vapi
@@ -1,7 +1,7 @@
 /* gtk+-2.0.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Gtk", gir_namespace = "Gtk", gir_version = "2.0", lower_case_cprefix = "gtk_")]
-[Deprecated (replacement = "gtk+-3.0")]
+[Version (replacement = "gtk+-3.0")]
 namespace Gtk {
        namespace Idle {
                [CCode (cheader_filename = "gtk/gtk.h")]
@@ -6013,10 +6013,10 @@ namespace Gtk {
                [NoAccessorMethod]
                public Gtk.WindowPosition window_position { get; set; }
                [CCode (cname = "activate_default")]
-               [Experimental]
+               [Version (experimental = true)]
                public virtual signal void default_activated ();
                [CCode (cname = "activate_focus")]
-               [Experimental]
+               [Version (experimental = true)]
                public virtual signal void focus_activated ();
                public virtual signal bool frame_event (Gdk.Event event);
                public virtual signal void keys_changed ();
@@ -7733,319 +7733,319 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public const int PRIORITY_RESIZE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ABOUT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ABOUT")]
        public const string STOCK_ABOUT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ADD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ADD")]
        public const string STOCK_ADD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.APPLY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.APPLY")]
        public const string STOCK_APPLY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.BOLD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.BOLD")]
        public const string STOCK_BOLD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CANCEL", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CANCEL")]
        public const string STOCK_CANCEL;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CAPS_LOCK_WARNING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CAPS_LOCK_WARNING")]
        public const string STOCK_CAPS_LOCK_WARNING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CDROM", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CDROM")]
        public const string STOCK_CDROM;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CLEAR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CLEAR")]
        public const string STOCK_CLEAR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CLOSE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CLOSE")]
        public const string STOCK_CLOSE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.COLOR_PICKER", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.COLOR_PICKER")]
        public const string STOCK_COLOR_PICKER;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CONNECT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CONNECT")]
        public const string STOCK_CONNECT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CONVERT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CONVERT")]
        public const string STOCK_CONVERT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.COPY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.COPY")]
        public const string STOCK_COPY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CUT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CUT")]
        public const string STOCK_CUT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DELETE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DELETE")]
        public const string STOCK_DELETE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_AUTHENTICATION", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_AUTHENTICATION")]
        public const string STOCK_DIALOG_AUTHENTICATION;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_ERROR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_ERROR")]
        public const string STOCK_DIALOG_ERROR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_INFO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_INFO")]
        public const string STOCK_DIALOG_INFO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_QUESTION", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_QUESTION")]
        public const string STOCK_DIALOG_QUESTION;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_WARNING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_WARNING")]
        public const string STOCK_DIALOG_WARNING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIRECTORY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIRECTORY")]
        public const string STOCK_DIRECTORY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DISCARD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DISCARD")]
        public const string STOCK_DISCARD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DISCONNECT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DISCONNECT")]
        public const string STOCK_DISCONNECT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DND", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DND")]
        public const string STOCK_DND;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DND_MULTIPLE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DND_MULTIPLE")]
        public const string STOCK_DND_MULTIPLE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.EDIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.EDIT")]
        public const string STOCK_EDIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.EXECUTE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.EXECUTE")]
        public const string STOCK_EXECUTE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FILE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FILE")]
        public const string STOCK_FILE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FIND", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FIND")]
        public const string STOCK_FIND;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FIND_AND_REPLACE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FIND_AND_REPLACE")]
        public const string STOCK_FIND_AND_REPLACE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FLOPPY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FLOPPY")]
        public const string STOCK_FLOPPY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FULLSCREEN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
        public const string STOCK_FULLSCREEN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_BOTTOM", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_BOTTOM")]
        public const string STOCK_GOTO_BOTTOM;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_FIRST", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_FIRST")]
        public const string STOCK_GOTO_FIRST;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_LAST", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_LAST")]
        public const string STOCK_GOTO_LAST;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_TOP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_TOP")]
        public const string STOCK_GOTO_TOP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_BACK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_BACK")]
        public const string STOCK_GO_BACK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_DOWN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_DOWN")]
        public const string STOCK_GO_DOWN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_FORWARD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_FORWARD")]
        public const string STOCK_GO_FORWARD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_UP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_UP")]
        public const string STOCK_GO_UP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.HARDDISK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HARDDISK")]
        public const string STOCK_HARDDISK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.HELP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HELP")]
        public const string STOCK_HELP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.HOME", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HOME")]
        public const string STOCK_HOME;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.INDENT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INDENT")]
        public const string STOCK_INDENT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.INDEX", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INDEX")]
        public const string STOCK_INDEX;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.INFO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INFO")]
        public const string STOCK_INFO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ITALIC", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ITALIC")]
        public const string STOCK_ITALIC;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUMP_TO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUMP_TO")]
        public const string STOCK_JUMP_TO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_CENTER", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_CENTER")]
        public const string STOCK_JUSTIFY_CENTER;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_FILL", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_FILL")]
        public const string STOCK_JUSTIFY_FILL;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_LEFT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_LEFT")]
        public const string STOCK_JUSTIFY_LEFT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_RIGHT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_RIGHT")]
        public const string STOCK_JUSTIFY_RIGHT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FULLSCREEN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
        public const string STOCK_LEAVE_FULLSCREEN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_FORWARD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_FORWARD")]
        public const string STOCK_MEDIA_FORWARD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_NEXT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_NEXT")]
        public const string STOCK_MEDIA_NEXT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_PAUSE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PAUSE")]
        public const string STOCK_MEDIA_PAUSE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_PLAY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PLAY")]
        public const string STOCK_MEDIA_PLAY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_PREVIOUS", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PREVIOUS")]
        public const string STOCK_MEDIA_PREVIOUS;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_RECORD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_RECORD")]
        public const string STOCK_MEDIA_RECORD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_REWIND", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_REWIND")]
        public const string STOCK_MEDIA_REWIND;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_STOP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_STOP")]
        public const string STOCK_MEDIA_STOP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MISSING_IMAGE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MISSING_IMAGE")]
        public const string STOCK_MISSING_IMAGE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.NETWORK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NETWORK")]
        public const string STOCK_NETWORK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.NEW", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NEW")]
        public const string STOCK_NEW;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.NO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NO")]
        public const string STOCK_NO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.OK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.OK")]
        public const string STOCK_OK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.OPEN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.OPEN")]
        public const string STOCK_OPEN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_LANDSCAPE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_LANDSCAPE")]
        public const string STOCK_ORIENTATION_LANDSCAPE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_PORTRAIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_PORTRAIT")]
        public const string STOCK_ORIENTATION_PORTRAIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_REVERSE_LANDSCAPE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_LANDSCAPE")]
        public const string STOCK_ORIENTATION_REVERSE_LANDSCAPE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_REVERSE_PORTRAIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_PORTRAIT")]
        public const string STOCK_ORIENTATION_REVERSE_PORTRAIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PAGE_SETUP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PAGE_SETUP")]
        public const string STOCK_PAGE_SETUP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PASTE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PASTE")]
        public const string STOCK_PASTE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PREFERENCES", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PREFERENCES")]
        public const string STOCK_PREFERENCES;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT")]
        public const string STOCK_PRINT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_ERROR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_ERROR")]
        public const string STOCK_PRINT_ERROR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_PAUSED", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PAUSED")]
        public const string STOCK_PRINT_PAUSED;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_PREVIEW", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PREVIEW")]
        public const string STOCK_PRINT_PREVIEW;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_REPORT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_REPORT")]
        public const string STOCK_PRINT_REPORT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_WARNING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_WARNING")]
        public const string STOCK_PRINT_WARNING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PROPERTIES", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PROPERTIES")]
        public const string STOCK_PROPERTIES;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.QUIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.QUIT")]
        public const string STOCK_QUIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REDO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REDO")]
        public const string STOCK_REDO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REFRESH", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REFRESH")]
        public const string STOCK_REFRESH;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REMOVE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REMOVE")]
        public const string STOCK_REMOVE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REVERT_TO_SAVED", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REVERT_TO_SAVED")]
        public const string STOCK_REVERT_TO_SAVED;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SAVE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SAVE")]
        public const string STOCK_SAVE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SAVE_AS", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SAVE_AS")]
        public const string STOCK_SAVE_AS;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SELECT_ALL", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_ALL")]
        public const string STOCK_SELECT_ALL;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SELECT_COLOR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_COLOR")]
        public const string STOCK_SELECT_COLOR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SELECT_FONT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_FONT")]
        public const string STOCK_SELECT_FONT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SORT_ASCENDING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SORT_ASCENDING")]
        public const string STOCK_SORT_ASCENDING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SORT_DESCENDING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SORT_DESCENDING")]
        public const string STOCK_SORT_DESCENDING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SPELL_CHECK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SPELL_CHECK")]
        public const string STOCK_SPELL_CHECK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.STOP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.STOP")]
        public const string STOCK_STOP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.STRIKETHROUGH", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.STRIKETHROUGH")]
        public const string STOCK_STRIKETHROUGH;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNDELETE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDELETE")]
        public const string STOCK_UNDELETE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNDERLINE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDERLINE")]
        public const string STOCK_UNDERLINE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNDO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDO")]
        public const string STOCK_UNDO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNINDENT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNINDENT")]
        public const string STOCK_UNINDENT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.YES", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.YES")]
        public const string STOCK_YES;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_100", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_100")]
        public const string STOCK_ZOOM_100;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_FIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_FIT")]
        public const string STOCK_ZOOM_FIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_IN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_IN")]
        public const string STOCK_ZOOM_IN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_OUT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_OUT")]
        public const string STOCK_ZOOM_OUT;
        [CCode (cheader_filename = "gtk/gtk.h")]
        public const int TEXT_VIEW_PRIORITY_VALIDATE;
@@ -8340,16 +8340,16 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool show_uri (Gdk.Screen? screen, string uri, uint32 timestamp) throws GLib.Error;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.add", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.add")]
        public static void stock_add (Gtk.StockItem[] items);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.add_static", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.add_static")]
        public static void stock_add_static (Gtk.StockItem[] items);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.list_ids", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.list_ids")]
        public static GLib.SList<string> stock_list_ids ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.set_translate_func", since = "vala-0.26")]
+       [Version (deprecated_since = "vala-0.26", replacement = "Gtk.Stock.set_translate_func")]
        public static void stock_set_translate_func (string domain, owned Gtk.TranslateFunc func);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void target_table_free (Gtk.TargetEntry[] targets);
diff --git a/vapi/gtk+-3.0.vapi b/vapi/gtk+-3.0.vapi
index bd084fb..f4b64be 100644
--- a/vapi/gtk+-3.0.vapi
+++ b/vapi/gtk+-3.0.vapi
@@ -2,7 +2,7 @@
 
 [CCode (cprefix = "Gtk", gir_namespace = "Gtk", gir_version = "3.0", lower_case_cprefix = "gtk_")]
 namespace Gtk {
-       [Deprecated (since = "3.10")]
+       [Version (deprecated_since = "3.10")]
        namespace Stock {
                [CCode (cheader_filename = "gtk/gtk.h")]
                public const string ABOUT;
@@ -348,7 +348,7 @@ namespace Gtk {
        public class Accessible : Atk.Object {
                [CCode (has_construct_function = false)]
                protected Accessible ();
-               [Deprecated (replacement = "Accessible.set_widget", since = "3.4")]
+               [Version (deprecated_since = "3.4", replacement = "Accessible.set_widget")]
                public virtual void connect_widget_destroyed ();
                public unowned Gtk.Widget get_widget ();
                public void set_widget (Gtk.Widget widget);
@@ -359,7 +359,7 @@ namespace Gtk {
                public Gtk.Widget widget { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_action_get_type ()")]
-       [Deprecated (replacement = "GLib.Action", since = "3.10")]
+       [Version (deprecated_since = "3.10", replacement = "GLib.Action")]
        public class Action : GLib.Object, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                public Action (string name, string? label, string? tooltip, string? stock_id);
@@ -438,7 +438,7 @@ namespace Gtk {
                public void set_center_widget (Gtk.Widget? center_widget);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_action_group_get_type ()")]
-       [Deprecated (since = "3.10")]
+       [Version (deprecated_since = "3.10")]
        public class ActionGroup : GLib.Object, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                public ActionGroup (string name);
@@ -666,9 +666,9 @@ namespace Gtk {
                public int get_n_pages ();
                public unowned Gtk.Widget get_nth_page (int page_num);
                public bool get_page_complete (Gtk.Widget page);
-               [Deprecated (since = "3.2")]
+               [Version (deprecated_since = "3.2")]
                public unowned Gdk.Pixbuf get_page_header_image (Gtk.Widget page);
-               [Deprecated (since = "3.2")]
+               [Version (deprecated_since = "3.2")]
                public unowned Gdk.Pixbuf get_page_side_image (Gtk.Widget page);
                public unowned string get_page_title (Gtk.Widget page);
                public Gtk.AssistantPageType get_page_type (Gtk.Widget page);
@@ -681,9 +681,9 @@ namespace Gtk {
                public void set_current_page (int page_num);
                public void set_forward_page_func (owned Gtk.AssistantPageFunc page_func);
                public void set_page_complete (Gtk.Widget page, bool complete);
-               [Deprecated (since = "3.2")]
+               [Version (deprecated_since = "3.2")]
                public void set_page_header_image (Gtk.Widget page, Gdk.Pixbuf pixbuf);
-               [Deprecated (since = "3.2")]
+               [Version (deprecated_since = "3.2")]
                public void set_page_side_image (Gtk.Widget page, Gdk.Pixbuf pixbuf);
                public void set_page_title (Gtk.Widget page, string title);
                public void set_page_type (Gtk.Widget page, Gtk.AssistantPageType type);
@@ -729,7 +729,7 @@ namespace Gtk {
                public int priority;
                public weak string set_name;
                public bool activate (uint keyval, Gdk.ModifierType modifiers, GLib.Object object);
-               [Deprecated (since = "3.0")]
+               [Version (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);
                public static unowned Gtk.BindingSet find (string set_name);
@@ -850,17 +850,17 @@ namespace Gtk {
                public virtual signal void activate ();
                [HasEmitter]
                public virtual signal void clicked ();
-               [Deprecated (replacement = "Gtk.Widget.enter_notify_event", since = "2.8")]
                [HasEmitter]
+               [Version (deprecated_since = "2.8", replacement = "Gtk.Widget.enter_notify_event")]
                public virtual signal void enter ();
-               [Deprecated (replacement = "Gtk.Widget.leave_notify_event", since = "2.8")]
                [HasEmitter]
+               [Version (deprecated_since = "2.8", replacement = "Gtk.Widget.leave_notify_event")]
                public virtual signal void leave ();
-               [Deprecated (replacement = "Gtk.Widget.button_press_event", since = "2.8")]
                [HasEmitter]
+               [Version (deprecated_since = "2.8", replacement = "Gtk.Widget.button_press_event")]
                public virtual signal void pressed ();
-               [Deprecated (replacement = "Gtk.Widget.button_release_event", since = "2.8")]
                [HasEmitter]
+               [Version (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 ()")]
@@ -1046,7 +1046,7 @@ namespace Gtk {
                public virtual void get_preferred_width_for_height (Gtk.Widget widget, int height, out int 
minimum_width, out int natural_width);
                public virtual Gtk.SizeRequestMode get_request_mode ();
                public bool get_sensitive ();
-               [Deprecated (replacement = "get_preferred_size", since = "3.0")]
+               [Version (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);
                public Gtk.StateFlags get_state (Gtk.Widget widget, Gtk.CellRendererState cell_state);
                public bool get_visible ();
@@ -1063,8 +1063,8 @@ namespace Gtk {
                public void stop_editing (bool canceled);
                [NoAccessorMethod]
                public string cell_background { set; }
-               [Deprecated (replacement = "Gtk.CellRenderer.cell_background_rgba", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "Gtk.CellRenderer.cell_background_rgba")]
                public Gdk.Color cell_background_gdk { get; set; }
                [NoAccessorMethod]
                public Gdk.RGBA cell_background_rgba { get; set; }
@@ -1200,8 +1200,8 @@ namespace Gtk {
                public Pango.AttrList attributes { owned get; set; }
                [NoAccessorMethod]
                public string background { set; }
-               [Deprecated (replacement = "background_rgba", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "background_rgba")]
                public Gdk.Color background_gdk { get; set; }
                [NoAccessorMethod]
                public Gdk.RGBA background_rgba { get; set; }
@@ -1225,8 +1225,8 @@ namespace Gtk {
                public Pango.FontDescription font_desc { owned get; set; }
                [NoAccessorMethod]
                public string foreground { set; }
-               [Deprecated (replacement = "foreground_rgba", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "foreground_rgba")]
                public Gdk.Color foreground_gdk { get; set; }
                [NoAccessorMethod]
                public Gdk.RGBA foreground_rgba { get; set; }
@@ -1320,7 +1320,7 @@ namespace Gtk {
                public bool get_fit_model ();
                public unowned Gtk.TreeModel get_model ();
                public bool get_size_of_row (Gtk.TreePath path, out Gtk.Requisition requisition);
-               [Deprecated (replacement = "set_background_rgba", since = "3.4")]
+               [Version (deprecated_since = "3.4", replacement = "set_background_rgba")]
                public void set_background_color (Gdk.Color color);
                public void set_background_rgba (Gdk.RGBA rgba);
                public void set_displayed_row (Gtk.TreePath path);
@@ -1337,8 +1337,8 @@ namespace Gtk {
                public CellView.with_text (string text);
                [NoAccessorMethod]
                public string background { set; }
-               [Deprecated (replacement = "background_rgba", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "background_rgba")]
                public Gdk.Color background_gdk { get; set; }
                [NoAccessorMethod]
                public Gdk.RGBA background_rgba { get; set; }
@@ -1443,7 +1443,7 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ColorButton.with_rgba (Gdk.RGBA rgba);
                public uint alpha { get; set; }
-               [Deprecated (replacement = "rgba", since = "3.4")]
+               [Version (deprecated_since = "3.4", replacement = "rgba")]
                public Gdk.Color color { get; set; }
                public Gdk.RGBA rgba { get; set; }
                public string title { get; set; }
@@ -1469,7 +1469,7 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ColorSelection ();
                public uint16 get_current_alpha ();
-               [Deprecated (replacement = "get_current_rgba", since = "3.4")]
+               [Version (deprecated_since = "3.4", replacement = "get_current_rgba")]
                public void get_current_color (out Gdk.Color color);
                public Gdk.RGBA get_current_rgba ();
                public bool get_has_opacity_control ();
@@ -1482,7 +1482,7 @@ namespace Gtk {
                public static string palette_to_string (Gdk.Color[] colors);
                public static unowned Gtk.ColorSelectionChangePaletteWithScreenFunc 
set_change_palette_with_screen_hook (Gtk.ColorSelectionChangePaletteWithScreenFunc func);
                public void set_current_alpha (uint16 alpha);
-               [Deprecated (replacement = "set_current_rgba", since = "3.4")]
+               [Version (deprecated_since = "3.4", replacement = "set_current_rgba")]
                public void set_current_color (Gdk.Color color);
                public void set_current_rgba (Gdk.RGBA rgba);
                public void set_has_opacity_control (bool has_opacity);
@@ -1491,7 +1491,7 @@ namespace Gtk {
                public void set_previous_color (Gdk.Color color);
                public void set_previous_rgba (Gdk.RGBA rgba);
                public uint current_alpha { get; set; }
-               [Deprecated (replacement = "current_rgba", since = "3.4")]
+               [Version (deprecated_since = "3.4", replacement = "current_rgba")]
                public Gdk.Color current_color { get; set; }
                public Gdk.RGBA current_rgba { get; set; }
                public bool has_opacity_control { get; set; }
@@ -1808,7 +1808,7 @@ namespace Gtk {
                public void set_icon_sensitive (Gtk.EntryIconPosition icon_pos, bool sensitive);
                public void set_icon_tooltip_markup (Gtk.EntryIconPosition icon_pos, string? tooltip);
                public void set_icon_tooltip_text (Gtk.EntryIconPosition icon_pos, string? tooltip);
-               [Deprecated (since = "3.4")]
+               [Version (deprecated_since = "3.4")]
                public void set_inner_border (Gtk.Border border);
                public void set_input_hints (Gtk.InputHints hints);
                public void set_input_purpose (Gtk.InputPurpose purpose);
@@ -1840,7 +1840,7 @@ namespace Gtk {
                public bool has_frame { get; set; }
                [NoAccessorMethod]
                public string im_module { owned get; set; }
-               [Deprecated (since = "3.4")]
+               [Version (deprecated_since = "3.4")]
                public Gtk.Border inner_border { get; set; }
                public Gtk.InputHints input_hints { get; set; }
                public Gtk.InputPurpose input_purpose { get; set; }
@@ -2256,7 +2256,7 @@ namespace Gtk {
                public string preview_text { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_selection_dialog_get_type ()")]
-       [Deprecated (replacement = "FontChooserDialog", since = "3.2")]
+       [Version (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);
@@ -2473,7 +2473,7 @@ namespace Gtk {
                public int row_spacing { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hbox_get_type ()")]
-       [Deprecated (replacement = "Grid", since = "3.2")]
+       [Version (deprecated_since = "3.2", replacement = "Grid")]
        public class HBox : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HBox (bool homogeneous, int spacing);
@@ -2484,7 +2484,7 @@ namespace Gtk {
                public HButtonBox ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hpaned_get_type ()")]
-       [Deprecated (replacement = "Paned", since = "3.2")]
+       [Version (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 ();
@@ -2503,7 +2503,7 @@ namespace Gtk {
                public virtual signal void move (Gtk.DirectionType type);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hscale_get_type ()")]
-       [Deprecated (since = "3.2")]
+       [Version (deprecated_since = "3.2")]
        public class HScale : Gtk.Scale, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HScale (Gtk.Adjustment? adjustment);
@@ -2511,19 +2511,19 @@ namespace Gtk {
                public HScale.with_range (double min, double max, double step);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_hscrollbar_get_type ()")]
-       [Deprecated (since = "3.2")]
+       [Version (deprecated_since = "3.2")]
        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 ()")]
-       [Deprecated (replacement = "Separator", since = "3.2")]
+       [Version (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 ()")]
-       [Deprecated (since = "3.4")]
+       [Version (deprecated_since = "3.4")]
        public class HandleBox : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public HandleBox ();
@@ -2612,7 +2612,7 @@ namespace Gtk {
                public void set_context_id (string context_id);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_icon_factory_get_type ()")]
-       [Deprecated (replacement = "Gtk.IconTheme", since = "3.10")]
+       [Version (deprecated_since = "3.10", replacement = "Gtk.IconTheme")]
        public class IconFactory : GLib.Object, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                public IconFactory ();
@@ -2646,7 +2646,7 @@ namespace Gtk {
                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) throws 
GLib.Error;
                public Gdk.Pixbuf load_symbolic_for_context (Gtk.StyleContext context, out bool was_symbolic 
= null) throws GLib.Error;
                public async Gdk.Pixbuf load_symbolic_for_context_async (Gtk.StyleContext context, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
-               [Deprecated (replacement = "load_symbolic_for_context", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "load_symbolic_for_context")]
                public Gdk.Pixbuf load_symbolic_for_style (Gtk.Style style, Gtk.StateType state, out bool 
was_symbolic = null) throws GLib.Error;
                public void set_raw_coordinates (bool raw_coordinates);
        }
@@ -2656,7 +2656,7 @@ namespace Gtk {
        }
        [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]
-       [Deprecated (replacement = "Gtk.IconTheme", since = "3.10")]
+       [Version (deprecated_since = "3.10", replacement = "Gtk.IconTheme")]
        public class IconSet {
                [CCode (has_construct_function = false)]
                public IconSet ();
@@ -2665,16 +2665,16 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                public IconSet.from_pixbuf (Gdk.Pixbuf pixbuf);
                public void get_sizes (out Gtk.IconSize[] sizes);
-               [Deprecated (replacement = "set_render_icon_pixbuf", since = "3.0")]
+               [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);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public Gdk.Pixbuf render_icon_pixbuf (Gtk.StyleContext context, Gtk.IconSize size);
-               [Deprecated (since = "3.10")]
+               [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 ()")]
        [Compact]
-       [Deprecated (replacement = "Gtk.IconTheme", since = "3.10")]
+       [Version (deprecated_since = "3.10", replacement = "Gtk.IconTheme")]
        public class IconSource {
                [CCode (has_construct_function = false)]
                public IconSource ();
@@ -3339,14 +3339,14 @@ namespace Gtk {
                public unowned string get_accel_path ();
                public virtual unowned string get_label ();
                public bool get_reserve_indicator ();
-               [Deprecated (replacement = "Widget.get_hexpand and Widget.get_halign", since = "3.2")]
+               [Version (deprecated_since = "3.2", replacement = "Widget.get_hexpand and Widget.get_halign")]
                public bool get_right_justified ();
                public unowned Gtk.Widget get_submenu ();
                public bool get_use_underline ();
                public void set_accel_path (string accel_path);
                public virtual void set_label (string label);
                public void set_reserve_indicator (bool reserve);
-               [Deprecated (replacement = "Widget.set_hexpand and Widget.set_halign", since = "3.2")]
+               [Version (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_use_underline (bool setting);
@@ -3521,13 +3521,13 @@ namespace Gtk {
                public bool get_show_border ();
                public bool get_show_tabs ();
                public bool get_tab_detachable (Gtk.Widget child);
-               [Deprecated (since = "3.4")]
+               [Version (deprecated_since = "3.4")]
                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 ();
                public bool get_tab_reorderable (Gtk.Widget child);
-               [Deprecated (since = "3.4")]
+               [Version (deprecated_since = "3.4")]
                public uint16 get_tab_vborder ();
                public int insert_page (Gtk.Widget child, Gtk.Widget? tab_label, int position);
                [CCode (vfunc_name = "insert_page")]
@@ -4148,7 +4148,7 @@ namespace Gtk {
                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 ()")]
-       [Deprecated (replacement = "CssProvider", since = "3.0")]
+       [Version (deprecated_since = "3.0", replacement = "CssProvider")]
        public class RcStyle : GLib.Object {
                [CCode (array_length = false)]
                public weak Gdk.Color[] @base;
@@ -4643,8 +4643,8 @@ namespace Gtk {
                public int gtk_tooltip_browse_timeout { get; set; }
                [NoAccessorMethod]
                public int gtk_tooltip_timeout { get; set; }
-               [Deprecated (replacement = "Gdk.Event.get_source_device", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "Gdk.Event.get_source_device")]
                public bool gtk_touchscreen_mode { get; set; }
                [NoAccessorMethod]
                public Gtk.PolicyType gtk_visible_focus { get; set; }
@@ -4885,7 +4885,7 @@ namespace Gtk {
                protected StatusbarAccessible ();
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext", since = "3.0")]
+       [Version (deprecated_since = "3.0", replacement = "StyleContext")]
        public class Style : GLib.Object {
                public int attach_count;
                [CCode (array_length = false)]
@@ -5135,7 +5135,7 @@ namespace Gtk {
                public SymbolicColor.win32 (string theme_class, int id);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_table_get_type ()")]
-       [Deprecated (replacement = "Grid", since = "3.4")]
+       [Version (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);
@@ -5185,7 +5185,7 @@ namespace Gtk {
                public Gdk.Atom target;
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tearoff_menu_item_get_type ()")]
-       [Deprecated (since = "3.4")]
+       [Version (deprecated_since = "3.4")]
        public class TearoffMenuItem : Gtk.MenuItem, Atk.Implementor, Gtk.Buildable, Gtk.Activatable, 
Gtk.Actionable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public TearoffMenuItem ();
@@ -5367,8 +5367,8 @@ namespace Gtk {
                public bool background_full_height { get; set; }
                [NoAccessorMethod]
                public bool background_full_height_set { get; set; }
-               [Deprecated (replacement = "background_rgba", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "background_rgba")]
                public Gdk.Color background_gdk { get; set; }
                [NoAccessorMethod]
                public Gdk.RGBA background_rgba { get; set; }
@@ -5394,8 +5394,8 @@ namespace Gtk {
                public Pango.FontDescription font_desc { owned get; set; }
                [NoAccessorMethod]
                public string foreground { set; }
-               [Deprecated (replacement = "foreground_rgba", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "foreground_rgba")]
                public Gdk.Color foreground_gdk { get; set; }
                [NoAccessorMethod]
                public Gdk.RGBA foreground_rgba { get; set; }
@@ -5429,8 +5429,8 @@ namespace Gtk {
                public string name { owned get; construct; }
                [NoAccessorMethod]
                public string paragraph_background { set; }
-               [Deprecated (replacement = "paragraph_background_rgba", since = "3.4")]
                [NoAccessorMethod]
+               [Version (deprecated_since = "3.4", replacement = "paragraph_background_rgba")]
                public Gdk.Color paragraph_background_gdk { get; set; }
                [NoAccessorMethod]
                public Gdk.RGBA paragraph_background_rgba { get; set; }
@@ -5696,7 +5696,7 @@ 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);
-               [Deprecated (since = "3.6")]
+               [Version (deprecated_since = "3.6")]
                public bool state_is_running (Gtk.StateType state, out double progress);
                [NoAccessorMethod]
                public string name { owned get; construct; }
@@ -6290,7 +6290,7 @@ namespace Gtk {
                public unowned Gtk.AccelGroup get_accel_group ();
                public virtual unowned Gtk.Action get_action (string path);
                public unowned GLib.List<Gtk.ActionGroup> get_action_groups ();
-               [Deprecated (since = "3.4")]
+               [Version (deprecated_since = "3.4")]
                public bool get_add_tearoffs ();
                public GLib.SList<weak Gtk.Widget> get_toplevels (Gtk.UIManagerItemType types);
                public string get_ui ();
@@ -6299,9 +6299,9 @@ namespace Gtk {
                public uint new_merge_id ();
                public void remove_action_group (Gtk.ActionGroup action_group);
                public void remove_ui (uint merge_id);
-               [Deprecated (since = "3.4")]
+               [Version (deprecated_since = "3.4")]
                public void set_add_tearoffs (bool add_tearoffs);
-               [Deprecated (since = "3.4")]
+               [Version (deprecated_since = "3.4")]
                public bool add_tearoffs { get; set; }
                public string ui { owned get; }
                public virtual signal void actions_changed ();
@@ -6312,7 +6312,7 @@ namespace Gtk {
                public virtual signal void pre_activate (Gtk.Action action);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vbox_get_type ()")]
-       [Deprecated (replacement = "Box", since = "3.2")]
+       [Version (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);
@@ -6323,13 +6323,13 @@ namespace Gtk {
                public VButtonBox ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vpaned_get_type ()")]
-       [Deprecated (replacement = "Paned", since = "3.2")]
+       [Version (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 ()")]
-       [Deprecated (replacement = "Scale", since = "3.2")]
+       [Version (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);
@@ -6337,7 +6337,7 @@ namespace Gtk {
                public VScale.with_range (double min, double max, double step);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_vscrollbar_get_type ()")]
-       [Deprecated (replacement = "Scrollbar", since = "3.2")]
+       [Version (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);
@@ -6392,7 +6392,7 @@ namespace Gtk {
                [CCode (cname = "gtk_widget_class_bind_template_child_full")]
                public class void bind_template_child_full (string name, bool internal_child, ssize_t 
struct_offset);
                public bool child_focus (Gtk.DirectionType direction);
-               [Deprecated (replacement = "get_path", since = "3.0")]
+               [Version (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);
                [CCode (vfunc_name = "compute_expand")]
@@ -6404,7 +6404,7 @@ namespace Gtk {
                public bool device_is_shadowed (Gdk.Device device);
                [NoWrapper]
                public virtual void dispatch_child_properties_changed ([CCode (array_length_pos = 0.5)] out 
GLib.ParamSpec[] pspecs);
-               [Deprecated (replacement = "StyleContext", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
                public void ensure_style ();
                public void error_bell ();
                [CCode (cname = "gtk_widget_class_find_style_property")]
@@ -6420,14 +6420,14 @@ namespace Gtk {
                public bool get_app_paintable ();
                public bool get_can_default ();
                public bool get_can_focus ();
-               [Deprecated (replacement = "get_preferred_size", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "get_preferred_size")]
                public void get_child_requisition (out Gtk.Requisition requisition);
                public bool get_child_visible ();
                public void get_clip (out Gtk.Allocation clip);
                public unowned Gtk.Clipboard get_clipboard (Gdk.Atom selection);
                public string get_composite_name ();
                public static Gtk.TextDirection get_default_direction ();
-               [Deprecated (replacement = "StyleContext, and CssProvider.get_default() to obtain a 
Gtk.StyleProvider with the default widget style information", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext, and 
CssProvider.get_default() to obtain a Gtk.StyleProvider with the default widget style information")]
                public static unowned Gtk.Style get_default_style ();
                public bool get_device_enabled (Gdk.Device device);
                public Gdk.EventMask get_device_events (Gdk.Device device);
@@ -6449,7 +6449,7 @@ namespace Gtk {
                public int get_margin_start ();
                public int get_margin_top ();
                public Gdk.ModifierType get_modifier_mask (Gdk.ModifierIntent intent);
-               [Deprecated (replacement = "StyleContext with a custom StyleProvider", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext with a custom StyleProvider")]
                public unowned Gtk.RcStyle get_modifier_style ();
                public bool get_no_show_all ();
                public double get_opacity ();
@@ -6458,7 +6458,7 @@ namespace Gtk {
                public unowned Gtk.Container? get_parent ();
                public unowned Gdk.Window get_parent_window ();
                public unowned Gtk.WidgetPath get_path ();
-               [Deprecated (replacement = "Gdk.Window.get_device_position", since = "3.4")]
+               [Version (deprecated_since = "3.4", replacement = "Gdk.Window.get_device_position")]
                public void get_pointer (out int x, out int y);
                public virtual void get_preferred_height (out int minimum_height, out int natural_height);
                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);
@@ -6488,10 +6488,10 @@ namespace Gtk {
                public bool get_sensitive ();
                public unowned Gtk.Settings get_settings ();
                public void get_size_request (out int width, out int height);
-               [Deprecated (replacement = "get_state_flags", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "get_state_flags")]
                public Gtk.StateType get_state ();
                public Gtk.StateFlags get_state_flags ();
-               [Deprecated (replacement = "StyleContext", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
                public unowned Gtk.Style get_style ();
                public unowned Gtk.StyleContext get_style_context ();
                public bool get_support_multidevice ();
@@ -6509,7 +6509,7 @@ namespace Gtk {
                public unowned Gdk.Window get_window ();
                public void grab_default ();
                public bool has_grab ();
-               [Deprecated (replacement = "StyleContext", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
                public bool has_rc_style ();
                public bool has_screen ();
                public bool has_visible_focus ();
@@ -6534,26 +6534,26 @@ namespace Gtk {
                public GLib.List<weak Gtk.Widget> list_mnemonic_labels ();
                [CCode (cname = "gtk_widget_class_list_style_properties")]
                public class unowned GLib.ParamSpec list_style_properties (uint n_properties);
-               [Deprecated (replacement = "override_background_color", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "override_background_color")]
                public void modify_base (Gtk.StateType state, Gdk.Color? color);
-               [Deprecated (replacement = "override_background_color", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "override_background_color")]
                public void modify_bg (Gtk.StateType state, Gdk.Color? color);
-               [Deprecated (replacement = "override_cursor", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "override_cursor")]
                public void modify_cursor (Gdk.Color? primary, Gdk.Color? secondary);
-               [Deprecated (replacement = "override_color", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "override_color")]
                public void modify_fg (Gtk.StateType state, Gdk.Color? color);
-               [Deprecated (replacement = "override_font", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "override_font")]
                public void modify_font (Pango.FontDescription? font_desc);
-               [Deprecated (replacement = "StyleContext with a custom StyleProvider", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext with a custom StyleProvider")]
                public void modify_style (Gtk.RcStyle style);
-               [Deprecated (replacement = "override_color", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "override_color")]
                public void modify_text (Gtk.StateType state, Gdk.Color? color);
                public void override_background_color (Gtk.StateFlags state, Gdk.RGBA? color);
                public void override_color (Gtk.StateFlags state, Gdk.RGBA? color);
                public void override_cursor (Gdk.RGBA? cursor, Gdk.RGBA? secondary_cursor);
                public void override_font (Pango.FontDescription? font_desc);
                public void override_symbolic_color (string name, Gdk.RGBA? color);
-               [Deprecated (replacement = "get_path", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "get_path")]
                public void path (out uint path_length, out string path, out string path_reversed);
                public static void pop_composite_child ();
                public static void push_composite_child ();
@@ -6571,7 +6571,7 @@ namespace Gtk {
                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);
                public void reparent (Gtk.Widget new_parent);
-               [Deprecated (replacement = "reset_style", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "reset_style")]
                public void reset_rc_styles ();
                public void reset_style ();
                public int send_expose (Gdk.Event event);
@@ -6617,10 +6617,10 @@ namespace Gtk {
                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);
-               [Deprecated (replacement = "set_state_flags", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "set_state_flags")]
                public void set_state (Gtk.StateType state);
                public void set_state_flags (Gtk.StateFlags flags, bool clear);
-               [Deprecated (replacement = "StyleContext", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
                public void set_style (Gtk.Style? style);
                public void set_support_multidevice (bool support_multidevice);
                [CCode (cname = "gtk_widget_class_set_template")]
@@ -6640,7 +6640,7 @@ namespace Gtk {
                public virtual void show_all ();
                public void show_now ();
                public void size_allocate_with_baseline (Gtk.Allocation allocation, int baseline);
-               [Deprecated (replacement = "StyleContext", since = "3.0")]
+               [Version (deprecated_since = "3.0", replacement = "StyleContext")]
                public void style_attach ();
                public void style_get (...);
                public void style_get_property (string property_name, ref GLib.Value value);
@@ -6986,11 +6986,11 @@ namespace Gtk {
                [NoAccessorMethod]
                public Gtk.WindowPosition window_position { get; set; }
                [CCode (cname = "activate_default")]
-               [Experimental]
+               [Version (experimental = true)]
                public virtual signal void default_activated ();
                public virtual signal bool enable_debugging (bool toggle);
                [CCode (cname = "activate_focus")]
-               [Experimental]
+               [Version (experimental = true)]
                public virtual signal void focus_activated ();
                public virtual signal void keys_changed ();
                [HasEmitter]
@@ -8269,7 +8269,7 @@ namespace Gtk {
        public enum ResizeMode {
                PARENT,
                QUEUE,
-               [Deprecated]
+               [Version (deprecated = true)]
                IMMEDIATE
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_RESPONSE_")]
@@ -8858,319 +8858,319 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public const int PRIORITY_RESIZE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ABOUT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ABOUT")]
        public const string STOCK_ABOUT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ADD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ADD")]
        public const string STOCK_ADD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.APPLY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.APPLY")]
        public const string STOCK_APPLY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.BOLD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.BOLD")]
        public const string STOCK_BOLD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CANCEL", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CANCEL")]
        public const string STOCK_CANCEL;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CAPS_LOCK_WARNING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CAPS_LOCK_WARNING")]
        public const string STOCK_CAPS_LOCK_WARNING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CDROM", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CDROM")]
        public const string STOCK_CDROM;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CLEAR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CLEAR")]
        public const string STOCK_CLEAR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CLOSE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CLOSE")]
        public const string STOCK_CLOSE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.COLOR_PICKER", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.COLOR_PICKER")]
        public const string STOCK_COLOR_PICKER;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CONNECT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CONNECT")]
        public const string STOCK_CONNECT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CONVERT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CONVERT")]
        public const string STOCK_CONVERT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.COPY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.COPY")]
        public const string STOCK_COPY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.CUT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.CUT")]
        public const string STOCK_CUT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DELETE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DELETE")]
        public const string STOCK_DELETE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_AUTHENTICATION", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_AUTHENTICATION")]
        public const string STOCK_DIALOG_AUTHENTICATION;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_ERROR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_ERROR")]
        public const string STOCK_DIALOG_ERROR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_INFO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_INFO")]
        public const string STOCK_DIALOG_INFO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_QUESTION", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_QUESTION")]
        public const string STOCK_DIALOG_QUESTION;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIALOG_WARNING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_WARNING")]
        public const string STOCK_DIALOG_WARNING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DIRECTORY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DIRECTORY")]
        public const string STOCK_DIRECTORY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DISCARD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DISCARD")]
        public const string STOCK_DISCARD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DISCONNECT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DISCONNECT")]
        public const string STOCK_DISCONNECT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DND", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DND")]
        public const string STOCK_DND;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.DND_MULTIPLE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.DND_MULTIPLE")]
        public const string STOCK_DND_MULTIPLE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.EDIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.EDIT")]
        public const string STOCK_EDIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.EXECUTE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.EXECUTE")]
        public const string STOCK_EXECUTE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FILE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FILE")]
        public const string STOCK_FILE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FIND", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FIND")]
        public const string STOCK_FIND;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FIND_AND_REPLACE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FIND_AND_REPLACE")]
        public const string STOCK_FIND_AND_REPLACE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FLOPPY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FLOPPY")]
        public const string STOCK_FLOPPY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FULLSCREEN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
        public const string STOCK_FULLSCREEN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_BOTTOM", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_BOTTOM")]
        public const string STOCK_GOTO_BOTTOM;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_FIRST", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_FIRST")]
        public const string STOCK_GOTO_FIRST;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_LAST", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_LAST")]
        public const string STOCK_GOTO_LAST;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GOTO_TOP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GOTO_TOP")]
        public const string STOCK_GOTO_TOP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_BACK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_BACK")]
        public const string STOCK_GO_BACK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_DOWN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_DOWN")]
        public const string STOCK_GO_DOWN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_FORWARD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_FORWARD")]
        public const string STOCK_GO_FORWARD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.GO_UP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.GO_UP")]
        public const string STOCK_GO_UP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.HARDDISK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HARDDISK")]
        public const string STOCK_HARDDISK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.HELP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HELP")]
        public const string STOCK_HELP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.HOME", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.HOME")]
        public const string STOCK_HOME;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.INDENT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INDENT")]
        public const string STOCK_INDENT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.INDEX", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INDEX")]
        public const string STOCK_INDEX;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.INFO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.INFO")]
        public const string STOCK_INFO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ITALIC", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ITALIC")]
        public const string STOCK_ITALIC;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUMP_TO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUMP_TO")]
        public const string STOCK_JUMP_TO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_CENTER", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_CENTER")]
        public const string STOCK_JUSTIFY_CENTER;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_FILL", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_FILL")]
        public const string STOCK_JUSTIFY_FILL;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_LEFT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_LEFT")]
        public const string STOCK_JUSTIFY_LEFT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.JUSTIFY_RIGHT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_RIGHT")]
        public const string STOCK_JUSTIFY_RIGHT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.FULLSCREEN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
        public const string STOCK_LEAVE_FULLSCREEN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_FORWARD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_FORWARD")]
        public const string STOCK_MEDIA_FORWARD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_NEXT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_NEXT")]
        public const string STOCK_MEDIA_NEXT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_PAUSE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PAUSE")]
        public const string STOCK_MEDIA_PAUSE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_PLAY", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PLAY")]
        public const string STOCK_MEDIA_PLAY;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_PREVIOUS", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PREVIOUS")]
        public const string STOCK_MEDIA_PREVIOUS;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_RECORD", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_RECORD")]
        public const string STOCK_MEDIA_RECORD;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_REWIND", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_REWIND")]
        public const string STOCK_MEDIA_REWIND;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MEDIA_STOP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_STOP")]
        public const string STOCK_MEDIA_STOP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.MISSING_IMAGE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.MISSING_IMAGE")]
        public const string STOCK_MISSING_IMAGE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.NETWORK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NETWORK")]
        public const string STOCK_NETWORK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.NEW", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NEW")]
        public const string STOCK_NEW;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.NO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.NO")]
        public const string STOCK_NO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.OK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.OK")]
        public const string STOCK_OK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.OPEN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.OPEN")]
        public const string STOCK_OPEN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_LANDSCAPE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_LANDSCAPE")]
        public const string STOCK_ORIENTATION_LANDSCAPE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_PORTRAIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_PORTRAIT")]
        public const string STOCK_ORIENTATION_PORTRAIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_REVERSE_LANDSCAPE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_LANDSCAPE")]
        public const string STOCK_ORIENTATION_REVERSE_LANDSCAPE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ORIENTATION_REVERSE_PORTRAIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_PORTRAIT")]
        public const string STOCK_ORIENTATION_REVERSE_PORTRAIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PAGE_SETUP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PAGE_SETUP")]
        public const string STOCK_PAGE_SETUP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PASTE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PASTE")]
        public const string STOCK_PASTE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PREFERENCES", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PREFERENCES")]
        public const string STOCK_PREFERENCES;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT")]
        public const string STOCK_PRINT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_ERROR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_ERROR")]
        public const string STOCK_PRINT_ERROR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_PAUSED", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PAUSED")]
        public const string STOCK_PRINT_PAUSED;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_PREVIEW", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PREVIEW")]
        public const string STOCK_PRINT_PREVIEW;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_REPORT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_REPORT")]
        public const string STOCK_PRINT_REPORT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PRINT_WARNING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PRINT_WARNING")]
        public const string STOCK_PRINT_WARNING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.PROPERTIES", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.PROPERTIES")]
        public const string STOCK_PROPERTIES;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.QUIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.QUIT")]
        public const string STOCK_QUIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REDO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REDO")]
        public const string STOCK_REDO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REFRESH", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REFRESH")]
        public const string STOCK_REFRESH;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REMOVE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REMOVE")]
        public const string STOCK_REMOVE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.REVERT_TO_SAVED", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.REVERT_TO_SAVED")]
        public const string STOCK_REVERT_TO_SAVED;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SAVE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SAVE")]
        public const string STOCK_SAVE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SAVE_AS", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SAVE_AS")]
        public const string STOCK_SAVE_AS;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SELECT_ALL", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_ALL")]
        public const string STOCK_SELECT_ALL;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SELECT_COLOR", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_COLOR")]
        public const string STOCK_SELECT_COLOR;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SELECT_FONT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SELECT_FONT")]
        public const string STOCK_SELECT_FONT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SORT_ASCENDING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SORT_ASCENDING")]
        public const string STOCK_SORT_ASCENDING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SORT_DESCENDING", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SORT_DESCENDING")]
        public const string STOCK_SORT_DESCENDING;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.SPELL_CHECK", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.SPELL_CHECK")]
        public const string STOCK_SPELL_CHECK;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.STOP", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.STOP")]
        public const string STOCK_STOP;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.STRIKETHROUGH", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.STRIKETHROUGH")]
        public const string STOCK_STRIKETHROUGH;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNDELETE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDELETE")]
        public const string STOCK_UNDELETE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNDERLINE", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDERLINE")]
        public const string STOCK_UNDERLINE;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNDO", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNDO")]
        public const string STOCK_UNDO;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.UNINDENT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.UNINDENT")]
        public const string STOCK_UNINDENT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.YES", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.YES")]
        public const string STOCK_YES;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_100", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_100")]
        public const string STOCK_ZOOM_100;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_FIT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_FIT")]
        public const string STOCK_ZOOM_FIT;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_IN", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_IN")]
        public const string STOCK_ZOOM_IN;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.ZOOM_OUT", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_OUT")]
        public const string STOCK_ZOOM_OUT;
        [CCode (cheader_filename = "gtk/gtk.h")]
        public const string STYLE_CLASS_ACCELERATOR;
@@ -9501,7 +9501,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void drag_unhighlight (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "render_insertion_cursor", since = "3.4")]
+       [Version (deprecated_since = "3.4", replacement = "render_insertion_cursor")]
        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 ();
@@ -9558,10 +9558,10 @@ namespace Gtk {
        [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;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (since = "3.4")]
+       [Version (deprecated_since = "3.4")]
        public static uint key_snooper_install (Gtk.KeySnoopFunc snooper);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (since = "3.4")]
+       [Version (deprecated_since = "3.4")]
        public static void key_snooper_remove (uint snooper_handler_id);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void main ();
@@ -9576,64 +9576,64 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void main_quit ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (replacement = "render_background", since = "3.0")]
+       [Version (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")]
-       [Deprecated (replacement = "render_frame_gap", since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (replacement = "render_expander", since = "3.0")]
+       [Version (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")]
-       [Deprecated (replacement = "render_frame and render_background", since = "3.0")]
+       [Version (deprecated_since = "3.0", replacement = "render_frame and render_background")]
        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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (replacement = "render_handle", since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (replacement = "render_frame", since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (replacement = "render_activity", since = "3.0")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (since = "3.0")]
+       [Version (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")]
-       [Deprecated (since = "3.0")]
+       [Version (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);
@@ -9688,56 +9688,56 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void rc_set_default_files ([CCode (array_length = false, array_null_terminated = true)] 
string[] filenames);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_activity", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_arrow", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_background", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_check", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_expander", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_extension", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_focus", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_frame", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_frame_gap", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_handle", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_icon", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_icon_pixbuf", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void render_icon_surface (Gtk.StyleContext context, Cairo.Context cr, Cairo.Surface 
surface, double x, double y);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void render_insertion_cursor (Gtk.StyleContext context, Cairo.Context cr, double x, 
double y, Pango.Layout layout, int index, Pango.Direction direction);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_layout", since = "vala-0.16")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "StyleContext.render_line", since = "vala-0.16")]
+       [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")]
-       [Deprecated (replacement = "StyleContext.render_option", since = "vala-0.16")]
+       [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")]
-       [Deprecated (replacement = "StyleContext.render_slider", since = "vala-0.16")]
+       [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")]
        public static void rgb_to_hsv (double r, double g, double b, out double h, out double s, out double 
v);
@@ -9762,16 +9762,16 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool show_uri (Gdk.Screen? screen, string uri, uint32 timestamp) throws GLib.Error;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.add", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.add")]
        public static void stock_add (Gtk.StockItem[] items);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.add_static", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.add_static")]
        public static void stock_add_static (Gtk.StockItem[] items);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.list_ids", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.list_ids")]
        public static GLib.SList<string> stock_list_ids ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       [Deprecated (replacement = "Gtk.Stock.set_translate_func", since = "vala-0.22")]
+       [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);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void target_table_free (Gtk.TargetEntry[] targets);
diff --git a/vapi/gtksourceview-3.0.vapi b/vapi/gtksourceview-3.0.vapi
index 5b0b9af..dcb93c7 100644
--- a/vapi/gtksourceview-3.0.vapi
+++ b/vapi/gtksourceview-3.0.vapi
@@ -1,7 +1,7 @@
 /* gtksourceview-3.0.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Gtk", gir_namespace = "GtkSource", gir_version = "3.0", lower_case_cprefix = "gtk_")]
-[Deprecated (replacement = "bindings distributed with gtksourceview-3.0", since = "3.13.90")]
+[Version (replacement = "bindings distributed with gtksourceview-3.0", deprecated_since = "3.13.90")]
 namespace Gtk {
        namespace SourceUtils {
                [CCode (cheader_filename = "gtksourceview/gtksource.h")]
@@ -75,7 +75,7 @@ namespace Gtk {
                public unowned Gtk.SourceCompletionInfo get_info_window ();
                public unowned GLib.List<Gtk.SourceCompletionProvider> get_providers ();
                public unowned Gtk.SourceView get_view ();
-               [Deprecated (since = "3.8")]
+               [Version (deprecated_since = "3.8")]
                public void move_window (Gtk.TextIter iter);
                [NoWrapper]
                public virtual bool proposal_activated (Gtk.SourceCompletionProvider provider, 
Gtk.SourceCompletionProposal proposal);
@@ -129,12 +129,12 @@ namespace Gtk {
        public class SourceCompletionInfo : Gtk.Window, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false)]
                public SourceCompletionInfo ();
-               [Deprecated (since = "3.8")]
+               [Version (deprecated_since = "3.8")]
                public unowned Gtk.Widget get_widget ();
                public void move_to_iter (Gtk.TextView view, Gtk.TextIter? iter);
-               [Deprecated (since = "3.8")]
+               [Version (deprecated_since = "3.8")]
                public void set_widget (Gtk.Widget? widget);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public virtual signal void before_show ();
        }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = 
"gtk_source_completion_item_get_type ()")]
@@ -143,7 +143,7 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                public SourceCompletionItem (string label, string text, Gdk.Pixbuf? icon, string? info);
                [CCode (has_construct_function = false)]
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public SourceCompletionItem.from_stock (string? label, string text, string stock, string? 
info);
                [CCode (has_construct_function = false)]
                public SourceCompletionItem.with_markup (string markup, string text, Gdk.Pixbuf? icon, 
string? info);
@@ -268,25 +268,25 @@ namespace Gtk {
        public class SourceGutter : GLib.Object {
                [CCode (has_construct_function = false)]
                protected SourceGutter ();
-               [Deprecated (since = "3.12")]
+               [Version (deprecated_since = "3.12")]
                public void get_padding (int xpad, int ypad);
                public unowned Gtk.SourceGutterRenderer get_renderer_at_pos (int x, int y);
-               [Deprecated (since = "3.12")]
+               [Version (deprecated_since = "3.12")]
                public unowned Gdk.Window get_window ();
                public bool insert (Gtk.SourceGutterRenderer renderer, int position);
                public void queue_draw ();
                public void remove (Gtk.SourceGutterRenderer renderer);
                public void reorder (Gtk.SourceGutterRenderer renderer, int position);
-               [Deprecated (since = "3.12")]
+               [Version (deprecated_since = "3.12")]
                public void set_padding (int xpad, int ypad);
                [NoAccessorMethod]
                public Gtk.SourceView view { owned get; construct; }
                [NoAccessorMethod]
                public Gtk.TextWindowType window_type { get; construct; }
-               [Deprecated (since = "3.12")]
+               [Version (deprecated_since = "3.12")]
                [NoAccessorMethod]
                public int xpad { get; set construct; }
-               [Deprecated (since = "3.12")]
+               [Version (deprecated_since = "3.12")]
                [NoAccessorMethod]
                public int ypad { get; set construct; }
        }
@@ -352,17 +352,17 @@ namespace Gtk {
                public unowned GLib.Icon get_gicon ();
                public unowned string get_icon_name ();
                public unowned Gdk.Pixbuf get_pixbuf ();
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public unowned string get_stock_id ();
                public void set_gicon (GLib.Icon? icon);
                public void set_icon_name (string? icon_name);
                public void set_pixbuf (Gdk.Pixbuf? pixbuf);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public void set_stock_id (string? stock_id);
                public GLib.Icon gicon { get; set; }
                public string icon_name { get; set; }
                public Gdk.Pixbuf pixbuf { get; set; }
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public string stock_id { get; set; }
        }
        [CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = 
"gtk_source_gutter_renderer_text_get_type ()")]
@@ -439,7 +439,7 @@ namespace Gtk {
                public unowned GLib.Icon get_gicon ();
                public unowned string get_icon_name ();
                public unowned Gdk.Pixbuf get_pixbuf ();
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public unowned string get_stock_id ();
                public string get_tooltip_markup (Gtk.SourceMark mark);
                public string get_tooltip_text (Gtk.SourceMark mark);
@@ -448,14 +448,14 @@ namespace Gtk {
                public void set_gicon (GLib.Icon gicon);
                public void set_icon_name (string icon_name);
                public void set_pixbuf (Gdk.Pixbuf pixbuf);
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public void set_stock_id (string stock_id);
                [NoAccessorMethod]
                public Gdk.RGBA background { get; set; }
                public GLib.Icon gicon { get; set; }
                public string icon_name { get; set; }
                public Gdk.Pixbuf pixbuf { get; set; }
-               [Deprecated (since = "3.10")]
+               [Version (deprecated_since = "3.10")]
                public string stock_id { get; set; }
                public signal string query_tooltip_markup (Gtk.SourceMark mark);
                public signal string query_tooltip_text (Gtk.SourceMark mark);
diff --git a/vapi/gudev-1.0.vapi b/vapi/gudev-1.0.vapi
index e5f432c..b74c611 100644
--- a/vapi/gudev-1.0.vapi
+++ b/vapi/gudev-1.0.vapi
@@ -28,6 +28,7 @@ namespace GUdev {
                public GUdev.DeviceType get_device_type ();
                public unowned string get_devtype ();
                public unowned string? get_driver ();
+               [Version (since = "165")]
                public bool get_is_initialized ();
                public unowned string get_name ();
                public unowned string get_number ();
@@ -55,12 +56,15 @@ namespace GUdev {
                public unowned string[] get_sysfs_attr_keys ();
                public unowned string get_sysfs_path ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "165")]
                public unowned string[] get_tags ();
+               [Version (since = "165")]
                public uint64 get_usec_since_initialized ();
                public bool has_property (string key);
                public bool has_sysfs_attr (string key);
        }
        [CCode (cheader_filename = "gudev/gudev.h", type_id = "g_udev_enumerator_get_type ()")]
+       [Version (since = "165")]
        public class Enumerator : GLib.Object {
                [CCode (has_construct_function = false)]
                public Enumerator (GUdev.Client client);
diff --git a/vapi/json-glib-1.0.vapi b/vapi/json-glib-1.0.vapi
index 3afb12a..ccd9145 100644
--- a/vapi/json-glib-1.0.vapi
+++ b/vapi/json-glib-1.0.vapi
@@ -7,25 +7,41 @@ namespace Json {
        public class Array {
                [CCode (has_construct_function = false)]
                public Array ();
+               [Version (since = "0.8")]
                public void add_array_element (owned Json.Array? value);
+               [Version (since = "0.8")]
                public void add_boolean_element (bool value);
+               [Version (since = "0.8")]
                public void add_double_element (double value);
                public void add_element (owned Json.Node node);
+               [Version (since = "0.8")]
                public void add_int_element (int64 value);
+               [Version (since = "0.8")]
                public void add_null_element ();
+               [Version (since = "0.8")]
                public void add_object_element (owned Json.Object value);
+               [Version (since = "0.8")]
                public void add_string_element (string value);
+               [Version (since = "0.6")]
                public Json.Node dup_element (uint index_);
+               [Version (since = "0.8")]
                public void foreach_element (Json.ArrayForeach func);
+               [Version (since = "0.8")]
                public unowned Json.Array get_array_element (uint index_);
+               [Version (since = "0.8")]
                public bool get_boolean_element (uint index_);
+               [Version (since = "0.8")]
                public double get_double_element (uint index_);
                public unowned Json.Node get_element (uint index_);
                public GLib.List<weak Json.Node> get_elements ();
+               [Version (since = "0.8")]
                public int64 get_int_element (uint index_);
                public uint get_length ();
+               [Version (since = "0.8")]
                public bool get_null_element (uint index_);
+               [Version (since = "0.8")]
                public unowned Json.Object get_object_element (uint index_);
+               [Version (since = "0.8")]
                public unowned string get_string_element (uint index_);
                public unowned Json.Array @ref ();
                public void remove_element (uint index_);
@@ -34,6 +50,7 @@ namespace Json {
                public void unref ();
        }
        [CCode (cheader_filename = "json-glib/json-glib.h", type_id = "json_builder_get_type ()")]
+       [Version (since = "0.12")]
        public class Builder : GLib.Object {
                [CCode (has_construct_function = false)]
                public Builder ();
@@ -55,20 +72,30 @@ namespace Json {
        public class Generator : GLib.Object {
                [CCode (has_construct_function = false)]
                public Generator ();
+               [Version (since = "0.14")]
                public uint get_indent ();
+               [Version (since = "0.14")]
                public unichar get_indent_char ();
+               [Version (since = "0.14")]
                public bool get_pretty ();
+               [Version (since = "0.14")]
                public unowned Json.Node? get_root ();
+               [Version (since = "0.14")]
                public void set_indent (uint indent_level);
+               [Version (since = "0.14")]
                public void set_indent_char (unichar indent_char);
+               [Version (since = "0.14")]
                public void set_pretty (bool is_pretty);
                public void set_root (Json.Node node);
                public string to_data (out size_t length);
                public bool to_file (string filename) throws GLib.Error;
+               [Version (since = "0.12")]
                public bool to_stream (GLib.OutputStream stream, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
                public uint indent { get; set; }
+               [Version (since = "0.6")]
                public uint indent_char { get; set; }
                public bool pretty { get; set; }
+               [Version (since = "0.4")]
                public Json.Node root { get; set; }
        }
        [CCode (cheader_filename = "json-glib/json-glib.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "json_node_get_type ()")]
@@ -77,6 +104,7 @@ namespace Json {
                [CCode (has_construct_function = false)]
                public Node (Json.NodeType type);
                [CCode (cname = "json_node_alloc", has_construct_function = false)]
+               [Version (since = "0.16")]
                public Node.alloc ();
                public Json.Node copy ();
                public Json.Array dup_array ();
@@ -87,26 +115,38 @@ namespace Json {
                public bool get_boolean ();
                public double get_double ();
                public int64 get_int ();
+               [Version (since = "0.8")]
                public Json.NodeType get_node_type ();
                public unowned Json.Object get_object ();
                public unowned Json.Node get_parent ();
                public unowned string get_string ();
                public GLib.Value get_value ();
+               [Version (since = "0.4")]
                public GLib.Type get_value_type ();
+               [Version (since = "0.16")]
                public unowned Json.Node init (Json.NodeType type);
+               [Version (since = "0.16")]
                public unowned Json.Node init_array (Json.Array? array);
+               [Version (since = "0.16")]
                public unowned Json.Node init_boolean (bool value);
+               [Version (since = "0.16")]
                public unowned Json.Node init_double (double value);
+               [Version (since = "0.16")]
                public unowned Json.Node init_int (int64 value);
+               [Version (since = "0.16")]
                public unowned Json.Node init_null ();
+               [Version (since = "0.16")]
                public unowned Json.Node init_object (Json.Object? object);
+               [Version (since = "0.16")]
                public unowned Json.Node init_string (string? value);
+               [Version (since = "0.8")]
                public bool is_null ();
                public void set_array (Json.Array array);
                public void set_boolean (bool value);
                public void set_double (double value);
                public void set_int (int64 value);
                public void set_object (Json.Object object);
+               [Version (since = "0.8")]
                public void set_parent (Json.Node parent);
                public void set_string (string value);
                public void set_value (GLib.Value value);
@@ -119,31 +159,48 @@ namespace Json {
        public class Object {
                [CCode (has_construct_function = false)]
                public Object ();
-               [Deprecated (replacement = "Json.Object.set_member", since = "0.8")]
+               [Version (deprecated = true, deprecated_since = "0.8", replacement = 
"Json.Object.set_member")]
                public void add_member (string member_name, owned Json.Node node);
+               [Version (since = "0.6")]
                public Json.Node dup_member (string member_name);
+               [Version (since = "0.8")]
                public void foreach_member (Json.ObjectForeach func);
+               [Version (since = "0.8")]
                public unowned Json.Array get_array_member (string member_name);
+               [Version (since = "0.8")]
                public bool get_boolean_member (string member_name);
+               [Version (since = "0.8")]
                public double get_double_member (string member_name);
+               [Version (since = "0.8")]
                public int64 get_int_member (string member_name);
                public unowned Json.Node get_member (string member_name);
                public GLib.List<weak string> get_members ();
+               [Version (since = "0.8")]
                public bool get_null_member (string member_name);
+               [Version (since = "0.8")]
                public unowned Json.Object get_object_member (string member_name);
                public uint get_size ();
+               [Version (since = "0.8")]
                public unowned string get_string_member (string member_name);
                public GLib.List<weak Json.Node> get_values ();
                public bool has_member (string member_name);
                public unowned Json.Object @ref ();
                public void remove_member (string member_name);
+               [Version (since = "0.8")]
                public void set_array_member (string member_name, owned Json.Array value);
+               [Version (since = "0.8")]
                public void set_boolean_member (string member_name, bool value);
+               [Version (since = "0.8")]
                public void set_double_member (string member_name, double value);
+               [Version (since = "0.8")]
                public void set_int_member (string member_name, int64 value);
+               [Version (since = "0.8")]
                public void set_member (string member_name, owned Json.Node node);
+               [Version (since = "0.8")]
                public void set_null_member (string member_name);
+               [Version (since = "0.8")]
                public void set_object_member (string member_name, owned Json.Object value);
+               [Version (since = "0.8")]
                public void set_string_member (string member_name, string value);
                public void unref ();
        }
@@ -154,10 +211,13 @@ namespace Json {
                public uint get_current_line ();
                public uint get_current_pos ();
                public unowned Json.Node? get_root ();
+               [Version (since = "0.4")]
                public bool has_assignment (out unowned string variable_name);
                public bool load_from_data (string data, ssize_t length = -1) throws GLib.Error;
                public bool load_from_file (string filename) throws GLib.Error;
+               [Version (since = "0.12")]
                public bool load_from_stream (GLib.InputStream stream, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               [Version (since = "0.12")]
                public async bool load_from_stream_async (GLib.InputStream stream, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public virtual signal void array_element (Json.Array array, int index_);
                public virtual signal void array_end (Json.Array array);
@@ -170,6 +230,7 @@ namespace Json {
                public virtual signal void parse_start ();
        }
        [CCode (cheader_filename = "json-glib/json-glib.h", type_id = "json_path_get_type ()")]
+       [Version (since = "0.14")]
        public class Path : GLib.Object {
                [CCode (has_construct_function = false)]
                public Path ();
@@ -178,6 +239,7 @@ namespace Json {
                public static Json.Node query (string expression, Json.Node root) throws GLib.Error;
        }
        [CCode (cheader_filename = "json-glib/json-glib.h", type_id = "json_reader_get_type ()")]
+       [Version (since = "0.12")]
        public class Reader : GLib.Object {
                [CCode (has_construct_function = false)]
                public Reader (Json.Node? node);
@@ -189,6 +251,7 @@ namespace Json {
                public double get_double_value ();
                public unowned GLib.Error get_error ();
                public int64 get_int_value ();
+               [Version (since = "0.14")]
                public unowned string get_member_name ();
                public bool get_null_value ();
                public unowned string get_string_value ();
@@ -197,6 +260,7 @@ namespace Json {
                public bool is_object ();
                public bool is_value ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.14")]
                public string[] list_members ();
                public bool read_element (uint index_);
                public bool read_member (string member_name);
@@ -206,12 +270,16 @@ namespace Json {
        }
        [CCode (cheader_filename = "json-glib/json-glib.h,json-glib/json-gobject.h", type_id = 
"json_serializable_get_type ()")]
        public interface Serializable : GLib.Object {
+               [Version (since = "0.10")]
                public bool default_deserialize_property (string property_name, GLib.Value value, 
GLib.ParamSpec pspec, Json.Node property_node);
+               [Version (since = "0.10")]
                public Json.Node default_serialize_property (string property_name, GLib.Value value, 
GLib.ParamSpec pspec);
                public abstract bool deserialize_property (string property_name, out GLib.Value value, 
GLib.ParamSpec pspec, Json.Node property_node);
+               [Version (since = "0.14")]
                public abstract unowned GLib.ParamSpec find_property (string name);
                public abstract void get_property (GLib.ParamSpec pspec, GLib.Value value);
                [CCode (array_length_pos = 0.1, array_length_type = "guint")]
+               [Version (since = "0.14")]
                public GLib.ParamSpec[] list_properties ();
                public abstract Json.Node serialize_property (string property_name, GLib.Value value, 
GLib.ParamSpec pspec);
                public abstract void set_property (GLib.ParamSpec pspec, GLib.Value value);
@@ -236,11 +304,13 @@ namespace Json {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "json-glib/json-glib.h", cprefix = "JSON_PATH_ERROR_INVALID_")]
+       [Version (since = "0.14")]
        public errordomain PathError {
                QUERY;
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "json-glib/json-glib.h", cprefix = "JSON_READER_ERROR_")]
+       [Version (since = "0.12")]
        public errordomain ReaderError {
                NO_ARRAY,
                INVALID_INDEX,
@@ -252,12 +322,16 @@ namespace Json {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "json-glib/json-glib.h", instance_pos = 3.9)]
+       [Version (since = "0.8")]
        public delegate void ArrayForeach (Json.Array array, uint index_, Json.Node element_node);
        [CCode (cheader_filename = "json-glib/json-glib.h", has_target = false)]
+       [Version (since = "0.10")]
        public delegate void* BoxedDeserializeFunc (Json.Node node);
        [CCode (cheader_filename = "json-glib/json-glib.h", has_target = false)]
+       [Version (since = "0.10")]
        public delegate Json.Node BoxedSerializeFunc (void* boxed);
        [CCode (cheader_filename = "json-glib/json-glib.h", instance_pos = 3.9)]
+       [Version (since = "0.8")]
        public delegate void ObjectForeach (Json.Object object, string member_name, Json.Node member_node);
        [CCode (cheader_filename = "json-glib/json-glib.h", cname = "JSON_MAJOR_VERSION")]
        public const int MAJOR_VERSION;
@@ -270,37 +344,51 @@ namespace Json {
        [CCode (cheader_filename = "json-glib/json-glib.h", cname = "JSON_VERSION_S")]
        public const string VERSION_S;
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static bool boxed_can_deserialize (GLib.Type gboxed_type, Json.NodeType node_type);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static bool boxed_can_serialize (GLib.Type gboxed_type, out Json.NodeType node_type);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static void* boxed_deserialize (GLib.Type gboxed_type, Json.Node node);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static void boxed_register_deserialize_func (GLib.Type gboxed_type, Json.NodeType node_type, 
Json.BoxedDeserializeFunc deserialize_func);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static void boxed_register_serialize_func (GLib.Type gboxed_type, Json.NodeType node_type, 
Json.BoxedSerializeFunc serialize_func);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static Json.Node boxed_serialize (GLib.Type gboxed_type, void* boxed);
        [CCode (cheader_filename = "json-glib/json-glib.h,json-glib/json-gobject.h")]
-       [Deprecated (replacement = "Json.gobject_from_data", since = "0.10")]
+       [Version (deprecated = true, deprecated_since = "0.10", replacement = "Json.gobject_from_data", since 
= "0.4")]
        public static GLib.Object construct_gobject (GLib.Type gtype, string data, size_t length) throws 
GLib.Error;
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static GLib.Object gobject_deserialize (GLib.Type gtype, Json.Node node);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static GLib.Object gobject_from_data (GLib.Type gtype, string data, ssize_t length = -1) 
throws GLib.Error;
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static Json.Node gobject_serialize (GLib.Object gobject);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.10")]
        public static string gobject_to_data (GLib.Object gobject, out size_t length);
        [CCode (cheader_filename = "json-glib/json-glib.h", returns_floating_reference = true)]
+       [Version (since = "0.14")]
        public static GLib.Variant gvariant_deserialize (Json.Node json_node, string? signature) throws 
GLib.Error;
        [CCode (cheader_filename = "json-glib/json-glib.h", returns_floating_reference = true)]
+       [Version (since = "0.14")]
        public static GLib.Variant gvariant_deserialize_data (string json, ssize_t length, string? signature) 
throws GLib.Error;
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.14")]
        public static Json.Node gvariant_serialize (GLib.Variant variant);
        [CCode (cheader_filename = "json-glib/json-glib.h")]
+       [Version (since = "0.14")]
        public static string gvariant_serialize_data (GLib.Variant variant, out size_t length);
        [CCode (cheader_filename = "json-glib/json-glib.h,json-glib/json-gobject.h")]
-       [Deprecated (replacement = "Json.gobject_to_data", since = "0.10")]
+       [Version (deprecated = true, deprecated_since = "0.10", replacement = "Json.gobject_to_data")]
        public static string serialize_gobject (GLib.Object gobject, out size_t length);
 }
diff --git a/vapi/libarchive.vapi b/vapi/libarchive.vapi
index 6f48333..3e00a68 100644
--- a/vapi/libarchive.vapi
+++ b/vapi/libarchive.vapi
@@ -72,7 +72,7 @@ namespace Archive {
        }
 
        [CCode (cname="int", has_type_id = false)]
-       [Deprecated (since="3.0", replacement="Filter")]
+       [Version (deprecated_since="3.0", replacement="Filter")]
        public enum Compression {
                NONE,
                GZIP,
@@ -137,7 +137,7 @@ namespace Archive {
                public int64 position_compressed ();
                public int64 position_uncompressed ();
 
-               [Deprecated (since="3.0", replacement="Archive.filter_code (0)")]
+               [Version (deprecated_since="3.0", replacement="Archive.filter_code (0)")]
                public Compression compression ();
                public Format format ();
                // Filter #0 is the one closest to the format, -1 is a synonym
@@ -165,19 +165,19 @@ namespace Archive {
        public class Read : Archive {
                public Read ();
                // see 
https://github.com/libarchive/libarchive/wiki/Libarchive3#functions-that-are-being-renamed
-               [Deprecated (since="3.0", replacement="Archive.Read.support_filter_all ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Read.support_filter_all ()")]
                public Result support_compression_all ();
-               [Deprecated (since="3.0", replacement="Archive.Read.support_filter_bzip2 ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Read.support_filter_bzip2 ()")]
                public Result support_compression_bzip2 ();
-               [Deprecated (since="3.0", replacement="Archive.Read.support_filter_compress ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Read.support_filter_compress ()")]
                public Result support_compression_compress ();
-               [Deprecated (since="3.0", replacement="Archive.Read.support_filter_gzip ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Read.support_filter_gzip ()")]
                public Result support_compression_gzip ();
-               [Deprecated (since="3.0", replacement="Archive.Read.support_filter_lzma ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Read.support_filter_lzma ()")]
                public Result support_compression_lzma ();
-               [Deprecated (since="3.0", replacement="Archive.Read.support_filter_none ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Read.support_filter_none ()")]
                public Result support_compression_none ();
-               [Deprecated (since="3.0", replacement="Archive.Read.support_filter_program (string command)")]
+               [Version (deprecated_since="3.0", replacement="Archive.Read.support_filter_program (string 
command)")]
                public Result support_compression_program (string command);
                public Result support_filter_all ();
                public Result support_filter_bzip2 ();
@@ -260,15 +260,15 @@ namespace Archive {
        public class Write : Archive {
                public Write ();
                // see 
https://github.com/libarchive/libarchive/wiki/Libarchive3#functions-that-are-being-renamed
-               [Deprecated (since="3.0", replacement="Archive.Write.add_filter_bzip2 ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Write.add_filter_bzip2 ()")]
                public Result set_compression_bzip2 ();
-               [Deprecated (since="3.0", replacement="Archive.Write.add_filter_compress ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Write.add_filter_compress ()")]
                public Result set_compression_compress ();
-               [Deprecated (since="3.0", replacement="Archive.Write.add_filter_gzip ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Write.add_filter_gzip ()")]
                public Result set_compression_gzip ();
-               [Deprecated (since="3.0", replacement="Archive.Write.add_filter_lzma ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Write.add_filter_lzma ()")]
                public Result set_compression_lzma ();
-               [Deprecated (since="3.0", replacement="Archive.Write.add_filter_none ()")]
+               [Version (deprecated_since="3.0", replacement="Archive.Write.add_filter_none ()")]
                public Result set_compression_none ();
                public Result set_compression_program (string cmd);
                public Result add_filter (Filter filter_code);
diff --git a/vapi/libgda-4.0.vapi b/vapi/libgda-4.0.vapi
index 53d5834..0082d90 100644
--- a/vapi/libgda-4.0.vapi
+++ b/vapi/libgda-4.0.vapi
@@ -1,6 +1,6 @@
 /* libgda-4.0.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "bindings distributed with libgda-4.0", since = "4.2.13")]
+[Version (deprecated_since = "4.2.13", replacement = "bindings distributed with libgda-4.0")]
 namespace Gda {
        [CCode (cheader_filename = "libgda/libgda.h", copy_function = "gda_attributes_manager_copy")]
        [Compact]
diff --git a/vapi/libgda-report-4.0.vapi b/vapi/libgda-report-4.0.vapi
index 1c7396b..1e02ef2 100644
--- a/vapi/libgda-report-4.0.vapi
+++ b/vapi/libgda-report-4.0.vapi
@@ -1,6 +1,6 @@
 /* libgda-report-4.0.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "bindings distributed with libgda-4.0", since = "4.2.13")]
+[Version (deprecated_since = "4.2.13", replacement = "bindings distributed with libgda-4.0")]
 namespace Gda {
        [CCode (cheader_filename = "libgda-report/libgda-report.h")]
        public class ReportDocbookDocument : Gda.ReportDocument {
diff --git a/vapi/libgdata.vapi b/vapi/libgdata.vapi
index a9e555c..b5a7035 100644
--- a/vapi/libgdata.vapi
+++ b/vapi/libgdata.vapi
@@ -4,86 +4,119 @@
 namespace GData {
        namespace ContactsGender {
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_GENDER_FEMALE")]
+               [Version (since = "0.7.0")]
                public const string FEMALE;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_GENDER_MALE")]
+               [Version (since = "0.7.0")]
                public const string MALE;
        }
        namespace ContactsGroupType {
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_GROUP_CONTACTS")]
+               [Version (since = "0.7.0")]
                public const string CONTACTS;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_GROUP_COWORKERS")]
+               [Version (since = "0.7.0")]
                public const string COWORKERS;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_GROUP_FAMILY")]
+               [Version (since = "0.7.0")]
                public const string FAMILY;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_GROUP_FRIENDS")]
+               [Version (since = "0.7.0")]
                public const string FRIENDS;
        }
        namespace ContactsPriority {
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_PRIORITY_HIGH")]
+               [Version (since = "0.7.0")]
                public const string HIGH;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_PRIORITY_LOW")]
+               [Version (since = "0.7.0")]
                public const string LOW;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_PRIORITY_NORMAL")]
+               [Version (since = "0.7.0")]
                public const string NORMAL;
        }
        namespace ContactsSensitivity {
                [CCode (cheader_filename = "gdata/gdata.h", cname = 
"GDATA_CONTACTS_SENSITIVITY_CONFIDENTIAL")]
+               [Version (since = "0.7.0")]
                public const string CONFIDENTIAL;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_SENSITIVITY_NORMAL")]
+               [Version (since = "0.7.0")]
                public const string NORMAL;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_SENSITIVITY_PERSONAL")]
+               [Version (since = "0.7.0")]
                public const string PERSONAL;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CONTACTS_SENSITIVITY_PRIVATE")]
+               [Version (since = "0.7.0")]
                public const string PRIVATE;
        }
        namespace DocumentsPresentationFormat {
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_PDF")]
+               [Version (since = "0.7.0")]
                public const string PDF;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_PNG")]
+               [Version (since = "0.7.0")]
                public const string PNG;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_PPT")]
+               [Version (since = "0.7.0")]
                public const string PPT;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_SWF")]
-               [Deprecated]
+               [Version (deprecated = true, since = "0.7.0")]
                public const string SWF;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_PRESENTATION_TXT")]
+               [Version (since = "0.7.0")]
                public const string TXT;
        }
        namespace DocumentsSpreadsheetFormat {
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_SPREADSHEET_CSV")]
+               [Version (since = "0.7.0")]
                public const string CSV;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_SPREADSHEET_HTML")]
+               [Version (since = "0.7.0")]
                public const string HTML;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_SPREADSHEET_ODS")]
+               [Version (since = "0.7.0")]
                public const string ODS;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_SPREADSHEET_PDF")]
+               [Version (since = "0.7.0")]
                public const string PDF;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_SPREADSHEET_TSV")]
+               [Version (since = "0.7.0")]
                public const string TSV;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_SPREADSHEET_XLS")]
+               [Version (since = "0.7.0")]
                public const string XLS;
        }
        namespace DocumentsTextFormat {
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_DOC")]
+               [Version (since = "0.7.0")]
                public const string DOC;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_HTML")]
+               [Version (since = "0.7.0")]
                public const string HTML;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_JPEG")]
+               [Version (since = "0.13.0")]
                public const string JPEG;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_ODT")]
+               [Version (since = "0.7.0")]
                public const string ODT;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_PDF")]
+               [Version (since = "0.7.0")]
                public const string PDF;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_PNG")]
+               [Version (since = "0.7.0")]
                public const string PNG;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_RTF")]
+               [Version (since = "0.7.0")]
                public const string RTF;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_TXT")]
+               [Version (since = "0.7.0")]
                public const string TXT;
                [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_TEXT_ZIP")]
+               [Version (since = "0.7.0")]
                public const string ZIP;
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_app_categories_get_type ()")]
+       [Version (since = "0.7.0")]
        public class APPCategories : GData.Parsable {
                [CCode (has_construct_function = false)]
                protected APPCategories ();
@@ -92,16 +125,21 @@ namespace GData {
                public bool is_fixed { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_access_rule_get_type ()")]
+       [Version (since = "0.3.0")]
        public class AccessRule : GData.Entry {
                [CCode (has_construct_function = false)]
                public AccessRule (string id);
+               [Version (since = "0.7.0")]
                public int64 get_edited ();
+               [Version (since = "0.16.0")]
                public unowned string get_key ();
                public unowned string get_role ();
                public void get_scope (out unowned string type, out unowned string value);
                public void set_role (string role);
                public void set_scope (string type, string? value);
+               [Version (since = "0.7.0")]
                public int64 edited { get; }
+               [Version (since = "0.16.0")]
                public string key { get; }
                public string role { get; set; }
                [NoAccessorMethod]
@@ -113,17 +151,27 @@ namespace GData {
        public class Author : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public Author (string name, string? uri, string? email_address);
+               [Version (since = "0.4.0")]
                public unowned string get_email_address ();
+               [Version (since = "0.4.0")]
                public unowned string get_name ();
+               [Version (since = "0.4.0")]
                public unowned string get_uri ();
+               [Version (since = "0.4.0")]
                public void set_email_address (string? email_address);
+               [Version (since = "0.4.0")]
                public void set_name (string name);
+               [Version (since = "0.4.0")]
                public void set_uri (string? uri);
+               [Version (since = "0.4.0")]
                public string email_address { get; set; }
+               [Version (since = "0.4.0")]
                public string name { get; set; }
+               [Version (since = "0.4.0")]
                public string uri { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_authorization_domain_get_type ()")]
+       [Version (since = "0.9.0")]
        public class AuthorizationDomain : GLib.Object {
                [CCode (has_construct_function = false)]
                protected AuthorizationDomain ();
@@ -133,6 +181,7 @@ namespace GData {
                public string service_name { get; construct; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_batch_operation_get_type ()")]
+       [Version (since = "0.7.0")]
        public class BatchOperation : GLib.Object {
                [CCode (has_construct_function = false)]
                protected BatchOperation ();
@@ -140,11 +189,13 @@ namespace GData {
                public uint add_insertion (GData.Entry entry, [CCode (scope = "async")] owned 
GData.BatchOperationCallback callback);
                public uint add_query (string id, GLib.Type entry_type, [CCode (scope = "async")] owned 
GData.BatchOperationCallback callback);
                public uint add_update (GData.Entry entry, [CCode (scope = "async")] owned 
GData.BatchOperationCallback callback);
+               [Version (since = "0.9.0")]
                public unowned GData.AuthorizationDomain get_authorization_domain ();
                public unowned string get_feed_uri ();
                public unowned GData.Service get_service ();
                public bool run (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool run_async (GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public GData.AuthorizationDomain authorization_domain { get; construct; }
                public string feed_uri { get; construct; }
                public GData.Service service { get; construct; }
@@ -159,15 +210,19 @@ namespace GData {
                public uint get_times_cleaned ();
                public unowned string get_timezone ();
                public void set_color (GData.Color color);
+               [Version (since = "0.2.0")]
                public void set_is_hidden (bool is_hidden);
+               [Version (since = "0.2.0")]
                public void set_is_selected (bool is_selected);
                public void set_timezone (string? _timezone);
                public string access_level { get; }
                public GData.Color color { get; set; }
                public int64 edited { get; }
                [NoAccessorMethod]
+               [Version (since = "0.2.0")]
                public bool is_hidden { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.2.0")]
                public bool is_selected { get; set; }
                public uint times_cleaned { get; }
                public string timezone { get; set; }
@@ -178,30 +233,41 @@ namespace GData {
                public CalendarEvent (string? id);
                public void add_person (GData.GDWho who);
                public void add_place (GData.GDWhere where);
+               [Version (since = "0.2.0")]
                public void add_time (GData.GDWhen when);
                public bool get_anyone_can_add_self ();
                public int64 get_edited ();
                public bool get_guests_can_invite_others ();
                public bool get_guests_can_modify ();
                public bool get_guests_can_see_guests ();
+               [Version (since = "0.3.0")]
                public void get_original_event_details (out string event_id, out string event_uri);
+               [Version (since = "0.2.0")]
                public unowned GLib.List<GData.GDWho> get_people ();
+               [Version (since = "0.2.0")]
                public unowned GLib.List<GData.GDWhere> get_places ();
+               [Version (since = "0.2.0")]
                public bool get_primary_time (out int64 start_time, out int64 end_time, out unowned 
GData.GDWhen when);
+               [Version (since = "0.3.0")]
                public unowned string get_recurrence ();
                public uint get_sequence ();
+               [Version (since = "0.2.0")]
                public unowned string get_status ();
+               [Version (since = "0.2.0")]
                public unowned GLib.List<GData.GDWhen> get_times ();
                public unowned string get_transparency ();
                public unowned string get_uid ();
                public unowned string get_visibility ();
+               [Version (since = "0.3.0")]
                public bool is_exception ();
                public void set_anyone_can_add_self (bool anyone_can_add_self);
                public void set_guests_can_invite_others (bool guests_can_invite_others);
                public void set_guests_can_modify (bool guests_can_modify);
                public void set_guests_can_see_guests (bool guests_can_see_guests);
+               [Version (since = "0.3.0")]
                public void set_recurrence (string? recurrence);
                public void set_sequence (uint sequence);
+               [Version (since = "0.2.0")]
                public void set_status (string? status);
                public void set_transparency (string? transparency);
                public void set_uid (string? uid);
@@ -212,17 +278,22 @@ namespace GData {
                public bool guests_can_modify { get; set; }
                public bool guests_can_see_guests { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.3.0")]
                public string original_event_id { owned get; }
                [NoAccessorMethod]
+               [Version (since = "0.3.0")]
                public string original_event_uri { owned get; }
+               [Version (since = "0.3.0")]
                public string recurrence { get; set; }
                public uint sequence { get; set; }
+               [Version (since = "0.2.0")]
                public string status { get; set; }
                public string transparency { get; set; }
                public string uid { get; set; }
                public string visibility { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_calendar_feed_get_type ()")]
+       [Version (since = "0.3.0")]
        public class CalendarFeed : GData.Feed {
                [CCode (has_construct_function = false)]
                protected CalendarFeed ();
@@ -236,6 +307,7 @@ namespace GData {
                [CCode (has_construct_function = false)]
                public CalendarQuery (string? q);
                public bool get_future_events ();
+               [Version (since = "0.9.1")]
                public uint get_max_attendees ();
                public unowned string get_order_by ();
                public int64 get_recurrence_expansion_end ();
@@ -244,62 +316,86 @@ namespace GData {
                public unowned string get_sort_order ();
                public int64 get_start_max ();
                public int64 get_start_min ();
+               [Version (since = "0.2.0")]
                public unowned string get_timezone ();
                public void set_future_events (bool future_events);
+               [Version (since = "0.9.1")]
                public void set_max_attendees (uint max_attendees);
                public void set_order_by (string? order_by);
                public void set_recurrence_expansion_end (int64 end);
                public void set_recurrence_expansion_start (int64 start);
+               [Version (since = "0.9.1")]
                public void set_show_deleted (bool show_deleted);
                public void set_single_events (bool single_events);
                public void set_sort_order (string? sort_order);
                public void set_start_max (int64 start_max);
                public void set_start_min (int64 start_min);
+               [Version (since = "0.2.0")]
                public void set_timezone (string? _timezone);
                [CCode (has_construct_function = false)]
                public CalendarQuery.with_limits (string? q, int64? start_min, int64? start_max);
                public bool future_events { get; set; }
+               [Version (since = "0.9.1")]
                public uint max_attendees { get; set; }
                public string order_by { get; set; }
                public int64 recurrence_expansion_end { get; set; }
                public int64 recurrence_expansion_start { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.9.1")]
                public bool show_deleted { get; set; }
                public bool single_events { get; set; }
                public string sort_order { get; set; }
                public int64 start_max { get; set; }
                public int64 start_min { get; set; }
+               [Version (since = "0.2.0")]
                public string timezone { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_calendar_service_get_type ()")]
        public class CalendarService : GData.Service, GData.Batchable {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.9.0")]
                public CalendarService (GData.Authorizer? authorizer);
+               [Version (since = "0.9.0")]
                public static unowned GData.AuthorizationDomain get_primary_authorization_domain ();
+               [Version (since = "0.2.0")]
                public GData.CalendarEvent insert_event (GData.CalendarEvent event, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public async void insert_event_async (GData.CalendarEvent event, GLib.Cancellable? 
cancellable);
                public GData.Feed query_all_calendars (GData.Query? query, GLib.Cancellable? cancellable, 
GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_all_calendars_async (GData.Query? query, GLib.Cancellable? 
cancellable, owned GData.QueryProgressCallback? progress_callback);
                public GData.Feed query_events (GData.CalendarCalendar calendar, GData.Query? query, 
GLib.Cancellable? cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_events_async (GData.CalendarCalendar calendar, GData.Query? query, 
GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback);
                public GData.Feed query_own_calendars (GData.Query? query, GLib.Cancellable? cancellable, 
GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_own_calendars_async (GData.Query? query, GLib.Cancellable? 
cancellable, owned GData.QueryProgressCallback? progress_callback);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_category_get_type ()")]
        public class Category : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public Category (string term, string? scheme, string? label);
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.4.0")]
                public unowned string get_scheme ();
+               [Version (since = "0.4.0")]
                public unowned string get_term ();
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.4.0")]
                public void set_scheme (string? scheme);
+               [Version (since = "0.4.0")]
                public void set_term (string term);
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.4.0")]
                public string scheme { get; set; }
+               [Version (since = "0.4.0")]
                public string term { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_client_login_authorizer_get_type ()")]
+       [Version (since = "0.9.0")]
        public class ClientLoginAuthorizer : GLib.Object, GData.Authorizer {
                [CCode (has_construct_function = false)]
                public ClientLoginAuthorizer (string client_id, GLib.Type service_type);
@@ -309,152 +405,245 @@ namespace GData {
                public ClientLoginAuthorizer.for_authorization_domains (string client_id, 
GLib.List<GData.AuthorizationDomain> authorization_domains);
                public unowned string get_client_id ();
                public unowned string get_password ();
+               [Version (since = "0.15.0")]
                public unowned GLib.ProxyResolver get_proxy_resolver ();
-               [Deprecated]
+               [Version (deprecated = true, since = "0.9.0")]
                public Soup.URI get_proxy_uri ();
                public uint get_timeout ();
                public unowned string get_username ();
+               [Version (since = "0.15.0")]
                public void set_proxy_resolver (GLib.ProxyResolver? proxy_resolver);
-               [Deprecated]
+               [Version (deprecated = true, since = "0.9.0")]
                public void set_proxy_uri (Soup.URI? proxy_uri);
                public void set_timeout (uint timeout);
                public string client_id { get; construct; }
                public string password { get; }
+               [Version (since = "0.15.0")]
                public GLib.ProxyResolver proxy_resolver { get; set; }
-               [Deprecated]
+               [Version (deprecated = true, since = "0.9.0")]
                public Soup.URI proxy_uri { owned get; set; }
                public uint timeout { get; set; }
                public string username { get; }
                public signal string captcha_challenge (string uri);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_comment_get_type ()")]
+       [Version (since = "0.10.0")]
        public abstract class Comment : GData.Entry {
                [CCode (has_construct_function = false)]
                protected Comment ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_contacts_contact_get_type ()")]
+       [Version (since = "0.2.0")]
        public class ContactsContact : GData.Entry {
                [CCode (has_construct_function = false)]
                public ContactsContact (string? id);
+               [Version (since = "0.7.0")]
                public void add_calendar (GData.GContactCalendar calendar);
                public void add_email_address (GData.GDEmailAddress email_address);
+               [Version (since = "0.7.0")]
                public void add_event (GData.GContactEvent event);
+               [Version (since = "0.7.0")]
                public void add_external_id (GData.GContactExternalID external_id);
                public void add_group (string href);
+               [Version (since = "0.7.0")]
                public void add_hobby (string hobby);
                public void add_im_address (GData.GDIMAddress im_address);
+               [Version (since = "0.7.0")]
                public void add_jot (GData.GContactJot jot);
+               [Version (since = "0.7.0")]
                public void add_language (GData.GContactLanguage language);
                public void add_organization (GData.GDOrganization organization);
                public void add_phone_number (GData.GDPhoneNumber phone_number);
                public void add_postal_address (GData.GDPostalAddress postal_address);
+               [Version (since = "0.7.0")]
                public void add_relation (GData.GContactRelation relation);
+               [Version (since = "0.7.0")]
                public void add_website (GData.GContactWebsite website);
+               [Version (since = "0.7.0")]
                public unowned string get_billing_information ();
+               [Version (since = "0.7.0")]
                public bool get_birthday (out GLib.Date birthday);
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.GContactCalendar> get_calendars ();
+               [Version (since = "0.7.0")]
                public unowned string get_directory_server ();
                public int64 get_edited ();
                public unowned GLib.List<GData.GDEmailAddress> get_email_addresses ();
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.GContactEvent> get_events ();
+               [Version (since = "0.4.0")]
                public unowned GLib.HashTable<void*,void*> get_extended_properties ();
                public unowned string get_extended_property (string name);
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.GContactExternalID> get_external_ids ();
+               [Version (since = "0.11.0")]
                public unowned string get_file_as ();
+               [Version (since = "0.7.0")]
                public unowned string get_gender ();
                public GLib.List<weak string> get_groups ();
+               [Version (since = "0.7.0")]
                public unowned GLib.List<string> get_hobbies ();
                public unowned GLib.List<GData.GDIMAddress> get_im_addresses ();
+               [Version (since = "0.7.0")]
                public unowned string get_initials ();
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.GContactJot> get_jots ();
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.GContactLanguage> get_languages ();
+               [Version (since = "0.7.0")]
                public unowned string get_maiden_name ();
+               [Version (since = "0.7.0")]
                public unowned string get_mileage ();
+               [Version (since = "0.5.0")]
                public unowned GData.GDName get_name ();
+               [Version (since = "0.7.0")]
                public unowned string get_nickname ();
+               [Version (since = "0.7.0")]
                public unowned string get_occupation ();
                public unowned GLib.List<GData.GDOrganization> get_organizations ();
                public unowned GLib.List<GData.GDPhoneNumber> get_phone_numbers ();
                [CCode (array_length_pos = 1.5, array_length_type = "gsize")]
+               [Version (since = "0.8.0")]
                public uint8[] get_photo (GData.ContactsService service, out string content_type, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (array_length_pos = 1.1)]
+               [Version (since = "0.8.0")]
                public async uint8[] get_photo_async (GData.ContactsService service, out string content_type) 
throws GLib.Error;
+               [Version (since = "0.9.0")]
                public unowned string get_photo_etag ();
                public unowned GLib.List<GData.GDPostalAddress> get_postal_addresses ();
+               [Version (since = "0.7.0")]
                public unowned GData.GContactCalendar get_primary_calendar ();
                public unowned GData.GDEmailAddress get_primary_email_address ();
                public unowned GData.GDIMAddress get_primary_im_address ();
                public unowned GData.GDOrganization get_primary_organization ();
                public unowned GData.GDPhoneNumber get_primary_phone_number ();
                public unowned GData.GDPostalAddress get_primary_postal_address ();
+               [Version (since = "0.7.0")]
                public unowned GData.GContactWebsite get_primary_website ();
+               [Version (since = "0.7.0")]
                public unowned string get_priority ();
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.GContactRelation> get_relations ();
+               [Version (since = "0.7.0")]
                public unowned string get_sensitivity ();
+               [Version (since = "0.7.0")]
                public unowned string get_short_name ();
+               [Version (since = "0.7.0")]
                public unowned string get_subject ();
+               [Version (since = "0.7.0")]
                public unowned string get_user_defined_field (string name);
+               [Version (since = "0.7.0")]
                public unowned GLib.HashTable<void*,void*> get_user_defined_fields ();
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.GContactWebsite> get_websites ();
                public bool is_deleted ();
                public bool is_group_deleted (string href);
+               [Version (since = "0.7.0")]
                public void remove_all_calendars ();
+               [Version (since = "0.4.0")]
                public void remove_all_email_addresses ();
+               [Version (since = "0.7.0")]
                public void remove_all_events ();
+               [Version (since = "0.7.0")]
                public void remove_all_external_ids ();
+               [Version (since = "0.7.0")]
                public void remove_all_hobbies ();
+               [Version (since = "0.4.0")]
                public void remove_all_im_addresses ();
+               [Version (since = "0.7.0")]
                public void remove_all_jots ();
+               [Version (since = "0.7.0")]
                public void remove_all_languages ();
+               [Version (since = "0.4.0")]
                public void remove_all_organizations ();
+               [Version (since = "0.4.0")]
                public void remove_all_phone_numbers ();
+               [Version (since = "0.4.0")]
                public void remove_all_postal_addresses ();
+               [Version (since = "0.7.0")]
                public void remove_all_relations ();
+               [Version (since = "0.7.0")]
                public void remove_all_websites ();
                public void remove_group (string href);
+               [Version (since = "0.7.0")]
                public void set_billing_information (string? billing_information);
+               [Version (since = "0.7.0")]
                public void set_birthday (GLib.Date? birthday, bool birthday_has_year);
+               [Version (since = "0.7.0")]
                public void set_directory_server (string? directory_server);
                public bool set_extended_property (string name, string? value);
+               [Version (since = "0.7.0")]
                public void set_file_as (string? file_as);
+               [Version (since = "0.7.0")]
                public void set_gender (string? gender);
+               [Version (since = "0.7.0")]
                public void set_initials (string? initials);
+               [Version (since = "0.7.0")]
                public void set_maiden_name (string? maiden_name);
+               [Version (since = "0.7.0")]
                public void set_mileage (string? mileage);
+               [Version (since = "0.7.0")]
                public void set_name (GData.GDName name);
+               [Version (since = "0.7.0")]
                public void set_nickname (string? nickname);
+               [Version (since = "0.7.0")]
                public void set_occupation (string? occupation);
+               [Version (since = "0.8.0")]
                public bool set_photo (GData.ContactsService service, uint8? data, size_t length, string? 
content_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public async bool set_photo_async (GData.ContactsService service, uint8? data, size_t length, 
string? content_type, GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.7.0")]
                public void set_priority (string? priority);
+               [Version (since = "0.7.0")]
                public void set_sensitivity (string? sensitivity);
+               [Version (since = "0.7.0")]
                public void set_short_name (string? short_name);
+               [Version (since = "0.7.0")]
                public void set_subject (string? subject);
+               [Version (since = "0.7.0")]
                public void set_user_defined_field (string name, string? value);
+               [Version (since = "0.7.0")]
                public string billing_information { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.7.0")]
                public GLib.Date birthday { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.7.0")]
                public bool birthday_has_year { get; set; }
                [NoAccessorMethod]
                public bool deleted { get; }
+               [Version (since = "0.7.0")]
                public string directory_server { get; set; }
                public int64 edited { get; }
+               [Version (since = "0.11.0")]
                public string file_as { get; set; }
+               [Version (since = "0.7.0")]
                public string gender { get; set; }
+               [Version (since = "0.7.0")]
                public string initials { get; set; }
+               [Version (since = "0.7.0")]
                public string maiden_name { get; set; }
+               [Version (since = "0.7.0")]
                public string mileage { get; set; }
+               [Version (since = "0.5.0")]
                public GData.GDName name { get; set; }
+               [Version (since = "0.7.0")]
                public string nickname { get; set; }
+               [Version (since = "0.7.0")]
                public string occupation { get; set; }
+               [Version (since = "0.9.0")]
                public string photo_etag { get; }
+               [Version (since = "0.7.0")]
                public string priority { get; set; }
+               [Version (since = "0.7.0")]
                public string sensitivity { get; set; }
+               [Version (since = "0.7.0")]
                public string short_name { get; set; }
+               [Version (since = "0.7.0")]
                public string subject { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_contacts_group_get_type ()")]
+       [Version (since = "0.7.0")]
        public class ContactsGroup : GData.Entry {
                [CCode (has_construct_function = false)]
                public ContactsGroup (string? id);
@@ -470,6 +659,7 @@ namespace GData {
                public string system_group_id { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_contacts_query_get_type ()")]
+       [Version (since = "0.2.0")]
        public class ContactsQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public ContactsQuery (string? q);
@@ -489,78 +679,103 @@ namespace GData {
                public string sort_order { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_contacts_service_get_type ()")]
+       [Version (since = "0.2.0")]
        public class ContactsService : GData.Service, GData.Batchable {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.9.0")]
                public ContactsService (GData.Authorizer? authorizer);
+               [Version (since = "0.9.0")]
                public static unowned GData.AuthorizationDomain get_primary_authorization_domain ();
                public GData.ContactsContact insert_contact (GData.ContactsContact contact, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "0.7.0")]
                public async void insert_contact_async (GData.ContactsContact contact, GLib.Cancellable? 
cancellable);
+               [Version (since = "0.7.0")]
                public GData.ContactsGroup insert_group (GData.ContactsGroup group, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "0.7.0")]
                public async void insert_group_async (GData.ContactsGroup group, GLib.Cancellable? 
cancellable);
                public GData.Feed query_contacts (GData.Query? query, GLib.Cancellable? cancellable, 
GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_contacts_async (GData.Query? query, GLib.Cancellable? cancellable, 
owned GData.QueryProgressCallback? progress_callback);
+               [Version (since = "0.7.0")]
                public GData.Feed query_groups (GData.Query? query, GLib.Cancellable? cancellable, 
GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_groups_async (GData.Query? query, GLib.Cancellable? cancellable, 
owned GData.QueryProgressCallback? progress_callback);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_document_get_type ()")]
+       [Version (since = "0.7.0")]
        public class DocumentsDocument : GData.DocumentsEntry, GData.AccessHandler {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.13.0")]
                public DocumentsDocument (string? id);
+               [Version (since = "0.8.0")]
                public GData.DownloadStream download (GData.DocumentsService service, string export_format, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public string get_download_uri (string export_format);
+               [Version (since = "0.13.1")]
                public unowned string get_thumbnail_uri ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_drawing_get_type ()")]
+       [Version (since = "0.13.1")]
        public class DocumentsDrawing : GData.DocumentsDocument, GData.AccessHandler {
                [CCode (has_construct_function = false)]
                public DocumentsDrawing (string? id);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_entry_get_type ()")]
+       [Version (since = "0.4.0")]
        public abstract class DocumentsEntry : GData.Entry, GData.AccessHandler {
                [CCode (has_construct_function = false)]
                protected DocumentsEntry ();
-               [Deprecated]
+               [Version (deprecated = true, since = "0.4.0")]
                public unowned string get_document_id ();
                public int64 get_edited ();
                public unowned GData.Author get_last_modified_by ();
                public int64 get_last_viewed ();
                public string get_path ();
+               [Version (since = "0.13.0")]
                public int64 get_quota_used ();
+               [Version (since = "0.11.0")]
                public unowned string get_resource_id ();
                public void set_writers_can_invite (bool writers_can_invite);
-               [Deprecated]
+               [Version (deprecated = true, since = "0.4.0")]
                public string document_id { get; }
                public int64 edited { get; }
                [NoAccessorMethod]
+               [Version (since = "0.5.0")]
                public bool is_deleted { get; set; }
                public GData.Author last_modified_by { get; }
                public int64 last_viewed { get; }
+               [Version (since = "0.13.0")]
                public int64 quota_used { get; }
+               [Version (since = "0.11.0")]
                public string resource_id { get; }
                [NoAccessorMethod]
                public bool writers_can_invite { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_feed_get_type ()")]
+       [Version (since = "0.4.0")]
        public class DocumentsFeed : GData.Feed {
                [CCode (has_construct_function = false)]
                protected DocumentsFeed ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_folder_get_type ()")]
+       [Version (since = "0.4.0")]
        public class DocumentsFolder : GData.DocumentsEntry, GData.AccessHandler {
                [CCode (has_construct_function = false)]
                public DocumentsFolder (string? id);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_pdf_get_type ()")]
+       [Version (since = "0.13.3")]
        public class DocumentsPdf : GData.DocumentsDocument, GData.AccessHandler {
                [CCode (has_construct_function = false)]
                public DocumentsPdf (string? id);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_presentation_get_type ()")]
+       [Version (since = "0.4.0")]
        public class DocumentsPresentation : GData.DocumentsDocument, GData.AccessHandler {
                [CCode (has_construct_function = false)]
                public DocumentsPresentation (string? id);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_query_get_type ()")]
+       [Version (since = "0.4.0")]
        public class DocumentsQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public DocumentsQuery (string? q);
@@ -588,38 +803,59 @@ namespace GData {
                public string title { owned get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_service_get_type ()")]
+       [Version (since = "0.4.0")]
        public class DocumentsService : GData.Service, GData.Batchable {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.9.0")]
                public DocumentsService (GData.Authorizer? authorizer);
+               [Version (since = "0.8.0")]
                public GData.DocumentsEntry add_entry_to_folder (GData.DocumentsEntry entry, 
GData.DocumentsFolder folder, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public async GData.DocumentsEntry add_entry_to_folder_async (GData.DocumentsEntry entry, 
GData.DocumentsFolder folder, GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.13.1")]
                public GData.DocumentsDocument copy_document (GData.DocumentsDocument document, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.13.1")]
                public async GData.DocumentsDocument copy_document_async (GData.DocumentsDocument document, 
GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public GData.DocumentsDocument finish_upload (GData.UploadStream upload_stream) throws 
GLib.Error;
+               [Version (since = "0.9.0")]
                public static unowned GData.AuthorizationDomain get_primary_authorization_domain ();
+               [Version (since = "0.9.0")]
                public static unowned GData.AuthorizationDomain get_spreadsheet_authorization_domain ();
+               [Version (since = "0.5.0")]
                public static string get_upload_uri (GData.DocumentsFolder? folder);
                public GData.DocumentsFeed query_documents (GData.DocumentsQuery? query, GLib.Cancellable? 
cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_documents_async (GData.DocumentsQuery? query, GLib.Cancellable? 
cancellable, owned GData.QueryProgressCallback? progress_callback);
+               [Version (since = "0.8.0")]
                public GData.DocumentsEntry remove_entry_from_folder (GData.DocumentsEntry entry, 
GData.DocumentsFolder folder, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public async GData.DocumentsEntry remove_entry_from_folder_async (GData.DocumentsEntry entry, 
GData.DocumentsFolder folder, GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public GData.UploadStream update_document (GData.DocumentsDocument document, string slug, 
string content_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.13.0")]
                public GData.UploadStream update_document_resumable (GData.DocumentsDocument document, string 
slug, string content_type, int64 content_length, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public GData.UploadStream upload_document (GData.DocumentsDocument? document, string slug, 
string content_type, GData.DocumentsFolder? folder, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.13.0")]
                public GData.UploadStream upload_document_resumable (GData.DocumentsDocument? document, 
string slug, string content_type, int64 content_length, GData.DocumentsUploadQuery? query, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_spreadsheet_get_type ()")]
+       [Version (since = "0.4.0")]
        public class DocumentsSpreadsheet : GData.DocumentsDocument, GData.AccessHandler {
                [CCode (has_construct_function = false)]
                public DocumentsSpreadsheet (string? id);
+               [Version (since = "0.5.0")]
                public string get_download_uri (string export_format, int gid);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_text_get_type ()")]
+       [Version (since = "0.4.0")]
        public class DocumentsText : GData.DocumentsDocument, GData.AccessHandler {
                [CCode (has_construct_function = false)]
                public DocumentsText (string? id);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_documents_upload_query_get_type ()")]
+       [Version (since = "0.13.0")]
        public class DocumentsUploadQuery : GLib.Object {
                [CCode (has_construct_function = false)]
                public DocumentsUploadQuery ();
@@ -632,16 +868,22 @@ namespace GData {
                public GData.DocumentsFolder folder { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_download_stream_get_type ()")]
+       [Version (since = "0.5.0")]
        public class DownloadStream : GLib.InputStream, GLib.Seekable {
                [CCode (has_construct_function = false, type = "GInputStream*")]
+               [Version (since = "0.9.0")]
                public DownloadStream (GData.Service service, GData.AuthorizationDomain? domain, string 
download_uri, GLib.Cancellable? cancellable = null);
+               [Version (since = "0.9.0")]
                public unowned GData.AuthorizationDomain get_authorization_domain ();
+               [Version (since = "0.8.0")]
                public unowned GLib.Cancellable get_cancellable ();
                public ssize_t get_content_length ();
                public unowned string get_content_type ();
                public unowned string get_download_uri ();
                public unowned GData.Service get_service ();
+               [Version (since = "0.9.0")]
                public GData.AuthorizationDomain authorization_domain { get; construct; }
+               [Version (since = "0.8.0")]
                public GLib.Cancellable cancellable { get; construct; }
                public long content_length { get; }
                public string content_type { get; }
@@ -655,33 +897,49 @@ namespace GData {
                public void add_author (GData.Author author);
                public void add_category (GData.Category category);
                public void add_link (GData.Link _link);
+               [Version (since = "0.7.0")]
                public unowned GLib.List<GData.Author> get_authors ();
+               [Version (since = "0.2.0")]
                public unowned GLib.List<GData.Category> get_categories ();
                public unowned string get_content ();
+               [Version (since = "0.7.0")]
                public unowned string get_content_uri ();
+               [Version (since = "0.2.0")]
                public unowned string get_etag ();
                public unowned string get_id ();
                public int64 get_published ();
+               [Version (since = "0.5.0")]
                public unowned string get_rights ();
+               [Version (since = "0.4.0")]
                public unowned string get_summary ();
                public unowned string get_title ();
                public int64 get_updated ();
+               [Version (since = "0.1.1")]
                public unowned GData.Link look_up_link (string rel);
+               [Version (since = "0.4.0")]
                public GLib.List<weak GData.Link> look_up_links (string rel);
+               [Version (since = "0.10.0")]
                public bool remove_link (GData.Link _link);
                public void set_content (string? content);
+               [Version (since = "0.7.0")]
                public void set_content_uri (string? content_uri);
+               [Version (since = "0.5.0")]
                public void set_rights (string? rights);
+               [Version (since = "0.4.0")]
                public void set_summary (string? summary);
                public void set_title (string? title);
                public string content { get; set; }
+               [Version (since = "0.7.0")]
                public string content_uri { get; set; }
+               [Version (since = "0.2.0")]
                public string etag { get; construct; }
                public string id { get; construct; }
                [NoAccessorMethod]
                public bool is_inserted { get; }
                public int64 published { get; }
+               [Version (since = "0.5.0")]
                public string rights { get; set; }
+               [Version (since = "0.4.0")]
                public string summary { get; set; }
                public string title { get; set; }
                public int64 updated { get; }
@@ -693,27 +951,35 @@ namespace GData {
                public unowned GLib.List<GData.Author> get_authors ();
                public unowned GLib.List<GData.Category> get_categories ();
                public unowned GLib.List<GData.Entry> get_entries ();
+               [Version (since = "0.2.0")]
                public unowned string get_etag ();
                public unowned GData.Generator get_generator ();
+               [Version (since = "0.6.0")]
                public unowned string get_icon ();
                public unowned string get_id ();
                public uint get_items_per_page ();
                public unowned GLib.List<GData.Link> get_links ();
                public unowned string get_logo ();
+               [Version (since = "0.7.0")]
                public unowned string get_rights ();
                public uint get_start_index ();
                public unowned string get_subtitle ();
                public unowned string get_title ();
                public uint get_total_results ();
                public int64 get_updated ();
+               [Version (since = "0.2.0")]
                public unowned GData.Entry look_up_entry (string id);
+               [Version (since = "0.1.1")]
                public unowned GData.Link look_up_link (string rel);
+               [Version (since = "0.2.0")]
                public string etag { get; }
                public GData.Generator generator { get; }
+               [Version (since = "0.6.0")]
                public string icon { get; }
                public string id { get; }
                public uint items_per_page { get; }
                public string logo { get; }
+               [Version (since = "0.7.0")]
                public string rights { get; }
                public uint start_index { get; }
                public string subtitle { get; }
@@ -722,6 +988,7 @@ namespace GData {
                public int64 updated { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_query_get_type ()")]
+       [Version (since = "0.15.1")]
        public class FreebaseQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public FreebaseQuery (string mql);
@@ -731,6 +998,7 @@ namespace GData {
                public GLib.Variant variant { owned get; construct; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_result_get_type ()")]
+       [Version (since = "0.15.1")]
        public class FreebaseResult : GData.Entry {
                [CCode (has_construct_function = false)]
                public FreebaseResult ();
@@ -739,6 +1007,7 @@ namespace GData {
                public GLib.Variant variant { owned get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_search_query_get_type ()")]
+       [Version (since = "0.15.1")]
        public class FreebaseSearchQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public FreebaseSearchQuery (string search_terms);
@@ -754,6 +1023,7 @@ namespace GData {
                public bool stemmed { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_search_result_get_type ()")]
+       [Version (since = "0.15.1")]
        public class FreebaseSearchResult : GData.FreebaseResult {
                [CCode (has_construct_function = false)]
                public FreebaseSearchResult ();
@@ -763,6 +1033,7 @@ namespace GData {
        }
        [CCode (cheader_filename = "gdata/gdata.h")]
        [Compact]
+       [Version (since = "0.15.1")]
        public class FreebaseSearchResultItem {
                public unowned string get_id ();
                public unowned string get_language ();
@@ -773,10 +1044,12 @@ namespace GData {
                public double get_score ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_service_get_type ()")]
+       [Version (since = "0.15.1")]
        public class FreebaseService : GData.Service {
                [CCode (has_construct_function = false)]
                public FreebaseService (string? developer_key, GData.Authorizer? authorizer);
                public GLib.InputStream get_image (GData.FreebaseTopicValue value, GLib.Cancellable? 
cancellable, uint max_width, uint max_height) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public static unowned GData.AuthorizationDomain get_primary_authorization_domain ();
                public GData.FreebaseTopicResult get_topic (GData.FreebaseTopicQuery query, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public async void get_topic_async (GData.FreebaseTopicQuery query, GLib.Cancellable? 
cancellable);
@@ -789,6 +1062,7 @@ namespace GData {
        }
        [CCode (cheader_filename = "gdata/gdata.h", ref_function = "gdata_freebase_topic_object_ref", type_id 
= "gdata_freebase_topic_object_get_type ()", unref_function = "gdata_freebase_topic_object_unref")]
        [Compact]
+       [Version (since = "0.15.1")]
        public class FreebaseTopicObject {
                public unowned string get_id ();
                public uint64 get_property_count (string property);
@@ -799,6 +1073,7 @@ namespace GData {
                public void unref ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_topic_query_get_type ()")]
+       [Version (since = "0.15.1")]
        public class FreebaseTopicQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public FreebaseTopicQuery (string id);
@@ -812,6 +1087,7 @@ namespace GData {
                public string language { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_freebase_topic_result_get_type ()")]
+       [Version (since = "0.15.1")]
        public class FreebaseTopicResult : GData.FreebaseResult {
                [CCode (has_construct_function = false)]
                public FreebaseTopicResult ();
@@ -819,6 +1095,7 @@ namespace GData {
        }
        [CCode (cheader_filename = "gdata/gdata.h", ref_function = "gdata_freebase_topic_value_ref", type_id 
= "gdata_freebase_topic_value_get_type ()", unref_function = "gdata_freebase_topic_value_unref")]
        [Compact]
+       [Version (since = "0.15.1")]
        public class FreebaseTopicValue {
                public GLib.Value copy_value ();
                public unowned string get_creator ();
@@ -836,6 +1113,7 @@ namespace GData {
                public void unref ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gcontact_calendar_get_type ()")]
+       [Version (since = "0.7.0")]
        public class GContactCalendar : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GContactCalendar (string uri, string? relation_type, string? label, bool is_primary);
@@ -853,6 +1131,7 @@ namespace GData {
                public string uri { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gcontact_event_get_type ()")]
+       [Version (since = "0.7.0")]
        public class GContactEvent : GData.Parsable {
                [CCode (has_construct_function = false)]
                public GContactEvent (GLib.Date date, string? relation_type, string? label);
@@ -867,6 +1146,7 @@ namespace GData {
                public string relation_type { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gcontact_external_id_get_type ()")]
+       [Version (since = "0.7.0")]
        public class GContactExternalID : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GContactExternalID (string value, string? relation_type, string? label);
@@ -881,6 +1161,7 @@ namespace GData {
                public string value { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gcontact_jot_get_type ()")]
+       [Version (since = "0.7.0")]
        public class GContactJot : GData.Parsable {
                [CCode (has_construct_function = false)]
                public GContactJot (string content, string relation_type);
@@ -892,6 +1173,7 @@ namespace GData {
                public string relation_type { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gcontact_language_get_type ()")]
+       [Version (since = "0.7.0")]
        public class GContactLanguage : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GContactLanguage (string? code, string? label);
@@ -903,6 +1185,7 @@ namespace GData {
                public string label { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gcontact_relation_get_type ()")]
+       [Version (since = "0.7.0")]
        public class GContactRelation : GData.Parsable {
                [CCode (has_construct_function = false)]
                public GContactRelation (string name, string? relation_type, string? label);
@@ -917,6 +1200,7 @@ namespace GData {
                public string relation_type { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gcontact_website_get_type ()")]
+       [Version (since = "0.7.0")]
        public class GContactWebsite : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GContactWebsite (string uri, string relation_type, string? label, bool is_primary);
@@ -934,46 +1218,77 @@ namespace GData {
                public string uri { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_email_address_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDEmailAddress : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDEmailAddress (string address, string? relation_type, string? label, bool is_primary);
+               [Version (since = "0.4.0")]
                public unowned string get_address ();
+               [Version (since = "0.6.0")]
                public unowned string get_display_name ();
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.4.0")]
                public void set_address (string address);
+               [Version (since = "0.6.0")]
                public void set_display_name (string? display_name);
+               [Version (since = "0.4.0")]
                public void set_is_primary (bool is_primary);
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.4.0")]
                public string address { get; set; }
+               [Version (since = "0.6.0")]
                public string display_name { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_primary { get; set; }
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "gd_im_address", type_id = 
"gdata_gd_im_address_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDIMAddress : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDIMAddress (string address, string? protocol, string? relation_type, string? label, 
bool is_primary);
+               [Version (since = "0.4.0")]
                public unowned string get_address ();
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.4.0")]
                public unowned string get_protocol ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.4.0")]
                public void set_address (string address);
+               [Version (since = "0.4.0")]
                public void set_is_primary (bool is_primary);
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.4.0")]
                public void set_protocol (string? protocol);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.4.0")]
                public string address { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_primary { get; set; }
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.4.0")]
                public string protocol { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_name_get_type ()")]
+       [Version (since = "0.5.0")]
        public class GDName : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDName (string? given_name, string? family_name);
@@ -997,187 +1312,331 @@ namespace GData {
                public string suffix { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_organization_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDOrganization : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDOrganization (string? name, string? title, string? relation_type, string? label, 
bool is_primary);
+               [Version (since = "0.5.0")]
                public unowned string get_department ();
+               [Version (since = "0.5.0")]
                public unowned string get_job_description ();
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.6.0")]
                public unowned GData.GDWhere get_location ();
+               [Version (since = "0.4.0")]
                public unowned string get_name ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.5.0")]
                public unowned string get_symbol ();
+               [Version (since = "0.4.0")]
                public unowned string get_title ();
+               [Version (since = "0.5.0")]
                public void set_department (string? department);
+               [Version (since = "0.4.0")]
                public void set_is_primary (bool is_primary);
+               [Version (since = "0.5.0")]
                public void set_job_description (string? job_description);
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.6.0")]
                public void set_location (GData.GDWhere? location);
+               [Version (since = "0.4.0")]
                public void set_name (string? name);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.5.0")]
                public void set_symbol (string? symbol);
+               [Version (since = "0.4.0")]
                public void set_title (string? title);
+               [Version (since = "0.5.0")]
                public string department { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_primary { get; set; }
+               [Version (since = "0.5.0")]
                public string job_description { get; set; }
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.6.0")]
                public GData.GDWhere location { get; set; }
+               [Version (since = "0.4.0")]
                public string name { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
+               [Version (since = "0.5.0")]
                public string symbol { get; set; }
+               [Version (since = "0.4.0")]
                public string title { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_phone_number_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDPhoneNumber : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDPhoneNumber (string number, string? relation_type, string? label, string? uri, bool 
is_primary);
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.4.0")]
                public unowned string get_number ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.4.0")]
                public unowned string get_uri ();
+               [Version (since = "0.4.0")]
                public void set_is_primary (bool is_primary);
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.4.0")]
                public void set_number (string number);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.4.0")]
                public void set_uri (string? uri);
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_primary { get; set; }
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.4.0")]
                public string number { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
+               [Version (since = "0.4.0")]
                public string uri { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_postal_address_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDPostalAddress : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDPostalAddress (string? relation_type, string? label, bool is_primary);
+               [Version (since = "0.4.0")]
                public unowned string get_address ();
+               [Version (since = "0.5.0")]
                public unowned string get_agent ();
+               [Version (since = "0.5.0")]
                public unowned string get_city ();
+               [Version (since = "0.5.0")]
                public unowned string get_country ();
+               [Version (since = "0.5.0")]
                public unowned string get_country_code ();
+               [Version (since = "0.5.0")]
                public unowned string get_house_name ();
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.5.0")]
                public unowned string get_mail_class ();
+               [Version (since = "0.5.0")]
                public unowned string get_neighborhood ();
+               [Version (since = "0.5.0")]
                public unowned string get_po_box ();
+               [Version (since = "0.5.0")]
                public unowned string get_postcode ();
+               [Version (since = "0.5.0")]
                public unowned string get_region ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.5.0")]
                public unowned string get_street ();
+               [Version (since = "0.5.0")]
                public unowned string get_subregion ();
+               [Version (since = "0.5.0")]
                public unowned string get_usage ();
+               [Version (since = "0.4.0")]
                public void set_address (string? address);
+               [Version (since = "0.5.0")]
                public void set_agent (string? agent);
+               [Version (since = "0.5.0")]
                public void set_city (string? city);
+               [Version (since = "0.5.0")]
                public void set_country (string? country, string? country_code);
+               [Version (since = "0.5.0")]
                public void set_house_name (string? house_name);
+               [Version (since = "0.4.0")]
                public void set_is_primary (bool is_primary);
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.5.0")]
                public void set_mail_class (string? mail_class);
+               [Version (since = "0.5.0")]
                public void set_neighborhood (string? neighborhood);
+               [Version (since = "0.5.0")]
                public void set_po_box (string? po_box);
+               [Version (since = "0.5.0")]
                public void set_postcode (string? postcode);
+               [Version (since = "0.5.0")]
                public void set_region (string? region);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.5.0")]
                public void set_street (string? street);
+               [Version (since = "0.5.0")]
                public void set_subregion (string? subregion);
+               [Version (since = "0.5.0")]
                public void set_usage (string? usage);
+               [Version (since = "0.4.0")]
                public string address { get; set; }
+               [Version (since = "0.5.0")]
                public string agent { get; set; }
+               [Version (since = "0.5.0")]
                public string city { get; set; }
+               [Version (since = "0.5.0")]
                public string country { get; }
+               [Version (since = "0.5.0")]
                public string country_code { get; }
+               [Version (since = "0.5.0")]
                public string house_name { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_primary { get; set; }
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.5.0")]
                public string mail_class { get; set; }
+               [Version (since = "0.5.0")]
                public string neighborhood { get; set; }
+               [Version (since = "0.5.0")]
                public string po_box { get; set; }
+               [Version (since = "0.5.0")]
                public string postcode { get; set; }
+               [Version (since = "0.5.0")]
                public string region { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
+               [Version (since = "0.5.0")]
                public string street { get; set; }
+               [Version (since = "0.5.0")]
                public string subregion { get; set; }
+               [Version (since = "0.5.0")]
                public string usage { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_reminder_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDReminder : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDReminder (string? method, int64 absolute_time, int relative_time);
+               [Version (since = "0.4.0")]
                public int64 get_absolute_time ();
+               [Version (since = "0.4.0")]
                public unowned string get_method ();
+               [Version (since = "0.4.0")]
                public int get_relative_time ();
+               [Version (since = "0.4.0")]
                public void set_absolute_time (int64 absolute_time);
+               [Version (since = "0.4.0")]
                public void set_method (string? method);
+               [Version (since = "0.4.0")]
                public void set_relative_time (int relative_time);
+               [Version (since = "0.4.0")]
                public int64 absolute_time { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_absolute_time { get; }
+               [Version (since = "0.4.0")]
                public string method { get; set; }
+               [Version (since = "0.4.0")]
                public int relative_time { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_when_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDWhen : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDWhen (int64 start_time, int64 end_time, bool is_date);
+               [Version (since = "0.7.0")]
                public void add_reminder (GData.GDReminder reminder);
+               [Version (since = "0.4.0")]
                public int64 get_end_time ();
+               [Version (since = "0.4.0")]
                public unowned GLib.List<GData.GDReminder> get_reminders ();
+               [Version (since = "0.4.0")]
                public int64 get_start_time ();
+               [Version (since = "0.4.0")]
                public unowned string get_value_string ();
+               [Version (since = "0.4.0")]
                public void set_end_time (int64 end_time);
+               [Version (since = "0.4.0")]
                public void set_is_date (bool is_date);
+               [Version (since = "0.4.0")]
                public void set_start_time (int64 start_time);
+               [Version (since = "0.4.0")]
                public void set_value_string (string? value_string);
+               [Version (since = "0.4.0")]
                public int64 end_time { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_date { get; set; }
+               [Version (since = "0.4.0")]
                public int64 start_time { get; set; }
+               [Version (since = "0.4.0")]
                public string value_string { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_where_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDWhere : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDWhere (string? relation_type, string? value_string, string? label);
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.4.0")]
                public unowned string get_value_string ();
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.4.0")]
                public void set_value_string (string? value_string);
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
+               [Version (since = "0.4.0")]
                public string value_string { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_gd_who_get_type ()")]
+       [Version (since = "0.2.0")]
        public class GDWho : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public GDWho (string? relation_type, string? value_string, string? email_address);
+               [Version (since = "0.4.0")]
                public unowned string get_email_address ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.4.0")]
                public unowned string get_value_string ();
+               [Version (since = "0.4.0")]
                public void set_email_address (string? email_address);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.4.0")]
                public void set_value_string (string? value_string);
+               [Version (since = "0.4.0")]
                public string email_address { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
+               [Version (since = "0.4.0")]
                public string value_string { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_generator_get_type ()")]
        public class Generator : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                protected Generator ();
+               [Version (since = "0.4.0")]
                public unowned string get_name ();
+               [Version (since = "0.4.0")]
                public unowned string get_uri ();
+               [Version (since = "0.4.0")]
                public unowned string get_version ();
+               [Version (since = "0.4.0")]
                public string name { get; }
+               [Version (since = "0.4.0")]
                public string uri { get; }
+               [Version (since = "0.4.0")]
                public string version { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_goa_authorizer_get_type ()")]
+       [Version (since = "0.13.1")]
        public class GoaAuthorizer : GLib.Object, GData.Authorizer {
                [CCode (has_construct_function = false)]
                public GoaAuthorizer (Goa.Object goa_object);
@@ -1188,89 +1647,150 @@ namespace GData {
        public class Link : GData.Parsable, GData.Comparable {
                [CCode (has_construct_function = false)]
                public Link (string uri, string? relation_type);
+               [Version (since = "0.4.0")]
                public unowned string get_content_type ();
+               [Version (since = "0.4.0")]
                public unowned string get_language ();
+               [Version (since = "0.4.0")]
                public int get_length ();
+               [Version (since = "0.4.0")]
                public unowned string get_relation_type ();
+               [Version (since = "0.4.0")]
                public unowned string get_title ();
+               [Version (since = "0.4.0")]
                public unowned string get_uri ();
+               [Version (since = "0.4.0")]
                public void set_content_type (string? content_type);
+               [Version (since = "0.4.0")]
                public void set_language (string? language);
+               [Version (since = "0.4.0")]
                public void set_length (int length);
+               [Version (since = "0.4.0")]
                public void set_relation_type (string? relation_type);
+               [Version (since = "0.4.0")]
                public void set_title (string? title);
+               [Version (since = "0.4.0")]
                public void set_uri (string uri);
+               [Version (since = "0.4.0")]
                public string content_type { get; set; }
+               [Version (since = "0.4.0")]
                public string language { get; set; }
+               [Version (since = "0.4.0")]
                public int length { get; set; }
+               [Version (since = "0.4.0")]
                public string relation_type { get; set; }
+               [Version (since = "0.4.0")]
                public string title { get; set; }
+               [Version (since = "0.4.0")]
                public string uri { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_media_category_get_type ()")]
        public class MediaCategory : GData.Parsable {
                [CCode (has_construct_function = false)]
                public MediaCategory (string category, string? scheme, string? label);
+               [Version (since = "0.4.0")]
                public unowned string get_category ();
+               [Version (since = "0.4.0")]
                public unowned string get_label ();
+               [Version (since = "0.4.0")]
                public unowned string get_scheme ();
+               [Version (since = "0.4.0")]
                public void set_category (string category);
+               [Version (since = "0.4.0")]
                public void set_label (string? label);
+               [Version (since = "0.4.0")]
                public void set_scheme (string? scheme);
+               [Version (since = "0.4.0")]
                public string category { get; set; }
+               [Version (since = "0.4.0")]
                public string label { get; set; }
+               [Version (since = "0.4.0")]
                public string scheme { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_media_content_get_type ()")]
        public class MediaContent : GData.Parsable {
                [CCode (has_construct_function = false)]
                protected MediaContent ();
+               [Version (since = "0.8.0")]
                public GData.DownloadStream download (GData.Service service, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
+               [Version (since = "0.4.0")]
                public unowned string get_content_type ();
+               [Version (since = "0.4.0")]
                public int64 get_duration ();
+               [Version (since = "0.4.0")]
                public GData.MediaExpression get_expression ();
+               [Version (since = "0.4.0")]
                public size_t get_filesize ();
+               [Version (since = "0.4.0")]
                public uint get_height ();
+               [Version (since = "0.4.0")]
                public GData.MediaMedium get_medium ();
+               [Version (since = "0.4.0")]
                public unowned string get_uri ();
+               [Version (since = "0.4.0")]
                public uint get_width ();
+               [Version (since = "0.4.0")]
                public string content_type { get; }
+               [Version (since = "0.4.0")]
                public int64 duration { get; }
+               [Version (since = "0.4.0")]
                public GData.MediaExpression expression { get; }
+               [Version (since = "0.4.0")]
                public ulong filesize { get; }
+               [Version (since = "0.4.0")]
                public uint height { get; }
                [NoAccessorMethod]
+               [Version (since = "0.4.0")]
                public bool is_default { get; }
+               [Version (since = "0.4.0")]
                public GData.MediaMedium medium { get; }
+               [Version (since = "0.4.0")]
                public string uri { get; }
+               [Version (since = "0.4.0")]
                public uint width { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_media_credit_get_type ()")]
        public class MediaCredit : GData.Parsable {
                [CCode (has_construct_function = false)]
                protected MediaCredit ();
+               [Version (since = "0.4.0")]
                public unowned string get_credit ();
+               [Version (since = "0.4.0")]
                public unowned string get_role ();
+               [Version (since = "0.4.0")]
                public unowned string get_scheme ();
+               [Version (since = "0.4.0")]
                public string credit { get; }
+               [Version (since = "0.4.0")]
                public string role { get; }
+               [Version (since = "0.4.0")]
                public string scheme { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_media_thumbnail_get_type ()")]
        public class MediaThumbnail : GData.Parsable {
                [CCode (has_construct_function = false)]
                protected MediaThumbnail ();
+               [Version (since = "0.8.0")]
                public GData.DownloadStream download (GData.Service service, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
+               [Version (since = "0.4.0")]
                public uint get_height ();
+               [Version (since = "0.4.0")]
                public int64 get_time ();
+               [Version (since = "0.4.0")]
                public unowned string get_uri ();
+               [Version (since = "0.4.0")]
                public uint get_width ();
+               [Version (since = "0.4.0")]
                public uint height { get; }
+               [Version (since = "0.4.0")]
                public int64 time { get; }
+               [Version (since = "0.4.0")]
                public string uri { get; }
+               [Version (since = "0.4.0")]
                public uint width { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_oauth1_authorizer_get_type ()")]
+       [Version (since = "0.9.0")]
        public class OAuth1Authorizer : GLib.Object, GData.Authorizer {
                [CCode (has_construct_function = false)]
                public OAuth1Authorizer (string? application_name, GLib.Type service_type);
@@ -1278,8 +1798,9 @@ namespace GData {
                public OAuth1Authorizer.for_authorization_domains (string? application_name, 
GLib.List<GData.AuthorizationDomain> authorization_domains);
                public unowned string get_application_name ();
                public unowned string get_locale ();
+               [Version (since = "0.15.0")]
                public unowned GLib.ProxyResolver get_proxy_resolver ();
-               [Deprecated]
+               [Version (deprecated = true, since = "0.9.0")]
                public Soup.URI get_proxy_uri ();
                public uint get_timeout ();
                public string request_authentication_uri (out string token, out string token_secret, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -1287,14 +1808,16 @@ namespace GData {
                public bool request_authorization (string token, string token_secret, string verifier, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool request_authorization_async (string token, string token_secret, string 
verifier, GLib.Cancellable? cancellable) throws GLib.Error;
                public void set_locale (string? locale);
+               [Version (since = "0.15.0")]
                public void set_proxy_resolver (GLib.ProxyResolver? proxy_resolver);
-               [Deprecated]
+               [Version (deprecated = true, since = "0.9.0")]
                public void set_proxy_uri (Soup.URI? proxy_uri);
                public void set_timeout (uint timeout);
                public string application_name { get; construct; }
                public string locale { get; set; }
+               [Version (since = "0.15.0")]
                public GLib.ProxyResolver proxy_resolver { get; set; }
-               [Deprecated]
+               [Version (deprecated = true, since = "0.9.0")]
                public Soup.URI proxy_uri { owned get; set; }
                public uint timeout { get; set; }
        }
@@ -1324,16 +1847,20 @@ namespace GData {
                public uint timeout { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_parsable_get_type ()")]
+       [Version (since = "0.3.0")]
        public abstract class Parsable : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Parsable ();
                [CCode (has_construct_function = false)]
+               [Version (since = "0.15.0")]
                public Parsable.from_json (GLib.Type parsable_type, string json, int length) throws 
GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "0.4.0")]
                public Parsable.from_xml (GLib.Type parsable_type, string xml, int length) throws GLib.Error;
                [NoWrapper]
                public virtual void get_json (Json.Builder builder);
                [CCode (cname = "gdata_parsable_get_json")]
+               [Version (since = "0.15.0")]
                public string get_json_string ();
                [NoWrapper]
                public virtual void get_namespaces (GLib.HashTable<void*,void*> namespaces);
@@ -1352,17 +1879,21 @@ namespace GData {
                [NoWrapper]
                public virtual bool pre_parse_xml (Xml.Doc doc, Xml.Node root_node) throws GLib.Error;
                [NoAccessorMethod]
+               [Version (since = "0.7.0")]
                public bool constructed_from_xml { get; construct; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "picasaweb_album", type_id = 
"gdata_picasaweb_album_get_type ()")]
+       [Version (since = "0.4.0")]
        public class PicasaWebAlbum : GData.Entry {
                [CCode (has_construct_function = false)]
                public PicasaWebAlbum (string? id);
                public long get_bytes_used ();
                public uint get_comment_count ();
                public unowned GLib.List<GData.MediaContent> get_contents ();
+               [Version (since = "0.5.0")]
                public void get_coordinates (out double latitude, out double longitude);
                public int64 get_edited ();
+               [Version (since = "0.7.0")]
                public unowned string get_id ();
                public unowned string get_location ();
                public unowned string get_nickname ();
@@ -1374,6 +1905,7 @@ namespace GData {
                public int64 get_timestamp ();
                public unowned string get_user ();
                public GData.PicasaWebVisibility get_visibility ();
+               [Version (since = "0.5.0")]
                public void set_coordinates (double latitude, double longitude);
                public void set_is_commenting_enabled (bool is_commenting_enabled);
                public void set_location (string? location);
@@ -1381,6 +1913,7 @@ namespace GData {
                public void set_timestamp (int64 timestamp);
                public void set_visibility (GData.PicasaWebVisibility visibility);
                [NoAccessorMethod]
+               [Version (since = "0.7.0")]
                public string album_id { owned get; construct; }
                public long bytes_used { get; }
                public uint comment_count { get; }
@@ -1388,9 +1921,11 @@ namespace GData {
                [NoAccessorMethod]
                public bool is_commenting_enabled { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.0")]
                public double latitude { get; set; }
                public string location { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.0")]
                public double longitude { get; set; }
                public string nickname { get; }
                public uint num_photos { get; }
@@ -1402,16 +1937,19 @@ namespace GData {
                public GData.PicasaWebVisibility visibility { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "picasaweb_comment", type_id = 
"gdata_picasaweb_comment_get_type ()")]
+       [Version (since = "0.10.0")]
        public class PicasaWebComment : GData.Comment {
                [CCode (has_construct_function = false)]
                public PicasaWebComment (string id);
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "picasaweb_feed", type_id = 
"gdata_picasaweb_feed_get_type ()")]
+       [Version (since = "0.6.0")]
        public class PicasaWebFeed : GData.Feed {
                [CCode (has_construct_function = false)]
                protected PicasaWebFeed ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "picasaweb_file", type_id = 
"gdata_picasaweb_file_get_type ()")]
+       [Version (since = "0.4.0")]
        public class PicasaWebFile : GData.Entry, GData.Commentable {
                [CCode (has_construct_function = false)]
                public PicasaWebFile (string? id);
@@ -1420,19 +1958,30 @@ namespace GData {
                public unowned string get_checksum ();
                public uint get_comment_count ();
                public unowned GLib.List<GData.MediaContent> get_contents ();
+               [Version (since = "0.5.0")]
                public void get_coordinates (out double latitude, out double longitude);
                public unowned string get_credit ();
+               [Version (since = "0.5.0")]
                public double get_distance ();
                public int64 get_edited ();
+               [Version (since = "0.5.0")]
                public double get_exposure ();
+               [Version (since = "0.5.0")]
                public bool get_flash ();
+               [Version (since = "0.5.0")]
                public double get_focal_length ();
+               [Version (since = "0.5.0")]
                public double get_fstop ();
                public uint get_height ();
+               [Version (since = "0.7.0")]
                public unowned string get_id ();
+               [Version (since = "0.5.0")]
                public unowned string get_image_unique_id ();
+               [Version (since = "0.5.0")]
                public int get_iso ();
+               [Version (since = "0.5.0")]
                public unowned string get_make ();
+               [Version (since = "0.5.0")]
                public unowned string get_model ();
                public uint get_rotation ();
                public size_t get_size ();
@@ -1446,6 +1995,7 @@ namespace GData {
                public void set_album_id (string album_id);
                public void set_caption (string? caption);
                public void set_checksum (string? checksum);
+               [Version (since = "0.5.0")]
                public void set_coordinates (double latitude, double longitude);
                public void set_is_commenting_enabled (bool is_commenting_enabled);
                public void set_rotation (uint rotation);
@@ -1456,24 +2006,36 @@ namespace GData {
                public string checksum { get; set; }
                public uint comment_count { get; }
                public string credit { get; }
+               [Version (since = "0.5.0")]
                public double distance { get; }
                public int64 edited { get; }
+               [Version (since = "0.5.0")]
                public double exposure { get; }
                [NoAccessorMethod]
+               [Version (since = "0.7.0")]
                public string file_id { owned get; construct; }
+               [Version (since = "0.5.0")]
                public bool flash { get; }
+               [Version (since = "0.5.0")]
                public double focal_length { get; }
+               [Version (since = "0.5.0")]
                public double fstop { get; }
                public uint height { get; }
+               [Version (since = "0.5.0")]
                public string image_unique_id { get; }
                [NoAccessorMethod]
                public bool is_commenting_enabled { get; set; }
+               [Version (since = "0.5.0")]
                public long iso { get; }
                [NoAccessorMethod]
+               [Version (since = "0.5.0")]
                public double latitude { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.0")]
                public double longitude { get; set; }
+               [Version (since = "0.5.0")]
                public string make { get; }
+               [Version (since = "0.5.0")]
                public string model { get; }
                public uint rotation { get; set; }
                public ulong size { get; }
@@ -1485,6 +2047,7 @@ namespace GData {
                public uint width { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "picasaweb_query", type_id = 
"gdata_picasaweb_query_get_type ()")]
+       [Version (since = "0.4.0")]
        public class PicasaWebQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public PicasaWebQuery (string? q);
@@ -1501,6 +2064,7 @@ namespace GData {
                public void set_thumbnail_size (string? thumbnail_size);
                public void set_visibility (GData.PicasaWebVisibility visibility);
                [CCode (has_construct_function = false)]
+               [Version (since = "0.6.0")]
                public PicasaWebQuery.with_limits (string? q, uint start_index, uint max_results);
                public string image_size { get; set; }
                public string location { get; set; }
@@ -1509,22 +2073,34 @@ namespace GData {
                public int visibility { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "picasaweb_service", type_id = 
"gdata_picasaweb_service_get_type ()")]
+       [Version (since = "0.4.0")]
        public class PicasaWebService : GData.Service {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.9.0")]
                public PicasaWebService (GData.Authorizer? authorizer);
+               [Version (since = "0.8.0")]
                public GData.PicasaWebFile finish_file_upload (GData.UploadStream upload_stream) throws 
GLib.Error;
+               [Version (since = "0.9.0")]
                public static unowned GData.AuthorizationDomain get_primary_authorization_domain ();
+               [Version (since = "0.6.0")]
                public GData.PicasaWebUser get_user (string? username, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async GData.PicasaWebUser get_user_async (string? username, GLib.Cancellable? 
cancellable) throws GLib.Error;
+               [Version (since = "0.6.0")]
                public GData.PicasaWebAlbum insert_album (GData.PicasaWebAlbum album, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "0.8.0")]
                public async void insert_album_async (GData.PicasaWebAlbum album, GLib.Cancellable? 
cancellable);
                public GData.Feed query_all_albums (GData.Query? query, string? username, GLib.Cancellable? 
cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_all_albums_async (GData.Query? query, string? username, 
GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback);
                public GData.Feed query_files (GData.PicasaWebAlbum? album, GData.Query? query, 
GLib.Cancellable? cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_files_async (GData.PicasaWebAlbum? album, GData.Query? query, 
GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback);
+               [Version (since = "0.8.0")]
                public GData.UploadStream upload_file (GData.PicasaWebAlbum? album, GData.PicasaWebFile 
file_entry, string slug, string content_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "picasaweb_user", type_id = 
"gdata_picasaweb_user_get_type ()")]
+       [Version (since = "0.6.0")]
        public class PicasaWebUser : GData.Entry {
                [CCode (has_construct_function = false)]
                protected PicasaWebUser ();
@@ -1547,6 +2123,7 @@ namespace GData {
                public Query (string? q);
                public unowned string get_author ();
                public unowned string get_categories ();
+               [Version (since = "0.2.0")]
                public unowned string get_etag ();
                public uint get_max_results ();
                public int64 get_published_max ();
@@ -1561,7 +2138,9 @@ namespace GData {
                public bool previous_page ();
                public void set_author (string? author);
                public void set_categories (string? categories);
+               [Version (since = "0.2.0")]
                public void set_etag (string? etag);
+               [Version (since = "0.2.0")]
                public void set_is_strict (bool is_strict);
                public void set_max_results (uint max_results);
                public void set_published_max (int64 published_max);
@@ -1574,8 +2153,10 @@ namespace GData {
                public Query.with_limits (string? q, uint start_index, uint max_results);
                public string author { get; set; }
                public string categories { get; set; }
+               [Version (since = "0.2.0")]
                public string etag { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.2.0")]
                public bool is_strict { get; set; }
                public uint max_results { get; set; }
                public int64 published_max { get; set; }
@@ -1591,40 +2172,65 @@ namespace GData {
                protected Service ();
                [NoWrapper]
                public virtual void append_query_headers (GData.AuthorizationDomain domain, Soup.Message 
message);
+               [Version (since = "0.9.0")]
                public bool delete_entry (GData.AuthorizationDomain? domain, GData.Entry entry, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public async bool delete_entry_async (GData.AuthorizationDomain? domain, GData.Entry entry, 
GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public static GLib.List<weak GData.AuthorizationDomain> get_authorization_domains (GLib.Type 
service_type);
+               [Version (since = "0.9.0")]
                public unowned GData.Authorizer get_authorizer ();
+               [Version (since = "0.7.0")]
                public unowned string get_locale ();
+               [Version (since = "0.15.0")]
                public unowned GLib.ProxyResolver get_proxy_resolver ();
-               [Deprecated]
+               [Version (deprecated = true, since = "0.2.0")]
                public unowned Soup.URI get_proxy_uri ();
+               [Version (since = "0.7.0")]
                public uint get_timeout ();
+               [Version (since = "0.9.0")]
                public GData.Entry insert_entry (GData.AuthorizationDomain? domain, string upload_uri, 
GData.Entry entry, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public async GData.Entry insert_entry_async (GData.AuthorizationDomain? domain, string 
upload_uri, GData.Entry entry, GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public bool is_authorized ();
                [NoWrapper]
                public virtual void parse_error_response (GData.OperationType operation_type, uint status, 
string reason_phrase, string response_body, int length) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public GData.Feed query (GData.AuthorizationDomain? domain, string feed_uri, GData.Query? 
query, GLib.Type entry_type, GLib.Cancellable? cancellable, GData.QueryProgressCallback? progress_callback) 
throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async GData.Feed query_async (GData.AuthorizationDomain? domain, string feed_uri, 
GData.Query? query, GLib.Type entry_type, GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? 
progress_callback) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public GData.Entry query_single_entry (GData.AuthorizationDomain? domain, string entry_id, 
GData.Query? query, GLib.Type entry_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public async GData.Entry query_single_entry_async (GData.AuthorizationDomain? domain, string 
entry_id, GData.Query? query, GLib.Type entry_type, GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public void set_authorizer (GData.Authorizer authorizer);
+               [Version (since = "0.7.0")]
                public void set_locale (string? locale);
+               [Version (since = "0.15.0")]
                public void set_proxy_resolver (GLib.ProxyResolver? proxy_resolver);
-               [Deprecated]
+               [Version (deprecated = true, since = "0.2.0")]
                public void set_proxy_uri (Soup.URI? proxy_uri);
+               [Version (since = "0.7.0")]
                public void set_timeout (uint timeout);
+               [Version (since = "0.9.0")]
                public GData.Entry update_entry (GData.AuthorizationDomain? domain, GData.Entry entry, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public async GData.Entry update_entry_async (GData.AuthorizationDomain? domain, GData.Entry 
entry, GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.9.0")]
                public GData.Authorizer authorizer { get; set; }
+               [Version (since = "0.7.0")]
                public string locale { get; set; }
+               [Version (since = "0.15.0")]
                public GLib.ProxyResolver proxy_resolver { get; set; }
-               [Deprecated]
+               [Version (deprecated = true, since = "0.2.0")]
                public Soup.URI proxy_uri { get; set; }
+               [Version (since = "0.7.0")]
                public uint timeout { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_tasks_query_get_type ()")]
+       [Version (since = "0.15.0")]
        public class TasksQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public TasksQuery (string? q);
@@ -1651,6 +2257,7 @@ namespace GData {
                public bool show_hidden { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_tasks_service_get_type ()")]
+       [Version (since = "0.15.0")]
        public class TasksService : GData.Service {
                [CCode (has_construct_function = false)]
                public TasksService (GData.Authorizer? authorizer);
@@ -1673,6 +2280,7 @@ namespace GData {
                public async void update_tasklist_async (GData.TasksTasklist tasklist, GLib.Cancellable? 
cancellable);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_tasks_task_get_type ()")]
+       [Version (since = "0.15.0")]
        public class TasksTask : GData.Entry {
                [CCode (has_construct_function = false)]
                public TasksTask (string? id);
@@ -1699,37 +2307,50 @@ namespace GData {
                public string status { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_tasks_tasklist_get_type ()")]
+       [Version (since = "0.15.0")]
        public class TasksTasklist : GData.Entry {
                [CCode (has_construct_function = false)]
                public TasksTasklist (string? id);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_upload_stream_get_type ()")]
+       [Version (since = "0.5.0")]
        public class UploadStream : GLib.OutputStream {
                [CCode (has_construct_function = false, type = "GOutputStream*")]
+               [Version (since = "0.9.0")]
                public UploadStream (GData.Service service, GData.AuthorizationDomain? domain, string method, 
string upload_uri, GData.Entry? entry, string slug, string content_type, GLib.Cancellable? cancellable = 
null);
+               [Version (since = "0.9.0")]
                public unowned GData.AuthorizationDomain get_authorization_domain ();
+               [Version (since = "0.8.0")]
                public unowned GLib.Cancellable get_cancellable ();
+               [Version (since = "0.13.0")]
                public int64 get_content_length ();
                public unowned string get_content_type ();
                public unowned GData.Entry get_entry ();
+               [Version (since = "0.7.0")]
                public unowned string get_method ();
                public unowned string get_response (out ssize_t length);
                public unowned GData.Service get_service ();
                public unowned string get_slug ();
                public unowned string get_upload_uri ();
                [CCode (has_construct_function = false, type = "GOutputStream*")]
+               [Version (since = "0.13.0")]
                public UploadStream.resumable (GData.Service service, GData.AuthorizationDomain? domain, 
string method, string upload_uri, GData.Entry? entry, string slug, string content_type, int64 content_length, 
GLib.Cancellable? cancellable = null);
+               [Version (since = "0.9.0")]
                public GData.AuthorizationDomain authorization_domain { get; construct; }
+               [Version (since = "0.8.0")]
                public GLib.Cancellable cancellable { get; construct; }
+               [Version (since = "0.13.0")]
                public int64 content_length { get; construct; }
                public string content_type { get; construct; }
                public GData.Entry entry { get; construct; }
+               [Version (since = "0.7.0")]
                public string method { get; construct; }
                public GData.Service service { get; construct; }
                public string slug { get; construct; }
                public string upload_uri { get; construct; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "youtube_category", type_id = 
"gdata_youtube_category_get_type ()")]
+       [Version (since = "0.7.0")]
        public class YouTubeCategory : GData.Category, GData.Comparable {
                [CCode (has_construct_function = false)]
                protected YouTubeCategory ();
@@ -1740,6 +2361,7 @@ namespace GData {
                public bool is_deprecated { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "youtube_comment", type_id = 
"gdata_youtube_comment_get_type ()")]
+       [Version (since = "0.10.0")]
        public class YouTubeComment : GData.Comment {
                [CCode (has_construct_function = false)]
                public YouTubeComment (string id);
@@ -1748,6 +2370,7 @@ namespace GData {
                public string parent_comment_uri { get; set; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "youtube_content", type_id = 
"gdata_youtube_content_get_type ()")]
+       [Version (since = "0.4.0")]
        public class YouTubeContent : GData.MediaContent {
                [CCode (has_construct_function = false)]
                protected YouTubeContent ();
@@ -1755,6 +2378,7 @@ namespace GData {
                public GData.YouTubeFormat format { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "youtube_credit", type_id = 
"gdata_youtube_credit_get_type ()")]
+       [Version (since = "0.4.0")]
        public class YouTubeCredit : GData.MediaCredit {
                [CCode (has_construct_function = false)]
                protected YouTubeCredit ();
@@ -1762,12 +2386,14 @@ namespace GData {
                public string entity_type { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "youtube_query", type_id = 
"gdata_youtube_query_get_type ()")]
+       [Version (since = "0.3.0")]
        public class YouTubeQuery : GData.Query {
                [CCode (has_construct_function = false)]
                public YouTubeQuery (string? q);
                public GData.YouTubeAge get_age ();
                public GData.YouTubeFormat get_format ();
                public unowned string get_language ();
+               [Version (since = "0.11.0")]
                public unowned string get_license ();
                public void get_location (out double latitude, out double longitude, out double radius, out 
bool has_location);
                public unowned string get_order_by ();
@@ -1778,6 +2404,7 @@ namespace GData {
                public void set_age (GData.YouTubeAge age);
                public void set_format (GData.YouTubeFormat format);
                public void set_language (string? language);
+               [Version (since = "0.11.0")]
                public void set_license (string? license);
                public void set_location (double latitude, double longitude, double radius, bool 
has_location);
                public void set_order_by (string? order_by);
@@ -1792,6 +2419,7 @@ namespace GData {
                public string language { get; set; }
                [NoAccessorMethod]
                public double latitude { get; set; }
+               [Version (since = "0.11.0")]
                public string license { get; set; }
                [NoAccessorMethod]
                public double location_radius { get; set; }
@@ -1806,19 +2434,28 @@ namespace GData {
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "youtube_service", type_id = 
"gdata_youtube_service_get_type ()")]
        public class YouTubeService : GData.Service, GData.Batchable {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.9.0")]
                public YouTubeService (string developer_key, GData.Authorizer? authorizer);
                public static GLib.Quark error_quark ();
+               [Version (since = "0.8.0")]
                public GData.YouTubeVideo finish_video_upload (GData.UploadStream upload_stream) throws 
GLib.Error;
+               [Version (since = "0.7.0")]
                public GData.APPCategories get_categories (GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               [Version (since = "0.7.0")]
                public async GData.APPCategories get_categories_async (GLib.Cancellable? cancellable) throws 
GLib.Error;
                public unowned string get_developer_key ();
+               [Version (since = "0.9.0")]
                public static unowned GData.AuthorizationDomain get_primary_authorization_domain ();
                public GData.Feed query_related (GData.YouTubeVideo video, GData.Query? query, 
GLib.Cancellable? cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_related_async (GData.YouTubeVideo video, GData.Query? query, 
GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback);
                public GData.Feed query_standard_feed (GData.YouTubeStandardFeedType feed_type, GData.Query? 
query, GLib.Cancellable? cancellable, GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_standard_feed_async (GData.YouTubeStandardFeedType feed_type, 
GData.Query? query, GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback);
                public GData.Feed query_videos (GData.Query? query, GLib.Cancellable? cancellable, 
GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void query_videos_async (GData.Query? query, GLib.Cancellable? cancellable, 
owned GData.QueryProgressCallback? progress_callback);
+               [Version (since = "0.8.0")]
                public GData.UploadStream upload_video (GData.YouTubeVideo video, string slug, string 
content_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public string developer_key { get; construct; }
        }
@@ -1826,22 +2463,33 @@ namespace GData {
        public class YouTubeState : GData.Parsable {
                [CCode (has_construct_function = false)]
                protected YouTubeState ();
+               [Version (since = "0.4.0")]
                public unowned string get_help_uri ();
+               [Version (since = "0.4.0")]
                public unowned string get_message ();
+               [Version (since = "0.4.0")]
                public unowned string get_name ();
+               [Version (since = "0.4.0")]
                public unowned string get_reason_code ();
+               [Version (since = "0.4.0")]
                public string help_uri { get; }
+               [Version (since = "0.4.0")]
                public string message { get; }
+               [Version (since = "0.4.0")]
                public string name { get; }
+               [Version (since = "0.4.0")]
                public string reason_code { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", lower_case_csuffix = "youtube_video", type_id = 
"gdata_youtube_video_get_type ()")]
        public class YouTubeVideo : GData.Entry, GData.Commentable {
                [CCode (has_construct_function = false)]
                public YouTubeVideo (string? id);
+               [Version (since = "0.7.0")]
                public GData.YouTubePermission get_access_control (string action);
+               [Version (since = "0.4.0")]
                public unowned string get_aspect_ratio ();
                public unowned GData.MediaCategory get_category ();
+               [Version (since = "0.8.0")]
                public void get_coordinates (out double latitude, out double longitude);
                public unowned GData.YouTubeCredit get_credit ();
                public unowned string get_description ();
@@ -1850,28 +2498,37 @@ namespace GData {
                [CCode (array_length = false, array_null_terminated = true)]
                public unowned string[] get_keywords ();
                public unowned string get_location ();
+               [Version (since = "0.10.0")]
                public unowned string get_media_rating (string rating_type);
                public unowned string get_player_uri ();
                public void get_rating (out uint min, out uint max, out uint count, out double average);
+               [Version (since = "0.3.0")]
                public int64 get_recorded ();
                public unowned GData.YouTubeState get_state ();
                public unowned GLib.List<GData.MediaThumbnail> get_thumbnails ();
                public int64 get_uploaded ();
                public unowned string get_video_id ();
+               [Version (since = "0.4.0")]
                public static string get_video_id_from_uri (string video_uri);
                public uint get_view_count ();
+               [Version (since = "0.4.0")]
                public bool is_restricted_in_country (string country);
                public unowned GData.YouTubeContent look_up_content (string type);
+               [Version (since = "0.7.0")]
                public void set_access_control (string action, GData.YouTubePermission permission);
+               [Version (since = "0.4.0")]
                public void set_aspect_ratio (string? aspect_ratio);
                public void set_category (GData.MediaCategory category);
+               [Version (since = "0.8.0")]
                public void set_coordinates (double latitude, double longitude);
                public void set_description (string? description);
                public void set_is_draft (bool is_draft);
                public void set_is_private (bool is_private);
                public void set_keywords ([CCode (array_length = false, array_null_terminated = true)] 
string[] keywords);
                public void set_location (string? location);
+               [Version (since = "0.3.0")]
                public void set_recorded (int64 recorded);
+               [Version (since = "0.4.0")]
                public string aspect_ratio { get; set; }
                [NoAccessorMethod]
                public double average_rating { get; }
@@ -1887,9 +2544,11 @@ namespace GData {
                [CCode (array_length = false, array_null_terminated = true)]
                public string[] keywords { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.0")]
                public double latitude { get; set; }
                public string location { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.0")]
                public double longitude { get; set; }
                [NoAccessorMethod]
                public uint max_rating { get; }
@@ -1898,6 +2557,7 @@ namespace GData {
                public string player_uri { get; }
                [NoAccessorMethod]
                public uint rating_count { get; }
+               [Version (since = "0.3.0")]
                public int64 recorded { get; set; }
                public GData.YouTubeState state { get; }
                public int64 uploaded { get; }
@@ -1905,11 +2565,14 @@ namespace GData {
                public uint view_count { get; }
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_access_handler_get_type ()")]
+       [Version (since = "0.3.0")]
        public interface AccessHandler : GData.Entry {
                public GData.Feed get_rules (GData.Service service, GLib.Cancellable? cancellable, 
GData.QueryProgressCallback? progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void get_rules_async (GData.Service service, GLib.Cancellable? cancellable, 
owned GData.QueryProgressCallback? progress_callback);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_cname = "GDataAuthorizerInterface", type_id = 
"gdata_authorizer_get_type ()")]
+       [Version (since = "0.9.0")]
        public interface Authorizer : GLib.Object {
                public abstract bool is_authorized_for_domain (GData.AuthorizationDomain domain);
                public abstract void process_request (GData.AuthorizationDomain? domain, Soup.Message 
message);
@@ -1917,10 +2580,13 @@ namespace GData {
                public abstract async bool refresh_authorization_async (GLib.Cancellable? cancellable) throws 
GLib.Error;
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_batchable_get_type ()")]
+       [Version (since = "0.7.0")]
        public interface Batchable : GData.Service {
+               [Version (since = "0.9.0")]
                public GData.BatchOperation create_operation (GData.AuthorizationDomain? domain, string 
feed_uri);
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_cname = "GDataCommentableInterface", type_id = 
"gdata_commentable_get_type ()")]
+       [Version (since = "0.10.0")]
        public interface Commentable : GData.Entry {
                public bool delete_comment (GData.Service service, GData.Comment comment_, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public async bool delete_comment_async (GData.Service service, GData.Comment comment_, 
GLib.Cancellable? cancellable) throws GLib.Error;
@@ -1936,6 +2602,7 @@ namespace GData {
                public async GData.Feed query_comments_async (GData.Service service, GData.Query? query, 
GLib.Cancellable? cancellable, owned GData.QueryProgressCallback? progress_callback) throws GLib.Error;
        }
        [CCode (cheader_filename = "gdata/gdata.h", type_id = "gdata_comparable_get_type ()")]
+       [Version (since = "0.7.0")]
        public interface Comparable : GLib.Object {
                public int compare (GData.Comparable? other);
                [NoWrapper]
@@ -1947,9 +2614,11 @@ namespace GData {
                public uint16 green;
                public uint16 blue;
                public static bool from_hexadecimal (string hexadecimal, out GData.Color color);
+               [Version (since = "0.3.0")]
                public string to_hexadecimal ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_BATCH_OPERATION_", type_id = 
"gdata_batch_operation_type_get_type ()")]
+       [Version (since = "0.7.0")]
        public enum BatchOperationType {
                QUERY,
                INSERTION,
@@ -1957,6 +2626,7 @@ namespace GData {
                DELETION
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_FREEBASE_SEARCH_FILTER_", type_id = 
"gdata_freebase_search_filter_type_get_type ()")]
+       [Version (since = "0.15.1")]
        public enum FreebaseSearchFilterType {
                ALL,
                ANY,
@@ -1969,6 +2639,7 @@ namespace GData {
                NONSTOP
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_MEDIA_", type_id = 
"gdata_media_medium_get_type ()")]
+       [Version (since = "0.4.0")]
        public enum MediaMedium {
                UNKNOWN,
                IMAGE,
@@ -1978,6 +2649,7 @@ namespace GData {
                EXECUTABLE
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_OPERATION_", type_id = 
"gdata_operation_type_get_type ()")]
+       [Version (since = "0.6.0")]
        public enum OperationType {
                QUERY,
                INSERTION,
@@ -1989,11 +2661,13 @@ namespace GData {
                BATCH
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_PICASAWEB_", type_id = 
"gdata_picasaweb_visibility_get_type ()")]
+       [Version (since = "0.4.0")]
        public enum PicasaWebVisibility {
                PUBLIC,
                PRIVATE
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_YOUTUBE_AGE_", type_id = 
"gdata_youtube_age_get_type ()")]
+       [Version (since = "0.3.0")]
        public enum YouTubeAge {
                ALL_TIME,
                TODAY,
@@ -2001,6 +2675,7 @@ namespace GData {
                THIS_MONTH
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_YOUTUBE_FORMAT_", type_id = 
"gdata_youtube_format_get_type ()")]
+       [Version (since = "0.3.0")]
        public enum YouTubeFormat {
                UNKNOWN,
                RTSP_H263_AMR,
@@ -2008,18 +2683,21 @@ namespace GData {
                RTSP_MPEG4_AAC
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_YOUTUBE_PERMISSION_", type_id = 
"gdata_youtube_permission_get_type ()")]
+       [Version (since = "0.7.0")]
        public enum YouTubePermission {
                ALLOWED,
                DENIED,
                MODERATED
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_YOUTUBE_SAFE_SEARCH_", type_id = 
"gdata_youtube_safe_search_get_type ()")]
+       [Version (since = "0.3.0")]
        public enum YouTubeSafeSearch {
                NONE,
                MODERATE,
                STRICT
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_YOUTUBE_SORT_", type_id = 
"gdata_youtube_sort_order_get_type ()")]
+       [Version (since = "0.3.0")]
        public enum YouTubeSortOrder {
                NONE,
                ASCENDING,
@@ -2039,11 +2717,13 @@ namespace GData {
                WATCH_ON_MOBILE_FEED
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_YOUTUBE_UPLOADER_", type_id = 
"gdata_youtube_uploader_get_type ()")]
+       [Version (since = "0.3.0")]
        public enum YouTubeUploader {
                ALL,
                PARTNER
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = "GDATA_CLIENT_LOGIN_AUTHORIZER_ERROR_")]
+       [Version (since = "0.9.0")]
        public errordomain ClientLoginAuthorizerError {
                BAD_AUTHENTICATION,
                NOT_VERIFIED,
@@ -2057,6 +2737,7 @@ namespace GData {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "gdata/gdata.h", cprefix = 
"GDATA_DOCUMENTS_SERVICE_ERROR_INVALID_CONTENT_")]
+       [Version (since = "0.4.0")]
        public errordomain DocumentsServiceError {
                TYPE;
                public static GLib.Quark quark ();
@@ -2090,313 +2771,465 @@ namespace GData {
                CHANNEL_REQUIRED
        }
        [CCode (cheader_filename = "gdata/gdata.h", instance_pos = 4.9)]
+       [Version (since = "0.7.0")]
        public delegate void BatchOperationCallback (uint operation_id, GData.BatchOperationType 
operation_type, GData.Entry entry, GLib.Error error);
        [CCode (cheader_filename = "gdata/gdata.h", instance_pos = 3.9)]
        public delegate void QueryProgressCallback (GData.Entry entry, uint entry_key, uint entry_count);
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_ACCESS_ROLE_NONE")]
+       [Version (since = "0.7.0")]
        public const string ACCESS_ROLE_NONE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_ACCESS_SCOPE_DEFAULT")]
+       [Version (since = "0.7.0")]
        public const string ACCESS_SCOPE_DEFAULT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_ACCESS_SCOPE_DOMAIN")]
+       [Version (since = "0.7.0")]
        public const string ACCESS_SCOPE_DOMAIN;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_ACCESS_SCOPE_USER")]
+       [Version (since = "0.7.0")]
        public const string ACCESS_SCOPE_USER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CALENDAR_ACCESS_ROLE_EDITOR")]
+       [Version (since = "0.7.0")]
        public const string CALENDAR_ACCESS_ROLE_EDITOR;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CALENDAR_ACCESS_ROLE_FREE_BUSY")]
+       [Version (since = "0.7.0")]
        public const string CALENDAR_ACCESS_ROLE_FREE_BUSY;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CALENDAR_ACCESS_ROLE_OWNER")]
+       [Version (since = "0.7.0")]
        public const string CALENDAR_ACCESS_ROLE_OWNER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CALENDAR_ACCESS_ROLE_READ")]
+       [Version (since = "0.7.0")]
        public const string CALENDAR_ACCESS_ROLE_READ;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CALENDAR_ACCESS_ROLE_ROOT")]
+       [Version (since = "0.7.0")]
        public const string CALENDAR_ACCESS_ROLE_ROOT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_CATEGORY_SCHEMA_LABELS")]
+       [Version (since = "0.11.0")]
        public const string CATEGORY_SCHEMA_LABELS;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_ACCESS_ROLE_OWNER")]
+       [Version (since = "0.7.0")]
        public const string DOCUMENTS_ACCESS_ROLE_OWNER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_ACCESS_ROLE_READER")]
+       [Version (since = "0.7.0")]
        public const string DOCUMENTS_ACCESS_ROLE_READER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_ACCESS_ROLE_WRITER")]
+       [Version (since = "0.7.0")]
        public const string DOCUMENTS_ACCESS_ROLE_WRITER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_DRAWING_JPEG")]
+       [Version (since = "0.13.1")]
        public const string DOCUMENTS_DRAWING_JPEG;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_DRAWING_PDF")]
+       [Version (since = "0.13.1")]
        public const string DOCUMENTS_DRAWING_PDF;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_DRAWING_PNG")]
+       [Version (since = "0.13.1")]
        public const string DOCUMENTS_DRAWING_PNG;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_DOCUMENTS_DRAWING_SVG")]
+       [Version (since = "0.13.1")]
        public const string DOCUMENTS_DRAWING_SVG;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_CALENDAR_FREE_BUSY")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_CALENDAR_FREE_BUSY;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_CALENDAR_HOME")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_CALENDAR_HOME;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_CALENDAR_WORK")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_CALENDAR_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_EVENT_ANNIVERSARY")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_EVENT_ANNIVERSARY;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_EVENT_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_EVENT_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_EXTERNAL_ID_ACCOUNT")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_EXTERNAL_ID_ACCOUNT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_EXTERNAL_ID_CUSTOMER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_EXTERNAL_ID_CUSTOMER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_EXTERNAL_ID_NETWORK")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_EXTERNAL_ID_NETWORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_EXTERNAL_ID_ORGANIZATION")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_EXTERNAL_ID_ORGANIZATION;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_JOT_HOME")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_JOT_HOME;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_JOT_KEYWORDS")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_JOT_KEYWORDS;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_JOT_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_JOT_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_JOT_USER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_JOT_USER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_JOT_WORK")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_JOT_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_ASSISTANT")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_ASSISTANT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_BROTHER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_BROTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_CHILD")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_CHILD;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_DOMESTIC_PARTNER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_DOMESTIC_PARTNER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_FATHER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_FATHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_FRIEND")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_FRIEND;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_MANAGER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_MANAGER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_MOTHER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_MOTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_PARENT")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_PARENT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_PARTNER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_PARTNER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_REFERRER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_REFERRER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_RELATIVE")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_RELATIVE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_SISTER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_SISTER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_RELATION_SPOUSE")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_RELATION_SPOUSE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_WEBSITE_BLOG")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_WEBSITE_BLOG;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_WEBSITE_FTP")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_WEBSITE_FTP;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_WEBSITE_HOME")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_WEBSITE_HOME;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_WEBSITE_HOME_PAGE")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_WEBSITE_HOME_PAGE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_WEBSITE_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_WEBSITE_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_WEBSITE_PROFILE")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_WEBSITE_PROFILE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GCONTACT_WEBSITE_WORK")]
+       [Version (since = "0.7.0")]
        public const string GCONTACT_WEBSITE_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_ADDRESS_USAGE_GENERAL")]
+       [Version (since = "0.5.0")]
        public const string GD_ADDRESS_USAGE_GENERAL;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_ADDRESS_USAGE_LOCAL")]
+       [Version (since = "0.5.0")]
        public const string GD_ADDRESS_USAGE_LOCAL;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EMAIL_ADDRESS_HOME")]
+       [Version (since = "0.7.0")]
        public const string GD_EMAIL_ADDRESS_HOME;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EMAIL_ADDRESS_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GD_EMAIL_ADDRESS_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EMAIL_ADDRESS_WORK")]
+       [Version (since = "0.7.0")]
        public const string GD_EMAIL_ADDRESS_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_STATUS_CANCELED")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_STATUS_CANCELED;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_STATUS_CONFIRMED")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_STATUS_CONFIRMED;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_STATUS_TENTATIVE")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_STATUS_TENTATIVE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_TRANSPARENCY_OPAQUE")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_TRANSPARENCY_OPAQUE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_TRANSPARENCY_TRANSPARENT")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_TRANSPARENCY_TRANSPARENT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_VISIBILITY_CONFIDENTIAL")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_VISIBILITY_CONFIDENTIAL;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_VISIBILITY_DEFAULT")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_VISIBILITY_DEFAULT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_VISIBILITY_PRIVATE")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_VISIBILITY_PRIVATE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_EVENT_VISIBILITY_PUBLIC")]
+       [Version (since = "0.7.0")]
        public const string GD_EVENT_VISIBILITY_PUBLIC;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_ADDRESS_HOME")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_ADDRESS_HOME;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_ADDRESS_NETMEETING")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_ADDRESS_NETMEETING;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_ADDRESS_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_ADDRESS_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_ADDRESS_WORK")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_ADDRESS_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_AIM")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_AIM;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_GOOGLE_TALK")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_GOOGLE_TALK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_ICQ")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_ICQ;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_JABBER")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_JABBER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_LIVE_MESSENGER")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_LIVE_MESSENGER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_QQ")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_QQ;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_SKYPE")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_SKYPE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_IM_PROTOCOL_YAHOO_MESSENGER")]
+       [Version (since = "0.7.0")]
        public const string GD_IM_PROTOCOL_YAHOO_MESSENGER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_MAIL_CLASS_BOTH")]
+       [Version (since = "0.5.0")]
        public const string GD_MAIL_CLASS_BOTH;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_MAIL_CLASS_LETTERS")]
+       [Version (since = "0.5.0")]
        public const string GD_MAIL_CLASS_LETTERS;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_MAIL_CLASS_NEITHER")]
+       [Version (since = "0.5.0")]
        public const string GD_MAIL_CLASS_NEITHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_MAIL_CLASS_PARCELS")]
+       [Version (since = "0.5.0")]
        public const string GD_MAIL_CLASS_PARCELS;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_ORGANIZATION_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GD_ORGANIZATION_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_ORGANIZATION_WORK")]
+       [Version (since = "0.7.0")]
        public const string GD_ORGANIZATION_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_ASSISTANT")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_ASSISTANT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_CALLBACK")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_CALLBACK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_CAR")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_CAR;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_COMPANY_MAIN")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_COMPANY_MAIN;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_FAX")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_FAX;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_HOME")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_HOME;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_HOME_FAX")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_HOME_FAX;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_ISDN")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_ISDN;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_MAIN")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_MAIN;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_MOBILE")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_MOBILE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_OTHER_FAX")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_OTHER_FAX;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_PAGER")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_PAGER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_RADIO")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_RADIO;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_TELEX")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_TELEX;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_TTY_TDD")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_TTY_TDD;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_WORK")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_WORK_FAX")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_WORK_FAX;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_WORK_MOBILE")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_WORK_MOBILE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_PHONE_NUMBER_WORK_PAGER")]
+       [Version (since = "0.7.0")]
        public const string GD_PHONE_NUMBER_WORK_PAGER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_POSTAL_ADDRESS_HOME")]
+       [Version (since = "0.7.0")]
        public const string GD_POSTAL_ADDRESS_HOME;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_POSTAL_ADDRESS_OTHER")]
+       [Version (since = "0.7.0")]
        public const string GD_POSTAL_ADDRESS_OTHER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_POSTAL_ADDRESS_WORK")]
+       [Version (since = "0.7.0")]
        public const string GD_POSTAL_ADDRESS_WORK;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_REMINDER_ALERT")]
+       [Version (since = "0.7.0")]
        public const string GD_REMINDER_ALERT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_REMINDER_EMAIL")]
+       [Version (since = "0.7.0")]
        public const string GD_REMINDER_EMAIL;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_REMINDER_SMS")]
+       [Version (since = "0.7.0")]
        public const string GD_REMINDER_SMS;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_WHERE_EVENT")]
+       [Version (since = "0.7.0")]
        public const string GD_WHERE_EVENT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_WHERE_EVENT_ALTERNATE")]
+       [Version (since = "0.7.0")]
        public const string GD_WHERE_EVENT_ALTERNATE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_WHERE_EVENT_PARKING")]
+       [Version (since = "0.7.0")]
        public const string GD_WHERE_EVENT_PARKING;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_WHO_EVENT_ATTENDEE")]
+       [Version (since = "0.7.0")]
        public const string GD_WHO_EVENT_ATTENDEE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_WHO_EVENT_ORGANIZER")]
+       [Version (since = "0.7.0")]
        public const string GD_WHO_EVENT_ORGANIZER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_WHO_EVENT_PERFORMER")]
+       [Version (since = "0.7.0")]
        public const string GD_WHO_EVENT_PERFORMER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_GD_WHO_EVENT_SPEAKER")]
+       [Version (since = "0.7.0")]
        public const string GD_WHO_EVENT_SPEAKER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_ACCESS_CONTROL_LIST")]
+       [Version (since = "0.7.0")]
        public const string LINK_ACCESS_CONTROL_LIST;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_ALTERNATE")]
+       [Version (since = "0.4.0")]
        public const string LINK_ALTERNATE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_BATCH")]
+       [Version (since = "0.7.0")]
        public const string LINK_BATCH;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_EDIT")]
+       [Version (since = "0.4.0")]
        public const string LINK_EDIT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_EDIT_MEDIA")]
+       [Version (since = "0.4.0")]
        public const string LINK_EDIT_MEDIA;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_ENCLOSURE")]
+       [Version (since = "0.4.0")]
        public const string LINK_ENCLOSURE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_PARENT")]
+       [Version (since = "0.15.1")]
        public const string LINK_PARENT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_RELATED")]
+       [Version (since = "0.4.0")]
        public const string LINK_RELATED;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_RESUMABLE_CREATE_MEDIA")]
+       [Version (since = "0.13.0")]
        public const string LINK_RESUMABLE_CREATE_MEDIA;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_RESUMABLE_EDIT_MEDIA")]
+       [Version (since = "0.13.0")]
        public const string LINK_RESUMABLE_EDIT_MEDIA;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_SELF")]
+       [Version (since = "0.4.0")]
        public const string LINK_SELF;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_LINK_VIA")]
+       [Version (since = "0.4.0")]
        public const string LINK_VIA;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_MAJOR_VERSION")]
+       [Version (since = "0.11.0")]
        public const int MAJOR_VERSION;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_MICRO_VERSION")]
+       [Version (since = "0.11.0")]
        public const int MICRO_VERSION;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_MINOR_VERSION")]
+       [Version (since = "0.11.0")]
        public const int MINOR_VERSION;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_OAUTH2_REDIRECT_URI_OOB")]
        public const string OAUTH2_REDIRECT_URI_OOB;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_OAUTH2_REDIRECT_URI_OOB_AUTO")]
        public const string OAUTH2_REDIRECT_URI_OOB_AUTO;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_PICASAWEB_VIDEO_STATUS_FAILED")]
+       [Version (since = "0.7.0")]
        public const string PICASAWEB_VIDEO_STATUS_FAILED;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_PICASAWEB_VIDEO_STATUS_FINAL")]
+       [Version (since = "0.7.0")]
        public const string PICASAWEB_VIDEO_STATUS_FINAL;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_PICASAWEB_VIDEO_STATUS_PENDING")]
+       [Version (since = "0.7.0")]
        public const string PICASAWEB_VIDEO_STATUS_PENDING;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_PICASAWEB_VIDEO_STATUS_READY")]
+       [Version (since = "0.7.0")]
        public const string PICASAWEB_VIDEO_STATUS_READY;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_TASKS_STATUS_COMPLETED")]
+       [Version (since = "0.16.0")]
        public const string TASKS_STATUS_COMPLETED;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_TASKS_STATUS_NEEDS_ACTION")]
+       [Version (since = "0.16.0")]
        public const string TASKS_STATUS_NEEDS_ACTION;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_ACTION_COMMENT")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_ACTION_COMMENT;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_ACTION_COMMENT_VOTE")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_ACTION_COMMENT_VOTE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_ACTION_EMBED")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_ACTION_EMBED;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_ACTION_RATE")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_ACTION_RATE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_ACTION_SYNDICATE")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_ACTION_SYNDICATE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_ACTION_VIDEO_RESPOND")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_ACTION_VIDEO_RESPOND;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_ASPECT_RATIO_WIDESCREEN")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_ASPECT_RATIO_WIDESCREEN;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_CREDIT_ENTITY_PARTNER")]
+       [Version (since = "0.7.0")]
        public const string YOUTUBE_CREDIT_ENTITY_PARTNER;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_LICENSE_CC")]
+       [Version (since = "0.11.0")]
        public const string YOUTUBE_LICENSE_CC;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_LICENSE_STANDARD")]
+       [Version (since = "0.11.0")]
        public const string YOUTUBE_LICENSE_STANDARD;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_RATING_TYPE_MPAA")]
+       [Version (since = "0.10.0")]
        public const string YOUTUBE_RATING_TYPE_MPAA;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_RATING_TYPE_SIMPLE")]
+       [Version (since = "0.10.0")]
        public const string YOUTUBE_RATING_TYPE_SIMPLE;
        [CCode (cheader_filename = "gdata/gdata.h", cname = "GDATA_YOUTUBE_RATING_TYPE_V_CHIP")]
+       [Version (since = "0.10.0")]
        public const string YOUTUBE_RATING_TYPE_V_CHIP;
 }
diff --git a/vapi/libglade-2.0.vapi b/vapi/libglade-2.0.vapi
index 8a70014..663a3fe 100644
--- a/vapi/libglade-2.0.vapi
+++ b/vapi/libglade-2.0.vapi
@@ -1,6 +1,6 @@
 /* libglade-2.0.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "Gtk.Builder")]
+[Version (replacement = "Gtk.Builder")]
 namespace Glade {
        [CCode (cheader_filename = "glade/glade.h")]
        [Compact]
diff --git a/vapi/libnotify.vapi b/vapi/libnotify.vapi
index dffa0bc..ba2eb7a 100644
--- a/vapi/libnotify.vapi
+++ b/vapi/libnotify.vapi
@@ -11,22 +11,24 @@ namespace Notify {
                public void clear_hints ();
                public bool close () throws GLib.Error;
                public int get_closed_reason ();
+               [Version (since = "0.7.3")]
                public void set_app_name (string app_name);
                public void set_category (string category);
+               [Version (since = "0.6")]
                public void set_hint (string key, GLib.Variant? value);
-               [Deprecated (since = "0.6.")]
+               [Version (deprecated = true, deprecated_since = "0.6.")]
                public void set_hint_byte (string key, [CCode (type = "guchar")] uchar value);
-               [Deprecated (since = "0.6.")]
+               [Version (deprecated = true, deprecated_since = "0.6.")]
                public void set_hint_byte_array (string key, [CCode (array_length_cname = "len", 
array_length_pos = 2.1, array_length_type = "gsize")] uchar[] value);
-               [Deprecated (since = "0.6.")]
+               [Version (deprecated = true, deprecated_since = "0.6.")]
                public void set_hint_double (string key, double value);
-               [Deprecated (since = "0.6.")]
+               [Version (deprecated = true, deprecated_since = "0.6.")]
                public void set_hint_int32 (string key, int value);
-               [Deprecated (since = "0.6.")]
+               [Version (deprecated = true, deprecated_since = "0.6.")]
                public void set_hint_string (string key, string value);
-               [Deprecated (since = "0.6.")]
+               [Version (deprecated = true, deprecated_since = "0.6.")]
                public void set_hint_uint32 (string key, uint value);
-               [Deprecated]
+               [Version (deprecated = true)]
                public void set_icon_from_pixbuf (Gdk.Pixbuf icon);
                public void set_image_from_pixbuf (Gdk.Pixbuf pixbuf);
                public void set_timeout (int timeout);
diff --git a/vapi/libpeas-1.0.vapi b/vapi/libpeas-1.0.vapi
index ec7e109..9ac7a5c 100644
--- a/vapi/libpeas-1.0.vapi
+++ b/vapi/libpeas-1.0.vapi
@@ -16,6 +16,7 @@ namespace Peas {
                public string[] get_loaded_plugins ();
                public unowned Peas.PluginInfo get_plugin_info (string plugin_name);
                public unowned GLib.List<Peas.PluginInfo> get_plugin_list ();
+               [Version (since = "1.6")]
                public void prepend_search_path (string module_dir, string? data_dir);
                public bool provides_extension (Peas.PluginInfo info, GLib.Type extension_type);
                public void rescan_plugins ();
@@ -25,10 +26,12 @@ namespace Peas {
                [CCode (cname = "peas_engine_unload_plugin")]
                public bool try_unload_plugin (Peas.PluginInfo info);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.14")]
                public Engine.with_nonglobal_loaders ();
                [CCode (array_length = false, array_null_terminated = true)]
                public string[] loaded_plugins { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.14")]
                public bool nonglobal_loaders { get; construct; }
                public void* plugin_list { get; }
                public virtual signal void load_plugin (Peas.PluginInfo info);
@@ -54,6 +57,7 @@ namespace Peas {
                public ExtensionSet (Peas.Engine? engine, GLib.Type exten_type, ...);
                [NoWrapper]
                public virtual bool call (string method_name, GI.Argument args);
+               [Version (since = "1.2")]
                public void @foreach (Peas.ExtensionSetForeachFunc func);
                public unowned Peas.Extension get_extension (Peas.PluginInfo info);
                [CCode (cname = "peas_extension_set_newv", has_construct_function = false)]
@@ -121,6 +125,7 @@ namespace Peas {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "libpeas/peas.h", instance_pos = 3.9)]
+       [Version (since = "1.2")]
        public delegate void ExtensionSetForeachFunc (Peas.ExtensionSet @set, Peas.PluginInfo info, 
Peas.Extension exten);
        [CCode (cheader_filename = "libpeas/peas.h", instance_pos = 1.9)]
        public delegate GLib.Object FactoryFunc ([CCode (array_length_cname = "n_parameters", 
array_length_pos = 0.5, array_length_type = "guint")] GLib.Parameter[] parameters);
diff --git a/vapi/libpeas-gtk-1.0.vapi b/vapi/libpeas-gtk-1.0.vapi
index 491d34d..49b9ba0 100644
--- a/vapi/libpeas-gtk-1.0.vapi
+++ b/vapi/libpeas-gtk-1.0.vapi
@@ -16,14 +16,14 @@ namespace PeasGtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public PluginManagerView (Peas.Engine? engine);
                public unowned Peas.PluginInfo get_selected_plugin ();
-               [Deprecated (since = "1.2")]
+               [Version (deprecated = true, deprecated_since = "1.2")]
                public bool get_show_builtin ();
                public void set_selected_plugin (Peas.PluginInfo info);
-               [Deprecated (since = "1.2")]
+               [Version (deprecated = true, deprecated_since = "1.2")]
                public void set_show_builtin (bool show_builtin);
                [NoAccessorMethod]
                public Peas.Engine engine { owned get; construct; }
-               [Deprecated (since = "1.2")]
+               [Version (deprecated = true, deprecated_since = "1.2")]
                public bool show_builtin { get; set; }
                public virtual signal void populate_popup (Gtk.Menu menu);
        }
diff --git a/vapi/librsvg-2.0.vapi b/vapi/librsvg-2.0.vapi
index 7cdd8dd..54388b2 100644
--- a/vapi/librsvg-2.0.vapi
+++ b/vapi/librsvg-2.0.vapi
@@ -1,7 +1,7 @@
 /* librsvg-2.0.vapi generated by vapigen, do not modify. */
 
 [CCode (cprefix = "Rsvg", gir_namespace = "Rsvg", gir_version = "2.0", lower_case_cprefix = "rsvg_")]
-[Deprecated (replacement = "bindings distributed with librsvg-2.0", since = "2.36.2")]
+[Version (replacement = "bindings distributed with librsvg-2.0", deprecated_since = "2.36.2")]
 namespace Rsvg {
        namespace Version {
                [CCode (cheader_filename = "librsvg/rsvg.h", cname = "LIBRSVG_MAJOR_VERSION")]
@@ -20,7 +20,7 @@ namespace Rsvg {
                [CCode (has_construct_function = false)]
                public Handle ();
                public bool close () throws GLib.Error;
-               [Deprecated (replacement = "GLib.Object.unref")]
+               [Version (replacement = "GLib.Object.unref")]
                public void free ();
                [CCode (has_construct_function = false)]
                public Handle.from_data ([CCode (array_length_cname = "data_len", array_length_pos = 1.1, 
array_length_type = "gsize")] uint8[] data) throws GLib.Error;
@@ -31,16 +31,16 @@ namespace Rsvg {
                [CCode (has_construct_function = false)]
                public Handle.from_stream_sync (GLib.InputStream input_stream, GLib.File? base_file, 
Rsvg.HandleFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
                public unowned string get_base_uri ();
-               [Deprecated (since = "2.36")]
+               [Version (deprecated_since = "2.36")]
                public unowned string get_desc ();
                public Rsvg.DimensionData get_dimensions ();
                public bool get_dimensions_sub (out Rsvg.DimensionData dimension_data, string id);
-               [Deprecated (since = "2.36")]
+               [Version (deprecated_since = "2.36")]
                public unowned string get_metadata ();
                public Gdk.Pixbuf get_pixbuf ();
                public Gdk.Pixbuf get_pixbuf_sub (string id);
                public bool get_position_sub (out Rsvg.PositionData position_data, string id);
-               [Deprecated (since = "2.36")]
+               [Version (deprecated_since = "2.36")]
                public unowned string get_title ();
                public bool has_sub (string id);
                public bool read_stream_sync (GLib.InputStream stream, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
@@ -50,13 +50,13 @@ namespace Rsvg {
                public void set_base_uri (string base_uri);
                public void set_dpi (double dpi);
                public void set_dpi_x_y (double dpi_x, double dpi_y);
-               [Deprecated (replacement = "render_cairo")]
+               [Version (replacement = "render_cairo")]
                public void set_size_callback (owned Rsvg.SizeFunc size_func);
                [CCode (has_construct_function = false)]
                public Handle.with_flags (Rsvg.HandleFlags flags);
                public bool write ([CCode (array_length_cname = "count", array_length_pos = 1.1, 
array_length_type = "gsize")] uint8[] buf) throws GLib.Error;
                public string base_uri { get; set construct; }
-               [Deprecated (since = "2.36")]
+               [Version (deprecated_since = "2.36")]
                [NoAccessorMethod]
                public string desc { owned get; }
                [NoAccessorMethod]
@@ -71,10 +71,10 @@ namespace Rsvg {
                public Rsvg.HandleFlags flags { get; construct; }
                [NoAccessorMethod]
                public int height { get; }
-               [Deprecated (since = "2.36")]
+               [Version (deprecated_since = "2.36")]
                [NoAccessorMethod]
                public string metadata { owned get; }
-               [Deprecated (since = "2.36")]
+               [Version (deprecated_since = "2.36")]
                [NoAccessorMethod]
                public string title { owned get; }
                [NoAccessorMethod]
@@ -103,33 +103,33 @@ namespace Rsvg {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public delegate void SizeFunc (ref int width, ref int height);
        [CCode (cheader_filename = "librsvg/rsvg.h")]
        public static void cleanup ();
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated (since = "2.36")]
+       [Version (deprecated_since = "2.36")]
        public static void init ();
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public static Gdk.Pixbuf pixbuf_from_file (string file_name) throws GLib.Error;
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public static Gdk.Pixbuf pixbuf_from_file_at_max_size (string file_name, int max_width, int 
max_height) throws GLib.Error;
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public static Gdk.Pixbuf pixbuf_from_file_at_size (string file_name, int width, int height) throws 
GLib.Error;
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public static Gdk.Pixbuf pixbuf_from_file_at_zoom (string file_name, double x_zoom, double y_zoom) 
throws GLib.Error;
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public static Gdk.Pixbuf pixbuf_from_file_at_zoom_with_max (string file_name, double x_zoom, double 
y_zoom, int max_width, int max_height) throws GLib.Error;
        [CCode (cheader_filename = "librsvg/rsvg.h")]
        public static void set_default_dpi (double dpi);
        [CCode (cheader_filename = "librsvg/rsvg.h")]
        public static void set_default_dpi_x_y (double dpi_x, double dpi_y);
        [CCode (cheader_filename = "librsvg/rsvg.h")]
-       [Deprecated (since = "2.36")]
+       [Version (deprecated_since = "2.36")]
        public static void term ();
 }
diff --git a/vapi/libsoup-2.2.vapi b/vapi/libsoup-2.2.vapi
index 035c799..af67918 100644
--- a/vapi/libsoup-2.2.vapi
+++ b/vapi/libsoup-2.2.vapi
@@ -1,6 +1,6 @@
 /* libsoup-2.2.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "libsoup-2.4")]
+[Version (replacement = "libsoup-2.4")]
 namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h")]
        public class Address : GLib.Object {
diff --git a/vapi/libsoup-2.4.vapi b/vapi/libsoup-2.4.vapi
index 13031fb..682c75c 100644
--- a/vapi/libsoup-2.4.vapi
+++ b/vapi/libsoup-2.4.vapi
@@ -6,6 +6,7 @@ namespace Soup {
                [CCode (cheader_filename = "libsoup/soup.h")]
                public static GLib.HashTable<string,string> decode (string encoded_form);
                [CCode (cheader_filename = "libsoup/soup.h")]
+               [Version (since = "2.26")]
                public static GLib.HashTable<string,string>? decode_multipart (Soup.Message msg, string? 
file_control_name, out string filename, out string content_type, out Soup.Buffer file);
                [CCode (cheader_filename = "libsoup/soup.h")]
                public static string encode (...);
@@ -22,6 +23,7 @@ namespace Soup {
                [CCode (cheader_filename = "libsoup/soup.h")]
                public static Soup.Message request_new_from_hash (string method, string uri, 
GLib.HashTable<string,string> form_data_set);
                [CCode (cheader_filename = "libsoup/soup.h")]
+               [Version (since = "2.26")]
                public static Soup.Message request_new_from_multipart (string uri, Soup.Multipart multipart);
        }
        namespace XMLRPC {
@@ -78,16 +80,21 @@ namespace Soup {
                public Address (string name, uint port);
                [CCode (has_construct_function = false)]
                public Address.any (Soup.AddressFamily family, uint port);
+               [Version (since = "2.26")]
                public bool equal_by_ip (Soup.Address addr2);
+               [Version (since = "2.26")]
                public bool equal_by_name (Soup.Address addr2);
                [CCode (has_construct_function = false)]
                public Address.from_sockaddr (void* sa, int len);
+               [Version (since = "2.32")]
                public GLib.SocketAddress get_gsockaddr ();
                public unowned string? get_name ();
                public unowned string? get_physical ();
                public uint get_port ();
                public void* get_sockaddr (int len);
+               [Version (since = "2.26")]
                public uint hash_by_ip ();
+               [Version (since = "2.26")]
                public uint hash_by_name ();
                public bool is_resolved ();
                public void resolve_async (GLib.MainContext? async_context, GLib.Cancellable? cancellable, 
[CCode (scope = "async")] owned Soup.AddressCallback callback);
@@ -116,6 +123,7 @@ namespace Soup {
                public GLib.SList<string> get_saved_users ();
                public unowned string get_scheme_name ();
                public void has_saved_password (string username, string password);
+               [Version (since = "2.42")]
                public virtual bool is_ready (Soup.Message msg);
                public void save_password (string username, string password);
                public virtual bool update (Soup.Message msg, GLib.HashTable<void*,void*> auth_header);
@@ -192,6 +200,7 @@ namespace Soup {
        public class AuthManager : GLib.Object, Soup.SessionFeature {
                [CCode (has_construct_function = false)]
                protected AuthManager ();
+               [Version (since = "2.42")]
                public void use_auth (Soup.URI uri, Soup.Auth auth);
                public virtual signal void authenticate (Soup.Message msg, Soup.Auth auth, bool retrying);
        }
@@ -207,16 +216,19 @@ namespace Soup {
                public uint8[] data;
                public size_t length;
                [CCode (has_construct_function = false)]
-               [Deprecated (replacement = "Buffer.take", since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32", replacement = "Buffer.take")]
                public Buffer (Soup.MemoryUse use, [CCode (array_length_cname = "length", array_length_pos = 
2.1, array_length_type = "gsize")] uint8[] data);
                public Soup.Buffer copy ();
                public void free ();
+               [Version (since = "2.40")]
                public GLib.Bytes get_as_bytes ();
+               [Version (since = "2.32")]
                public void get_data ([CCode (array_length_cname = "length", array_length_pos = 1.1, 
array_length_type = "gsize")] out unowned uint8[] data);
                public void* get_owner ();
                [CCode (has_construct_function = false)]
                public Buffer.subbuffer (Soup.Buffer parent, size_t offset, size_t length);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.32")]
                public Buffer.take ([CCode (array_length_cname = "length", array_length_pos = 1.1, 
array_length_type = "gsize")] owned uint8[] data);
                [CCode (has_construct_function = false)]
                public Buffer.with_owner ([CCode (array_length_cname = "length", array_length_pos = 1.5, 
array_length_type = "gsize")] uint8[] data, void* owner, GLib.DestroyNotify? owner_dnotify);
@@ -228,14 +240,21 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cache_get_type ()")]
        public class Cache : GLib.Object, Soup.SessionFeature {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.34")]
                public Cache (string cache_dir, Soup.CacheType cache_type);
+               [Version (since = "2.34")]
                public void clear ();
+               [Version (since = "2.34.")]
                public void dump ();
+               [Version (since = "2.34")]
                public void flush ();
                [NoWrapper]
                public virtual Soup.Cacheability get_cacheability (Soup.Message msg);
+               [Version (since = "2.34")]
                public uint get_max_size ();
+               [Version (since = "2.34")]
                public void load ();
+               [Version (since = "2.34")]
                public void set_max_size (uint max_size);
                [NoAccessorMethod]
                public string cache_dir { owned get; construct; }
@@ -245,15 +264,18 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_client_context_get_type ()")]
        [Compact]
        public class ClientContext {
-               [Deprecated]
+               [Version (deprecated = true)]
                public unowned Soup.Address get_address ();
                public unowned Soup.AuthDomain? get_auth_domain ();
                public unowned string? get_auth_user ();
+               [Version (since = "2.48")]
                public unowned GLib.Socket get_gsocket ();
                public unowned string get_host ();
+               [Version (since = "2.48")]
                public unowned GLib.SocketAddress get_local_address ();
+               [Version (since = "2.48")]
                public unowned GLib.SocketAddress get_remote_address ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public unowned Soup.Socket get_socket ();
        }
        [CCode (cheader_filename = "libsoup/soup.h")]
@@ -268,12 +290,16 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_content_sniffer_get_type ()")]
        public class ContentSniffer : GLib.Object, Soup.SessionFeature {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.28")]
                public ContentSniffer ();
+               [Version (since = "2.28")]
                public virtual size_t get_buffer_size ();
+               [Version (since = "2.28")]
                public virtual string sniff (Soup.Message msg, Soup.Buffer buffer, out 
GLib.HashTable<string,string>? @params);
        }
        [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_cookie_get_type ()")]
        [Compact]
+       [Version (since = "2.24")]
        public class Cookie {
                public weak string domain;
                public weak Soup.Date expires;
@@ -286,15 +312,23 @@ namespace Soup {
                public Cookie (string name, string value, string domain, string path, int max_age);
                public bool applies_to_uri (Soup.URI uri);
                public Soup.Cookie copy ();
+               [Version (since = "2.30")]
                public bool domain_matches (string host);
                public bool equal (Soup.Cookie cookie2);
                public void free ();
+               [Version (since = "2.32")]
                public unowned string get_domain ();
+               [Version (since = "2.32")]
                public unowned Soup.Date get_expires ();
+               [Version (since = "2.32")]
                public bool get_http_only ();
+               [Version (since = "2.32")]
                public unowned string get_name ();
+               [Version (since = "2.32")]
                public unowned string get_path ();
+               [Version (since = "2.32")]
                public bool get_secure ();
+               [Version (since = "2.32")]
                public unowned string get_value ();
                public static Soup.Cookie? parse (string header, Soup.URI origin);
                public void set_domain (string domain);
@@ -311,20 +345,33 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_get_type ()")]
        public class CookieJar : GLib.Object, Soup.SessionFeature {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.24")]
                public CookieJar ();
+               [Version (since = "2.26")]
                public void add_cookie (owned Soup.Cookie cookie);
+               [Version (since = "2.40")]
                public void add_cookie_with_first_party (Soup.URI first_party, owned Soup.Cookie cookie);
+               [Version (since = "2.26")]
                public GLib.SList<Soup.Cookie> all_cookies ();
+               [Version (since = "2.26")]
                public void delete_cookie (Soup.Cookie cookie);
+               [Version (since = "2.30")]
                public Soup.CookieJarAcceptPolicy get_accept_policy ();
+               [Version (since = "2.40")]
                public GLib.SList<Soup.Cookie> get_cookie_list (Soup.URI uri, bool for_http);
+               [Version (since = "2.24")]
                public string? get_cookies (Soup.URI uri, bool for_http);
+               [Version (since = "2.40")]
                public virtual bool is_persistent ();
-               [Deprecated]
+               [Version (deprecated = true, since = "2.24")]
                public virtual void save ();
+               [Version (since = "2.30")]
                public void set_accept_policy (Soup.CookieJarAcceptPolicy policy);
+               [Version (since = "2.24")]
                public void set_cookie (Soup.URI uri, string cookie);
+               [Version (since = "2.30")]
                public void set_cookie_with_first_party (Soup.URI uri, Soup.URI first_party, string cookie);
+               [Version (since = "2.30")]
                public Soup.CookieJarAcceptPolicy accept_policy { get; set; }
                [NoAccessorMethod]
                public bool read_only { get; construct; }
@@ -333,6 +380,7 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_db_get_type ()")]
        public class CookieJarDB : Soup.CookieJar, Soup.SessionFeature {
                [CCode (has_construct_function = false, type = "SoupCookieJar*")]
+               [Version (since = "2.42")]
                public CookieJarDB (string filename, bool read_only);
                [NoAccessorMethod]
                public string filename { owned get; construct; }
@@ -340,6 +388,7 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_text_get_type ()")]
        public class CookieJarText : Soup.CookieJar, Soup.SessionFeature {
                [CCode (has_construct_function = false, type = "SoupCookieJar*")]
+               [Version (since = "2.26")]
                public CookieJarText (string filename, bool read_only);
                [NoAccessorMethod]
                public string filename { owned get; construct; }
@@ -357,7 +406,9 @@ namespace Soup {
                public int year;
                [CCode (has_construct_function = false)]
                public Date (int year, int month, int day, int hour, int minute, int second);
+               [Version (since = "2.24")]
                public Soup.Date copy ();
+               [Version (since = "2.24")]
                public void free ();
                [CCode (has_construct_function = false)]
                public Date.from_now (int offset_seconds);
@@ -365,17 +416,27 @@ namespace Soup {
                public Date.from_string (string date_string);
                [CCode (has_construct_function = false)]
                public Date.from_time_t ([CCode (type = "time_t")] time_t when);
+               [Version (since = "2.32")]
                public int get_day ();
+               [Version (since = "2.32")]
                public int get_hour ();
+               [Version (since = "2.32")]
                public int get_minute ();
+               [Version (since = "2.32")]
                public int get_month ();
+               [Version (since = "2.32")]
                public int get_offset ();
+               [Version (since = "2.32")]
                public int get_second ();
+               [Version (since = "2.32")]
                public int get_utc ();
+               [Version (since = "2.32")]
                public int get_year ();
+               [Version (since = "2.24")]
                public bool is_past ();
                public string to_string (Soup.DateFormat format);
                public time_t to_time_t ();
+               [Version (since = "2.24")]
                public GLib.TimeVal to_timeval ();
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_logger_get_type ()")]
@@ -396,30 +457,40 @@ namespace Soup {
                public Message (string method, string uri_string);
                public uint add_header_handler (string @signal, string header, GLib.Callback callback);
                public uint add_status_code_handler (string @signal, uint status_code, GLib.Callback 
callback);
+               [Version (since = "2.28")]
                public void disable_feature (GLib.Type feature_type);
                [CCode (has_construct_function = false)]
                public Message.from_uri (string method, Soup.URI uri);
+               [Version (since = "2.26")]
                public unowned Soup.Address get_address ();
+               [Version (since = "2.30")]
                public unowned Soup.URI get_first_party ();
                public Soup.MessageFlags get_flags ();
                public Soup.HTTPVersion get_http_version ();
+               [Version (since = "2.34")]
                public bool get_https_status (out unowned GLib.TlsCertificate certificate, out 
GLib.TlsCertificateFlags errors);
+               [Version (since = "2.44")]
                public Soup.MessagePriority get_priority ();
+               [Version (since = "2.42")]
                public unowned Soup.Request get_soup_request ();
                public unowned Soup.URI get_uri ();
                public bool is_keepalive ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public void set_chunk_allocator (owned Soup.ChunkAllocator allocator);
+               [Version (since = "2.30")]
                public void set_first_party (Soup.URI first_party);
                public void set_flags (Soup.MessageFlags flags);
                public void set_http_version (Soup.HTTPVersion version);
+               [Version (since = "2.44")]
                public void set_priority (Soup.MessagePriority priority);
+               [Version (since = "2.38")]
                public void set_redirect (uint status_code, string redirect_uri);
                public void set_request (string? content_type, Soup.MemoryUse req_use, [CCode 
(array_length_cname = "req_length", array_length_pos = 3.1, array_length_type = "gsize")] uint8[] req_body);
                public void set_response (string? content_type, Soup.MemoryUse resp_use, [CCode 
(array_length_cname = "resp_length", array_length_pos = 3.1, array_length_type = "gsize")] uint8[]? 
resp_body);
                public void set_status (uint status_code);
                public void set_status_full (uint status_code, string reason_phrase);
                public void set_uri (Soup.URI uri);
+               [Version (since = "2.30")]
                public Soup.URI first_party { get; set; }
                public Soup.MessageFlags flags { get; set; }
                public Soup.HTTPVersion http_version { get; set; }
@@ -433,11 +504,14 @@ namespace Soup {
                [NoAccessorMethod]
                public uint status_code { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.34")]
                public GLib.TlsCertificate tls_certificate { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.34")]
                public GLib.TlsCertificateFlags tls_errors { get; set; }
                public Soup.URI uri { get; set; }
                [HasEmitter]
+               [Version (since = "2.28")]
                public signal void content_sniffed (string content_type, GLib.HashTable<string,string> 
@params);
                [HasEmitter]
                public virtual signal void finished ();
@@ -449,12 +523,14 @@ namespace Soup {
                public virtual signal void got_headers ();
                [HasEmitter]
                public virtual signal void got_informational ();
+               [Version (since = "2.38")]
                public signal void network_event (GLib.SocketClientEvent event, GLib.IOStream connection);
                [HasEmitter]
                public virtual signal void restarted ();
                [HasEmitter]
                public virtual signal void wrote_body ();
                [HasEmitter]
+               [Version (since = "2.24")]
                public signal void wrote_body_data (Soup.Buffer chunk);
                [HasEmitter]
                public virtual signal void wrote_chunk ();
@@ -471,18 +547,23 @@ namespace Soup {
                public int64 length;
                [CCode (has_construct_function = false)]
                public MessageBody ();
-               [Deprecated (replacement = "MessageBody.append_take", since = "2.32")]
+               [Version (deprecated = true, deprecated_since = "2.32", replacement = 
"MessageBody.append_take")]
                public void append (Soup.MemoryUse use, [CCode (array_length_cname = "length", 
array_length_pos = 2.1, array_length_type = "gsize")] uint8[] data);
                public void append_buffer (Soup.Buffer buffer);
+               [Version (since = "2.32")]
                public void append_take ([CCode (array_length_cname = "length", array_length_pos = 1.1, 
array_length_type = "gsize")] owned uint8[] data);
                public void complete ();
                public Soup.Buffer flatten ();
                public void free ();
+               [Version (since = "2.24")]
                public bool get_accumulate ();
                public Soup.Buffer? get_chunk (int64 offset);
+               [Version (since = "2.24")]
                public void got_chunk (Soup.Buffer chunk);
+               [Version (since = "2.24")]
                public void set_accumulate (bool accumulate);
                public void truncate ();
+               [Version (since = "2.24")]
                public void wrote_chunk (Soup.Buffer chunk);
        }
        [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_message_headers_get_type ()")]
@@ -491,31 +572,44 @@ namespace Soup {
                [CCode (has_construct_function = false)]
                public MessageHeaders (Soup.MessageHeadersType type);
                public void append (string name, string value);
+               [Version (since = "2.36")]
                public void clean_connection_headers ();
                public void clear ();
                public void @foreach (Soup.MessageHeadersForeachFunc func);
                public void free ();
+               [Version (since = "2.26")]
                public void free_ranges (Soup.Range ranges);
-               [Deprecated]
+               [Version (deprecated = true)]
                public unowned string? @get (string name);
+               [Version (since = "2.26")]
                public bool get_content_disposition (out string disposition, out 
GLib.HashTable<string,string> @params);
                public int64 get_content_length ();
+               [Version (since = "2.26")]
                public bool get_content_range (int64 start, int64 end, int64 total_length);
+               [Version (since = "2.26")]
                public unowned string? get_content_type (out GLib.HashTable<string,string> @params);
                public Soup.Encoding get_encoding ();
                public Soup.Expectation get_expectations ();
+               [Version (since = "2.28")]
                public unowned string? get_list (string name);
+               [Version (since = "2.28")]
                public unowned string? get_one (string name);
+               [Version (since = "2.26")]
                public bool get_ranges (int64 total_length, [CCode (array_length_cname = "length", 
array_length_pos = 2.1)] out Soup.Range[] ranges);
                public void remove (string name);
                public void replace (string name, string value);
+               [Version (since = "2.26")]
                public void set_content_disposition (string disposition, GLib.HashTable<string,string>? 
@params);
                public void set_content_length (int64 content_length);
+               [Version (since = "2.26")]
                public void set_content_range (int64 start, int64 end, int64 total_length);
+               [Version (since = "2.26")]
                public void set_content_type (string content_type, GLib.HashTable<string,string>? @params);
                public void set_encoding (Soup.Encoding encoding);
                public void set_expectations (Soup.Expectation expectations);
+               [Version (since = "2.26")]
                public void set_range (int64 start, int64 end);
+               [Version (since = "2.26")]
                public void set_ranges (Soup.Range ranges, int length);
        }
        [CCode (cheader_filename = "libsoup/soup.h")]
@@ -528,6 +622,7 @@ namespace Soup {
        }
        [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_multipart_get_type ()")]
        [Compact]
+       [Version (since = "2.26")]
        public class Multipart {
                [CCode (has_construct_function = false)]
                public Multipart (string mime_type);
@@ -544,9 +639,13 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_multipart_input_stream_get_type ()")]
        public class MultipartInputStream : GLib.FilterInputStream, GLib.PollableInputStream {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.40")]
                public MultipartInputStream (Soup.Message msg, GLib.InputStream base_stream);
+               [Version (since = "2.40")]
                public unowned Soup.MessageHeaders? get_headers ();
+               [Version (since = "2.40")]
                public GLib.InputStream? next_part (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.40")]
                public async GLib.InputStream? next_part_async (int io_priority, GLib.Cancellable? 
cancellable) throws GLib.Error;
                [NoAccessorMethod]
                public Soup.Message message { owned get; construct; }
@@ -559,6 +658,7 @@ namespace Soup {
                public GLib.ProxyResolver gproxy_resolver { set; }
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_request_get_type ()")]
+       [Version (since = "2.42")]
        public class Request : GLib.Object, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected Request ();
@@ -582,16 +682,18 @@ namespace Soup {
        public class RequestFile : Soup.Request, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected RequestFile ();
+               [Version (since = "2.40")]
                public GLib.File get_file ();
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_request_http_get_type ()")]
        public class RequestHTTP : Soup.Request, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected RequestHTTP ();
+               [Version (since = "2.40")]
                public Soup.Message get_message ();
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_requester_get_type ()")]
-       [Deprecated (replacement = "Session", since = "2.42")]
+       [Version (deprecated = true, deprecated_since = "2.42", replacement = "Session")]
        public class Requester : GLib.Object, Soup.SessionFeature {
                [CCode (has_construct_function = false)]
                public Requester ();
@@ -605,55 +707,65 @@ namespace Soup {
                public void add_auth_domain (Soup.AuthDomain auth_domain);
                public void add_handler (string? path, owned Soup.ServerCallback callback);
                public void disconnect ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public unowned GLib.MainContext? get_async_context ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public unowned Soup.Socket get_listener ();
                public GLib.SList<weak GLib.Socket> get_listeners ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public uint get_port ();
+               [Version (since = "2.48")]
                public GLib.SList<Soup.URI> get_uris ();
                public bool is_https ();
+               [Version (since = "2.48")]
                public bool listen (GLib.SocketAddress address, Soup.ServerListenOptions options) throws 
GLib.Error;
+               [Version (since = "2.48")]
                public bool listen_all (uint port, Soup.ServerListenOptions options) throws GLib.Error;
+               [Version (since = "2.48")]
                public bool listen_fd (int fd, Soup.ServerListenOptions options) throws GLib.Error;
+               [Version (since = "2.48")]
                public bool listen_local (uint port, Soup.ServerListenOptions options) throws GLib.Error;
+               [Version (since = "2.48")]
                public bool listen_socket (GLib.Socket socket, Soup.ServerListenOptions options) throws 
GLib.Error;
                public void pause_message (Soup.Message msg);
-               [Deprecated]
+               [Version (deprecated = true)]
                public void quit ();
                public void remove_auth_domain (Soup.AuthDomain auth_domain);
                public void remove_handler (string path);
-               [Deprecated]
+               [Version (deprecated = true)]
                public void run ();
-               [Deprecated]
+               [Version (deprecated = true)]
                public void run_async ();
+               [Version (since = "2.48")]
                public bool set_ssl_cert_file (string ssl_cert_file, string ssl_key_file) throws GLib.Error;
                public void unpause_message (Soup.Message msg);
-               [Deprecated]
+               [Version (deprecated = true)]
                public GLib.MainContext async_context { get; owned construct; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "2.44")]
                public string[] http_aliases { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "2.44")]
                public string[] https_aliases { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public Soup.Address @interface { owned get; construct; }
-               [Deprecated]
+               [Version (deprecated = true)]
                public uint port { get; construct; }
                [NoAccessorMethod]
                public bool raw_paths { get; construct; }
                [NoAccessorMethod]
                public string server_header { owned get; set construct; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public string ssl_cert_file { owned get; construct; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public string ssl_key_file { owned get; construct; }
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public GLib.TlsCertificate tls_certificate { owned get; construct; }
                public virtual signal void request_aborted (Soup.Message msg, Soup.ClientContext client);
                public virtual signal void request_finished (Soup.Message msg, Soup.ClientContext client);
@@ -663,9 +775,12 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_session_get_type ()")]
        public class Session : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.42")]
                public Session ();
                public void abort ();
+               [Version (since = "2.24")]
                public void add_feature (Soup.SessionFeature feature);
+               [Version (since = "2.24")]
                public void add_feature_by_type (GLib.Type feature_type);
                [NoWrapper]
                public virtual void auth_required (Soup.Message msg, Soup.Auth auth, bool retrying);
@@ -673,98 +788,130 @@ namespace Soup {
                [NoWrapper]
                public virtual void flush_queue ();
                public unowned GLib.MainContext? get_async_context ();
+               [Version (since = "2.26")]
                public unowned Soup.SessionFeature? get_feature (GLib.Type feature_type);
+               [Version (since = "2.28")]
                public unowned Soup.SessionFeature? get_feature_for_message (GLib.Type feature_type, 
Soup.Message msg);
+               [Version (since = "2.26")]
                public GLib.SList<Soup.SessionFeature> get_features (GLib.Type feature_type);
+               [Version (since = "2.42")]
                public bool has_feature (GLib.Type feature_type);
                [NoWrapper]
                public virtual void kick ();
                public void pause_message (Soup.Message msg);
+               [Version (since = "2.38")]
                public void prefetch_dns (string hostname, GLib.Cancellable? cancellable, [CCode (scope = 
"async")] owned Soup.AddressCallback? callback);
-               [Deprecated (since = "2.38")]
+               [Version (deprecated = true, deprecated_since = "2.38", since = "2.30")]
                public void prepare_for_uri (Soup.URI uri);
                public virtual void queue_message (owned Soup.Message msg, [CCode (scope = "async")] owned 
Soup.SessionCallback? callback);
+               [Version (since = "2.38")]
                public bool redirect_message (Soup.Message msg);
+               [Version (since = "2.24")]
                public void remove_feature (Soup.SessionFeature feature);
+               [Version (since = "2.24")]
                public void remove_feature_by_type (GLib.Type feature_type);
+               [Version (since = "2.42")]
                public Soup.Request request (string uri_string) throws GLib.Error;
+               [Version (since = "2.42")]
                public Soup.RequestHTTP request_http (string method, string uri_string) throws GLib.Error;
+               [Version (since = "2.42")]
                public Soup.RequestHTTP request_http_uri (string method, Soup.URI uri) throws GLib.Error;
+               [Version (since = "2.42")]
                public Soup.Request request_uri (Soup.URI uri) throws GLib.Error;
                public virtual void requeue_message (Soup.Message msg);
+               [Version (since = "2.42")]
                public GLib.InputStream send (Soup.Message msg, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               [Version (since = "2.42")]
                public async GLib.InputStream send_async (Soup.Message msg, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                public virtual uint send_message (Soup.Message msg);
                public void unpause_message (Soup.Message msg);
                [CCode (has_construct_function = false)]
+               [Version (since = "2.42")]
                public Session.with_options (string optname1, ...);
+               [Version (since = "2.38")]
                public bool would_redirect (Soup.Message msg);
                [NoAccessorMethod]
+               [Version (since = "2.30")]
                public string accept_language { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.30")]
                public bool accept_language_auto { get; set; }
                public GLib.MainContext async_context { get; owned construct; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public string[] http_aliases { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public string[] https_aliases { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.24")]
                public uint idle_timeout { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.42")]
                public Soup.Address local_address { owned get; construct; }
                [NoAccessorMethod]
                public int max_conns { get; set; }
                [NoAccessorMethod]
                public int max_conns_per_host { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.42")]
                public GLib.ProxyResolver proxy_resolver { owned get; set; }
                [NoAccessorMethod]
                public Soup.URI proxy_uri { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public string ssl_ca_file { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.30")]
                public bool ssl_strict { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public bool ssl_use_system_ca_file { get; set; }
                [NoAccessorMethod]
                public uint timeout { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public GLib.TlsDatabase tls_database { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.48")]
                public GLib.TlsInteraction tls_interaction { owned get; set; }
-               [Deprecated]
                [NoAccessorMethod]
+               [Version (deprecated = true)]
                public bool use_ntlm { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public bool use_thread_context { get; set; }
                [NoAccessorMethod]
                public string user_agent { owned get; set; }
                public virtual signal void authenticate (Soup.Message msg, Soup.Auth auth, bool retrying);
+               [Version (since = "2.30")]
                public signal void connection_created (GLib.Object connection);
+               [Version (since = "2.24")]
                public signal void request_queued (Soup.Message msg);
                public virtual signal void request_started (Soup.Message msg, Soup.Socket socket);
+               [Version (since = "2.24")]
                public signal void request_unqueued (Soup.Message msg);
+               [Version (since = "2.30")]
                public signal void tunneling (GLib.Object connection);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_session_async_get_type ()")]
        public class SessionAsync : Soup.Session {
                [CCode (has_construct_function = false, type = "SoupSession*")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public SessionAsync ();
                [CCode (has_construct_function = false, type = "SoupSession*")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public SessionAsync.with_options (string optname1, ...);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_session_sync_get_type ()")]
        public class SessionSync : Soup.Session {
                [CCode (has_construct_function = false, type = "SoupSession*")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public SessionSync ();
                [CCode (has_construct_function = false, type = "SoupSession*")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public SessionSync.with_options (string optname1, ...);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_socket_get_type ()")]
@@ -814,8 +961,10 @@ namespace Soup {
                [NoAccessorMethod]
                public bool trusted_certificate { get; }
                [NoAccessorMethod]
+               [Version (since = "2.38")]
                public bool use_thread_context { get; construct; }
                public virtual signal void disconnected ();
+               [Version (since = "2.38")]
                public signal void event (GLib.SocketClientEvent event, GLib.IOStream connection);
                public virtual signal void new_connection (Soup.Socket new_sock);
                public virtual signal void readable ();
@@ -835,20 +984,31 @@ namespace Soup {
                [CCode (has_construct_function = false)]
                public URI (string? uri_string);
                public Soup.URI copy ();
+               [Version (since = "2.28")]
                public Soup.URI copy_host ();
                public static string decode (string part);
                public static string encode (string part, string? escape_extra);
                public bool equal (Soup.URI uri2);
                public void free ();
+               [Version (since = "2.32")]
                public unowned string get_fragment ();
+               [Version (since = "2.32")]
                public unowned string get_host ();
+               [Version (since = "2.32")]
                public unowned string get_password ();
+               [Version (since = "2.32")]
                public unowned string get_path ();
+               [Version (since = "2.32")]
                public uint get_port ();
+               [Version (since = "2.32")]
                public unowned string get_query ();
+               [Version (since = "2.32")]
                public unowned string get_scheme ();
+               [Version (since = "2.32")]
                public unowned string get_user ();
+               [Version (since = "2.28")]
                public bool host_equal (Soup.URI v2);
+               [Version (since = "2.28")]
                public uint host_hash ();
                public static string normalize (string part, string unescape_extra);
                public void set_fragment (string? fragment);
@@ -872,24 +1032,28 @@ namespace Soup {
                public abstract void get_passwords_sync (Soup.Message msg, Soup.Auth auth, GLib.Cancellable? 
cancellable = null);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupProxyResolverInterface", type_id = 
"soup_proxy_resolver_get_type ()")]
-       [Deprecated (replacement = "Soup.ProxyURIResolver")]
+       [Version (replacement = "Soup.ProxyURIResolver")]
        public interface ProxyResolver : Soup.SessionFeature, GLib.Object {
                public abstract void get_proxy_async (Soup.Message msg, GLib.MainContext async_context, 
GLib.Cancellable? cancellable, Soup.ProxyResolverCallback callback);
                public abstract uint get_proxy_sync (Soup.Message msg, GLib.Cancellable? cancellable, out 
unowned Soup.Address addr);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupProxyURIResolverInterface", type_id = 
"soup_proxy_uri_resolver_get_type ()")]
        public interface ProxyURIResolver : Soup.SessionFeature, GLib.Object {
-               [Deprecated]
+               [Version (deprecated = true, since = "2.26.3")]
                public abstract void get_proxy_uri_async (Soup.URI uri, GLib.MainContext? async_context, 
GLib.Cancellable? cancellable, [CCode (scope = "async")] owned Soup.ProxyURIResolverCallback callback);
-               [Deprecated]
+               [Version (deprecated = true, since = "2.26.3")]
                public abstract uint get_proxy_uri_sync (Soup.URI uri, GLib.Cancellable? cancellable, out 
Soup.URI proxy_uri);
        }
        [CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupSessionFeatureInterface", type_id = 
"soup_session_feature_get_type ()")]
+       [Version (since = "2.24")]
        public interface SessionFeature : GLib.Object {
+               [Version (since = "2.34")]
                public abstract bool add_feature (GLib.Type type);
                public abstract void attach (Soup.Session session);
                public abstract void detach (Soup.Session session);
+               [Version (since = "2.34")]
                public abstract bool has_feature (GLib.Type type);
+               [Version (since = "2.34")]
                public abstract bool remove_feature (GLib.Type type);
                [NoWrapper]
                public abstract void request_queued (Soup.Session session, Soup.Message msg);
@@ -904,6 +1068,7 @@ namespace Soup {
                public bool next (out unowned string name, out unowned string value);
        }
        [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       [Version (since = "2.26")]
        public struct Range {
                public int64 start;
                public int64 end;
@@ -921,6 +1086,7 @@ namespace Soup {
                STALE
        }
        [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_CACHE_", type_id = 
"soup_cache_type_get_type ()")]
+       [Version (since = "2.34")]
        public enum CacheType {
                SINGLE_USER,
                SHARED
@@ -943,6 +1109,7 @@ namespace Soup {
                DISCONNECTED
        }
        [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_COOKIE_JAR_ACCEPT_", type_id = 
"soup_cookie_jar_accept_policy_get_type ()")]
+       [Version (since = "2.30")]
        public enum CookieJarAcceptPolicy {
                ALWAYS,
                NEVER,
@@ -979,7 +1146,7 @@ namespace Soup {
                @1_1
        }
        [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_STATUS_", type_id = 
"soup_known_status_code_get_type ()")]
-       [Deprecated (replacement = "Status", since = "vala-0.22")]
+       [Version (deprecated_since = "vala-0.22", replacement = "Status")]
        public enum KnownStatusCode {
                NONE,
                CANCELLED,
@@ -1086,6 +1253,7 @@ namespace Soup {
        }
        [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_SERVER_LISTEN_", type_id = 
"soup_server_listen_options_get_type ()")]
        [Flags]
+       [Version (since = "2.48")]
        public enum ServerListenOptions {
                HTTPS,
                IPV4_ONLY,
@@ -1164,9 +1332,11 @@ namespace Soup {
                INSUFFICIENT_STORAGE,
                NOT_EXTENDED;
                public static unowned string get_phrase (uint status_code);
+               [Version (since = "2.26")]
                public static uint proxify (uint status_code);
        }
        [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_REQUEST_ERROR_")]
+       [Version (since = "2.42")]
        public errordomain RequestError {
                BAD_URI,
                UNSUPPORTED_URI_SCHEME,
@@ -1189,6 +1359,7 @@ namespace Soup {
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_TLD_ERROR_")]
+       [Version (since = "2.40")]
        public errordomain TLDError {
                INVALID_HOSTNAME,
                IS_IP_ADDRESS,
@@ -1207,7 +1378,7 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 3.9)]
        public delegate bool AuthDomainGenericAuthCallback (Soup.AuthDomain domain, Soup.Message msg, string 
username);
        [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
-       [Deprecated]
+       [Version (deprecated = true)]
        public delegate Soup.Buffer? ChunkAllocator (Soup.Message msg, size_t max_len);
        [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
        public delegate Soup.LoggerLogLevel LoggerFilter (Soup.Logger logger, Soup.Message msg);
@@ -1304,6 +1475,7 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_H")]
        public const int COOKIE_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_ACCEPT_POLICY")]
+       [Version (since = "2.30")]
        public const string COOKIE_JAR_ACCEPT_POLICY;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_DB_FILENAME")]
        public const string COOKIE_JAR_DB_FILENAME;
@@ -1318,20 +1490,26 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_JAR_TEXT_H")]
        public const int COOKIE_JAR_TEXT_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_DAY")]
+       [Version (since = "2.24")]
        public const int COOKIE_MAX_AGE_ONE_DAY;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_HOUR")]
+       [Version (since = "2.24")]
        public const int COOKIE_MAX_AGE_ONE_HOUR;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_WEEK")]
+       [Version (since = "2.24")]
        public const int COOKIE_MAX_AGE_ONE_WEEK;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_YEAR")]
+       [Version (since = "2.24")]
        public const int COOKIE_MAX_AGE_ONE_YEAR;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_DATE_H")]
        public const int DATE_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_FORM_H")]
        public const int FORM_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_FORM_MIME_TYPE_MULTIPART")]
+       [Version (since = "2.26")]
        public const string FORM_MIME_TYPE_MULTIPART;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_FORM_MIME_TYPE_URLENCODED")]
+       [Version (since = "2.26")]
        public const string FORM_MIME_TYPE_URLENCODED;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_HEADERS_H")]
        public const int HEADERS_H;
@@ -1340,6 +1518,7 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_BODY_H")]
        public const int MESSAGE_BODY_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_FIRST_PARTY")]
+       [Version (since = "2.30")]
        public const string MESSAGE_FIRST_PARTY;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_FLAGS")]
        public const string MESSAGE_FLAGS;
@@ -1352,18 +1531,21 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_METHOD")]
        public const string MESSAGE_METHOD;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_PRIORITY")]
+       [Version (since = "2.44")]
        public const string MESSAGE_PRIORITY;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_REASON_PHRASE")]
        public const string MESSAGE_REASON_PHRASE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_REQUEST_BODY")]
        public const string MESSAGE_REQUEST_BODY;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_REQUEST_BODY_DATA")]
+       [Version (since = "2.46")]
        public const string MESSAGE_REQUEST_BODY_DATA;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_REQUEST_HEADERS")]
        public const string MESSAGE_REQUEST_HEADERS;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_RESPONSE_BODY")]
        public const string MESSAGE_RESPONSE_BODY;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_RESPONSE_BODY_DATA")]
+       [Version (since = "2.46")]
        public const string MESSAGE_RESPONSE_BODY_DATA;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_RESPONSE_HEADERS")]
        public const string MESSAGE_RESPONSE_HEADERS;
@@ -1372,8 +1554,10 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_STATUS_CODE")]
        public const string MESSAGE_STATUS_CODE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_TLS_CERTIFICATE")]
+       [Version (since = "2.34")]
        public const string MESSAGE_TLS_CERTIFICATE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_TLS_ERRORS")]
+       [Version (since = "2.34")]
        public const string MESSAGE_TLS_ERRORS;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MESSAGE_URI")]
        public const string MESSAGE_URI;
@@ -1402,39 +1586,45 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_REQUEST_HTTP_H")]
        public const int REQUEST_HTTP_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_REQUEST_SESSION")]
+       [Version (since = "2.42")]
        public const string REQUEST_SESSION;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_REQUEST_URI")]
+       [Version (since = "2.42")]
        public const string REQUEST_URI;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_ASYNC_CONTEXT")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public const string SERVER_ASYNC_CONTEXT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_H")]
        public const int SERVER_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_HTTPS_ALIASES")]
+       [Version (since = "2.44")]
        public const string SERVER_HTTPS_ALIASES;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_HTTP_ALIASES")]
        public const string SERVER_HTTP_ALIASES;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_INTERFACE")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public const string SERVER_INTERFACE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_PORT")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public const string SERVER_PORT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_RAW_PATHS")]
        public const string SERVER_RAW_PATHS;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_SERVER_HEADER")]
        public const string SERVER_SERVER_HEADER;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_SSL_CERT_FILE")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public const string SERVER_SSL_CERT_FILE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_SSL_KEY_FILE")]
-       [Deprecated]
+       [Version (deprecated = true)]
        public const string SERVER_SSL_KEY_FILE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SERVER_TLS_CERTIFICATE")]
+       [Version (since = "2.38")]
        public const string SERVER_TLS_CERTIFICATE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_ACCEPT_LANGUAGE")]
+       [Version (since = "2.30")]
        public const string SESSION_ACCEPT_LANGUAGE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_ACCEPT_LANGUAGE_AUTO")]
+       [Version (since = "2.30")]
        public const string SESSION_ACCEPT_LANGUAGE_AUTO;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_ASYNC_CONTEXT")]
        public const string SESSION_ASYNC_CONTEXT;
@@ -1445,12 +1635,16 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_H")]
        public const int SESSION_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_HTTPS_ALIASES")]
+       [Version (since = "2.38")]
        public const string SESSION_HTTPS_ALIASES;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_HTTP_ALIASES")]
+       [Version (since = "2.38")]
        public const string SESSION_HTTP_ALIASES;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_IDLE_TIMEOUT")]
+       [Version (since = "2.24")]
        public const string SESSION_IDLE_TIMEOUT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_LOCAL_ADDRESS")]
+       [Version (since = "2.42")]
        public const string SESSION_LOCAL_ADDRESS;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_MAX_CONNS")]
        public const string SESSION_MAX_CONNS;
@@ -1463,22 +1657,27 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_SSL_CA_FILE")]
        public const string SESSION_SSL_CA_FILE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_SSL_STRICT")]
+       [Version (since = "2.30")]
        public const string SESSION_SSL_STRICT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE")]
+       [Version (since = "2.38")]
        public const string SESSION_SSL_USE_SYSTEM_CA_FILE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_SYNC_H")]
        public const int SESSION_SYNC_H;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_TIMEOUT")]
        public const string SESSION_TIMEOUT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_TLS_DATABASE")]
+       [Version (since = "2.38")]
        public const string SESSION_TLS_DATABASE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_TLS_INTERACTION")]
+       [Version (since = "2.48")]
        public const string SESSION_TLS_INTERACTION;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_USER_AGENT")]
        public const string SESSION_USER_AGENT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_USE_NTLM")]
        public const string SESSION_USE_NTLM;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SESSION_USE_THREAD_CONTEXT")]
+       [Version (since = "2.38")]
        public const string SESSION_USE_THREAD_CONTEXT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SOCKET_ASYNC_CONTEXT")]
        public const string SOCKET_ASYNC_CONTEXT;
@@ -1501,12 +1700,15 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SOCKET_TIMEOUT")]
        public const string SOCKET_TIMEOUT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SOCKET_TLS_CERTIFICATE")]
+       [Version (since = "2.34")]
        public const string SOCKET_TLS_CERTIFICATE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SOCKET_TLS_ERRORS")]
+       [Version (since = "2.34")]
        public const string SOCKET_TLS_ERRORS;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SOCKET_TRUSTED_CERTIFICATE")]
        public const string SOCKET_TRUSTED_CERTIFICATE;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_SOCKET_USE_THREAD_CONTEXT")]
+       [Version (since = "2.38")]
        public const string SOCKET_USE_THREAD_CONTEXT;
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_STATUS_H")]
        public const int STATUS_H;
@@ -1519,6 +1721,7 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_XMLRPC_H")]
        public const int XMLRPC_H;
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.24")]
        public static unowned GLib.TimeoutSource add_completion (GLib.MainContext? async_context, 
GLib.SourceFunc function);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static unowned GLib.TimeoutSource add_idle (GLib.MainContext? async_context, GLib.SourceFunc 
function);
@@ -1527,52 +1730,59 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static unowned GLib.TimeoutSource add_timeout (GLib.MainContext? async_context, uint interval, 
GLib.SourceFunc function);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.24")]
        public static GLib.SList<Soup.Cookie> cookies_from_request (Soup.Message msg);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.24")]
        public static GLib.SList<Soup.Cookie> cookies_from_response (Soup.Message msg);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.24")]
        public static string cookies_to_cookie_header (GLib.SList<Soup.Cookie> cookies);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.24")]
        public static void cookies_to_request (GLib.SList<Soup.Cookie> cookies, Soup.Message msg);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.24")]
        public static void cookies_to_response (GLib.SList<Soup.Cookie> cookies, Soup.Message msg);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.decode", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.decode")]
        public static GLib.HashTable<string,string> form_decode (string encoded_form);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.decode_multipart", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.decode_multipart")]
        public static GLib.HashTable<string,string> form_decode_multipart (Soup.Message msg, string 
file_control_name, out string filename, out string content_type, out Soup.Buffer file);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.encode", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.encode")]
        public static string form_encode (...);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.encode_datalist", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.encode_datalist")]
        public static string form_encode_datalist (void* form_data_set);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.encode_hash", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.encode_hash")]
        public static string form_encode_hash (GLib.HashTable<string,string> form_data_set);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12")]
        public static string form_encode_valist (string first_field, void* args);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.request_new", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.request_new")]
        public static Soup.Message form_request_new (string method, string uri, ...);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.request_new_from_datalist", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.request_new_from_datalist")]
        public static Soup.Message form_request_new_from_datalist (string method, string uri, void* 
form_data_set);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.request_new_from_hash", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.request_new_from_hash")]
        public static Soup.Message form_request_new_from_hash (string method, string uri, 
GLib.HashTable<string,string> form_data_set);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Form.request_new_from_multipart", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "Form.request_new_from_multipart")]
        public static Soup.Message form_request_new_from_multipart (string uri, Soup.Multipart multipart);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static bool header_contains (string header, string token);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static void header_free_param_list (GLib.HashTable<string,string> param_list);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.26")]
        public static void header_g_string_append_param (GLib.StringBuilder string, string name, string 
value);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.30")]
        public static void header_g_string_append_param_quoted (GLib.StringBuilder string, string name, 
string value);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static GLib.SList<string> header_parse_list (string header);
@@ -1581,8 +1791,10 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static GLib.SList<string> header_parse_quality_list (string header, out GLib.SList<string> 
unacceptable);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.24")]
        public static GLib.HashTable<string,string> header_parse_semi_param_list (string header);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.26")]
        public static bool headers_parse (string str, int len, Soup.MessageHeaders dest);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static uint headers_parse_request (string str, int len, Soup.MessageHeaders req_headers, out 
string req_method, out string req_path, out Soup.HTTPVersion ver);
@@ -1593,21 +1805,23 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static GLib.Quark http_error_quark ();
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "SSLError.quark", since = "vala-0.14")]
+       [Version (deprecated_since = "vala-0.14", replacement = "SSLError.quark")]
        public static GLib.Quark ssl_error_quark ();
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Status.get_phrase", since = "vala-0.22")]
+       [Version (deprecated_since = "vala-0.22", replacement = "Status.get_phrase")]
        public static unowned string status_get_phrase (uint status_code);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "Status.proxify", since = "vala-0.22")]
+       [Version (deprecated_since = "vala-0.22", replacement = "Status.proxify")]
        public static uint status_proxify (uint status_code);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static bool str_case_equal (void* v1, void* v2);
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static uint str_case_hash (void* key);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.40")]
        public static bool tld_domain_is_public_suffix (string domain);
        [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (since = "2.40")]
        public static unowned string tld_get_base_domain (string hostname) throws GLib.Error;
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static void value_array_append (GLib.ValueArray array, GLib.Type type, ...);
@@ -1640,41 +1854,41 @@ namespace Soup {
        [CCode (cheader_filename = "libsoup/soup.h")]
        public static GLib.HashTable<string,GLib.Value?> value_hash_new_with_vals (...);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.build_fault", since = "vala-0.12")]
        [PrintfFormat]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.build_fault")]
        public static unowned string xmlrpc_build_fault (int fault_code, string fault_format, ...);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.build_method_call", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.build_method_call")]
        public static unowned string xmlrpc_build_method_call (string method_name, GLib.Value[] @params);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.build_method_response", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.build_method_response")]
        public static unowned string xmlrpc_build_method_response (GLib.Value value);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.error_quark", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.error_quark")]
        public static GLib.Quark xmlrpc_error_quark ();
        [CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
-       [Deprecated (replacement = "XMLRPC.extract_method_call", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.extract_method_call")]
        public static bool xmlrpc_extract_method_call (string method_call, int length, out unowned string 
method_name, ...);
        [CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
-       [Deprecated (replacement = "XMLRPC.extract_method_response", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.extract_method_response")]
        public static bool xmlrpc_extract_method_response (string method_response, int length, ...) throws 
GLib.Error;
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.fault_quark", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.fault_quark")]
        public static GLib.Quark xmlrpc_fault_quark ();
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.parse_method_call", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.parse_method_call")]
        public static bool xmlrpc_parse_method_call (string method_call, int length, out unowned string 
method_name, out unowned GLib.ValueArray @params);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.parse_method_response", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.parse_method_response")]
        public static bool xmlrpc_parse_method_response (string method_response, int length, GLib.Value 
value) throws GLib.Error;
        [CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
-       [Deprecated (replacement = "XMLRPC.request_new", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.request_new")]
        public static unowned Soup.Message xmlrpc_request_new (string uri, string method_name, ...);
        [CCode (cheader_filename = "libsoup/soup.h")]
-       [Deprecated (replacement = "XMLRPC.set_fault", since = "vala-0.12")]
        [PrintfFormat]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.set_fault")]
        public static void xmlrpc_set_fault (Soup.Message msg, int fault_code, string fault_format, ...);
        [CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
-       [Deprecated (replacement = "XMLRPC.set_response", since = "vala-0.12")]
+       [Version (deprecated_since = "vala-0.12", replacement = "XMLRPC.set_response")]
        public static void xmlrpc_set_response (Soup.Message msg, ...);
 }
diff --git a/vapi/libwnck-1.0.vapi b/vapi/libwnck-1.0.vapi
index e374e03..6e57da1 100644
--- a/vapi/libwnck-1.0.vapi
+++ b/vapi/libwnck-1.0.vapi
@@ -1,6 +1,6 @@
 /* libwnck-1.0.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "libwnck-3.0")]
+[Version (replacement = "libwnck-3.0")]
 namespace Wnck {
        [CCode (cheader_filename = "libwnck/libwnck.h")]
        public class ActionMenu : Gtk.Menu, Atk.Implementor, Gtk.Buildable {
diff --git a/vapi/libwnck-3.0.vapi b/vapi/libwnck-3.0.vapi
index bbe7193..194457c 100644
--- a/vapi/libwnck-3.0.vapi
+++ b/vapi/libwnck-3.0.vapi
@@ -4,15 +4,19 @@
 namespace Wnck {
        namespace Version {
                [CCode (cheader_filename = "libwnck/libwnck.h", cname = "WNCK_MAJOR_VERSION")]
+               [Version (since = "3.0")]
                public const int MAJOR_VERSION;
                [CCode (cheader_filename = "libwnck/libwnck.h", cname = "WNCK_MICRO_VERSION")]
+               [Version (since = "3.0")]
                public const int MICRO_VERSION;
                [CCode (cheader_filename = "libwnck/libwnck.h", cname = "WNCK_MINOR_VERSION")]
+               [Version (since = "3.0")]
                public const int MINOR_VERSION;
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", type_id = "wnck_action_menu_get_type ()")]
        public class ActionMenu : Gtk.Menu, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.22")]
                public ActionMenu (Wnck.Window window);
                [NoAccessorMethod]
                public void* window { get; construct; }
@@ -29,6 +33,7 @@ namespace Wnck {
                public int get_n_windows ();
                public unowned string get_name ();
                public int get_pid ();
+               [Version (since = "2.2")]
                public unowned string get_startup_id ();
                public unowned GLib.List<Wnck.Window> get_windows ();
                public ulong get_xid ();
@@ -39,13 +44,19 @@ namespace Wnck {
        public class ClassGroup : GLib.Object {
                [CCode (has_construct_function = false)]
                protected ClassGroup ();
+               [Version (since = "2.2")]
                public static unowned Wnck.ClassGroup @get (string id);
+               [Version (since = "2.2")]
                public unowned Gdk.Pixbuf get_icon ();
+               [Version (since = "3.2")]
                public unowned string get_id ();
+               [Version (since = "2.2")]
                public unowned Gdk.Pixbuf get_mini_icon ();
+               [Version (since = "2.2")]
                public unowned string get_name ();
-               [Deprecated (since = "3.2")]
+               [Version (deprecated = true, deprecated_since = "3.2", since = "2.2")]
                public unowned string get_res_class ();
+               [Version (since = "2.2")]
                public unowned GLib.List<Wnck.Window> get_windows ();
                public virtual signal void icon_changed ();
                public virtual signal void name_changed ();
@@ -57,6 +68,7 @@ namespace Wnck {
                public void set_display_mode (Wnck.PagerDisplayMode mode);
                public bool set_n_rows (int n_rows);
                public bool set_orientation (Gtk.Orientation orientation);
+               [Version (since = "2.2")]
                public void set_shadow_type (Gtk.ShadowType shadow_type);
                public void set_show_all (bool show_all_workspaces);
        }
@@ -64,11 +76,12 @@ namespace Wnck {
        public class Screen : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Screen ();
-               [Deprecated (since = "2.20")]
+               [Version (deprecated = true, deprecated_since = "2.20", since = "2.12")]
                public void calc_workspace_layout (int num_workspaces, int space_index, Wnck.WorkspaceLayout 
layout);
+               [Version (since = "2.2")]
                public void change_workspace_count (int count);
                public void force_update ();
-               [Deprecated (since = "2.20")]
+               [Version (deprecated = true, deprecated_since = "2.20", since = "2.12")]
                public static void free_workspace_layout (Wnck.WorkspaceLayout layout);
                public static unowned Wnck.Screen @get (int index);
                public unowned Wnck.Window get_active_window ();
@@ -77,19 +90,26 @@ namespace Wnck {
                public static unowned Wnck.Screen get_default ();
                public static unowned Wnck.Screen get_for_root (ulong root_window_id);
                public int get_height ();
+               [Version (since = "2.20")]
                public int get_number ();
+               [Version (since = "2.8")]
                public unowned Wnck.Window get_previously_active_window ();
+               [Version (since = "2.2")]
                public bool get_showing_desktop ();
                public int get_width ();
+               [Version (since = "2.20")]
                public unowned string get_window_manager_name ();
                public unowned GLib.List<Wnck.Window> get_windows ();
                public unowned GLib.List<Wnck.Window> get_windows_stacked ();
                public unowned Wnck.Workspace get_workspace (int workspace);
                public int get_workspace_count ();
+               [Version (since = "2.20")]
                public unowned GLib.List<Wnck.Workspace> get_workspaces ();
+               [Version (since = "2.4")]
                public void move_viewport (int x, int y);
                public bool net_wm_supports (string atom);
                public void release_workspace_layout (int current_token);
+               [Version (since = "2.2")]
                public void toggle_showing_desktop (bool show);
                public int try_set_workspace_layout (int current_token, int rows, int columns);
                public virtual signal void active_window_changed (Wnck.Window previous_window);
@@ -97,11 +117,16 @@ namespace Wnck {
                public virtual signal void application_closed (Wnck.Application app);
                public virtual signal void application_opened (Wnck.Application app);
                public virtual signal void background_changed ();
+               [Version (since = "2.20")]
                public virtual signal void class_group_closed (Wnck.ClassGroup class_group);
+               [Version (since = "2.20")]
                public virtual signal void class_group_opened (Wnck.ClassGroup class_group);
+               [Version (since = "2.20")]
                public virtual signal void showing_desktop_changed ();
+               [Version (since = "2.20")]
                public virtual signal void viewports_changed ();
                public virtual signal void window_closed (Wnck.Window window);
+               [Version (since = "2.20")]
                public virtual signal void window_manager_changed ();
                public virtual signal void window_opened (Wnck.Window window);
                public virtual signal void window_stacking_changed ();
@@ -111,6 +136,7 @@ namespace Wnck {
        [CCode (cheader_filename = "libwnck/libwnck.h", type_id = "wnck_selector_get_type ()")]
        public class Selector : Gtk.MenuBar, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.10")]
                public Selector ();
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", type_id = "wnck_tasklist_get_type ()")]
@@ -118,11 +144,14 @@ namespace Wnck {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Tasklist ();
                public int get_size_hint_list (int n_elements);
+               [Version (since = "2.12")]
                public void set_button_relief (Gtk.ReliefStyle relief);
                public void set_grouping (Wnck.TasklistGroupingType grouping);
                public void set_grouping_limit (int limit);
                public void set_include_all_workspaces (bool include_all_workspaces);
+               [Version (since = "3.4.6")]
                public void set_middle_click_close (bool middle_click_close);
+               [Version (since = "3.4.6")]
                public void set_orientation (Gtk.Orientation orient);
                public void set_switch_workspace_on_unminimize (bool switch_workspace_on_unminimize);
        }
@@ -130,15 +159,20 @@ namespace Wnck {
        public class Window : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Window ();
+               [Version (since = "2.10")]
                public void activate (uint32 timestamp);
+               [Version (since = "2.10")]
                public void activate_transient (uint32 timestamp);
+               [Version (since = "2.6")]
                public void close (uint32 timestamp);
                public static unowned Wnck.Window @get (ulong xwindow);
                public Wnck.WindowActions get_actions ();
                public unowned Wnck.Application get_application ();
+               [Version (since = "2.2")]
                public unowned Wnck.ClassGroup get_class_group ();
                public unowned string get_class_group_name ();
                public unowned string get_class_instance_name ();
+               [Version (since = "2.20")]
                public void get_client_window_geometry (out int xp, out int yp, out int widthp, out int 
heightp);
                public void get_geometry (out int xp, out int yp, out int widthp, out int heightp);
                public ulong get_group_leader ();
@@ -152,23 +186,32 @@ namespace Wnck {
                public unowned Wnck.Screen get_screen ();
                public unowned string get_session_id ();
                public unowned string get_session_id_utf8 ();
+               [Version (since = "2.10")]
                public int get_sort_order ();
                public Wnck.WindowState get_state ();
+               [Version (since = "2.12")]
                public unowned Wnck.Window get_transient ();
                public Wnck.WindowType get_window_type ();
                public unowned Wnck.Workspace get_workspace ();
                public ulong get_xid ();
+               [Version (since = "2.16")]
                public bool has_icon_name ();
+               [Version (since = "2.16")]
                public bool has_name ();
+               [Version (since = "2.14")]
                public bool is_above ();
                public bool is_active ();
+               [Version (since = "2.20")]
                public bool is_below ();
+               [Version (since = "2.8")]
                public bool is_fullscreen ();
+               [Version (since = "2.4")]
                public bool is_in_viewport (Wnck.Workspace workspace);
                public bool is_maximized ();
                public bool is_maximized_horizontally ();
                public bool is_maximized_vertically ();
                public bool is_minimized ();
+               [Version (since = "2.8")]
                public bool is_most_recently_activated ();
                public bool is_on_workspace (Wnck.Workspace workspace);
                public bool is_pinned ();
@@ -179,27 +222,38 @@ namespace Wnck {
                public bool is_visible_on_workspace (Wnck.Workspace workspace);
                public void keyboard_move ();
                public void keyboard_size ();
+               [Version (since = "2.14")]
                public void make_above ();
+               [Version (since = "2.20")]
                public void make_below ();
                public void maximize ();
                public void maximize_horizontally ();
                public void maximize_vertically ();
                public void minimize ();
                public void move_to_workspace (Wnck.Workspace space);
+               [Version (since = "2.12")]
                public bool needs_attention ();
+               [Version (since = "2.12")]
                public bool or_transient_needs_attention ();
                public void pin ();
+               [Version (since = "2.8")]
                public void set_fullscreen (bool fullscreen);
+               [Version (since = "2.16")]
                public void set_geometry (Wnck.WindowGravity gravity, Wnck.WindowMoveResizeMask 
geometry_mask, int x, int y, int width, int height);
                public void set_icon_geometry (int x, int y, int width, int height);
                public void set_skip_pager (bool skip);
                public void set_skip_tasklist (bool skip);
+               [Version (since = "2.20")]
                public void set_sort_order (int order);
+               [Version (since = "2.12")]
                public void set_window_type (Wnck.WindowType wintype);
                public void shade ();
                public void stick ();
+               [Version (since = "2.12")]
                public bool transient_is_most_recently_activated ();
+               [Version (since = "2.14")]
                public void unmake_above ();
+               [Version (since = "2.20")]
                public void unmake_below ();
                public void unmaximize ();
                public void unmaximize_horizontally ();
@@ -221,22 +275,33 @@ namespace Wnck {
        public class Workspace : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Workspace ();
+               [Version (since = "2.10")]
                public void activate (uint32 timestamp);
+               [Version (since = "2.2")]
                public void change_name (string name);
+               [Version (since = "2.4")]
                public int get_height ();
+               [Version (since = "2.20")]
                public int get_layout_column ();
+               [Version (since = "2.20")]
                public int get_layout_row ();
                public unowned string get_name ();
+               [Version (since = "2.20")]
                public unowned Wnck.Workspace get_neighbor (Wnck.MotionDirection direction);
                public int get_number ();
                public unowned Wnck.Screen get_screen ();
+               [Version (since = "2.4")]
                public int get_viewport_x ();
+               [Version (since = "2.4")]
                public int get_viewport_y ();
+               [Version (since = "2.4")]
                public int get_width ();
+               [Version (since = "2.4")]
                public bool is_virtual ();
                public virtual signal void name_changed ();
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", has_type_id = false)]
+       [Version (since = "2.6")]
        public struct ResourceUsage {
                public ulong total_bytes_estimate;
                public ulong pixmap_bytes;
@@ -256,7 +321,7 @@ namespace Wnck {
                public static Wnck.ResourceUsage xid_read (Gdk.Display gdk_display, ulong xid);
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", has_type_id = false)]
-       [Deprecated (since = "2.20")]
+       [Version (deprecated = true, deprecated_since = "2.20", since = "2.12")]
        public struct WorkspaceLayout {
                public int rows;
                public int cols;
@@ -266,11 +331,13 @@ namespace Wnck {
                public int current_col;
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", cprefix = "WNCK_CLIENT_TYPE_", type_id = 
"wnck_client_type_get_type ()")]
+       [Version (since = "2.14")]
        public enum ClientType {
                APPLICATION,
                PAGER
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", cprefix = "WNCK_MOTION_", type_id = 
"wnck_motion_direction_get_type ()")]
+       [Version (since = "2.14")]
        public enum MotionDirection {
                UP,
                DOWN,
@@ -312,6 +379,7 @@ namespace Wnck {
                BELOW
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", cprefix = "WNCK_WINDOW_GRAVITY_", type_id = 
"wnck_window_gravity_get_type ()")]
+       [Version (since = "2.16")]
        public enum WindowGravity {
                CURRENT,
                NORTHWEST,
@@ -327,6 +395,7 @@ namespace Wnck {
        }
        [CCode (cheader_filename = "libwnck/libwnck.h", cprefix = "WNCK_WINDOW_CHANGE_", type_id = 
"wnck_window_move_resize_mask_get_type ()")]
        [Flags]
+       [Version (since = "2.16")]
        public enum WindowMoveResizeMask {
                X,
                Y,
@@ -378,11 +447,15 @@ namespace Wnck {
        [CCode (cheader_filename = "libwnck/libwnck.h", cname = "WNCK_DEFAULT_MINI_ICON_SIZE")]
        public const int DEFAULT_MINI_ICON_SIZE;
        [CCode (cheader_filename = "libwnck/libwnck.h")]
+       [Version (since = "2.14")]
        public static void set_client_type (Wnck.ClientType ewmh_sourceindication_client_type);
        [CCode (cheader_filename = "libwnck/libwnck.h")]
+       [Version (since = "2.4.6")]
        public static void set_default_icon_size (size_t size);
        [CCode (cheader_filename = "libwnck/libwnck.h")]
+       [Version (since = "2.4.6")]
        public static void set_default_mini_icon_size (size_t size);
        [CCode (cheader_filename = "libwnck/libwnck.h")]
+       [Version (since = "3.4")]
        public static void shutdown ();
 }
diff --git a/vapi/linux.vapi b/vapi/linux.vapi
index 5cceea1..be44239 100644
--- a/vapi/linux.vapi
+++ b/vapi/linux.vapi
@@ -1025,13 +1025,13 @@ namespace Linux {
         DT_WHT
     }
 
-    [Deprecated (since = "vala-0.26", replacement = "Backtrace.get"), CCode (cheader_filename = 
"execinfo.h")]
+    [Version (deprecated_since = "vala-0.26", replacement = "Backtrace.get"), CCode (cheader_filename = 
"execinfo.h")]
     public int backtrace (void* buffer, int size);
 
-    [Deprecated (since = "vala-0.26", replacement = "Backtrace.symbols"), CCode (cheader_filename = 
"execinfo.h", array_length = false)]
+    [Version (deprecated_since = "vala-0.26", replacement = "Backtrace.symbols"), CCode (cheader_filename = 
"execinfo.h", array_length = false)]
     public (unowned string)[]? backtrace_symbols (void* buffer, int size);
 
-    [Deprecated (since = "vala-0.26", replacement = "Backtrace.symbols_fd"), CCode (cheader_filename = 
"execinfo.h")]
+    [Version (deprecated_since = "vala-0.26", replacement = "Backtrace.symbols_fd"), CCode (cheader_filename 
= "execinfo.h")]
     public void backtrace_symbols_fd (void* buffer, int size, int fd);
 
     namespace Backtrace {
diff --git a/vapi/mx-1.0.vapi b/vapi/mx-1.0.vapi
index 14662b1..a26623f 100644
--- a/vapi/mx-1.0.vapi
+++ b/vapi/mx-1.0.vapi
@@ -16,46 +16,68 @@ namespace Mx {
                public void set_icon (string name);
                public void set_name (string name);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.4")]
                public Action.stateful (string name, GLib.VariantType? parameter_type, GLib.Variant state);
                [CCode (has_construct_function = false)]
+               [Version (since = "1.4")]
                public Action.with_parameter (string name, GLib.VariantType? parameter_type);
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4")]
                public bool active { get; set; }
                public string display_name { get; set; }
                public string icon { get; set; }
+               [Version (since = "1.4")]
                public signal void activate (GLib.Variant? parameter);
-               [Deprecated (since = "1.4")]
+               [Version (deprecated = true, deprecated_since = "1.4")]
                public virtual signal void activated ();
        }
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_actor_manager_get_type ()")]
        public class ActorManager : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "1.2")]
                public ActorManager (Clutter.Stage stage);
+               [Version (since = "1.2")]
                public ulong add_actor (Clutter.Container container, Clutter.Actor actor);
+               [Version (since = "1.2")]
                public void cancel_operation (ulong id);
+               [Version (since = "1.2")]
                public void cancel_operations (Clutter.Actor actor);
+               [Version (since = "1.2")]
                public static unowned Mx.ActorManager get_for_stage (Clutter.Stage stage);
+               [Version (since = "1.2")]
                public uint get_n_operations ();
+               [Version (since = "1.2")]
                public unowned Clutter.Stage get_stage ();
+               [Version (since = "1.2")]
                public uint get_time_slice ();
+               [Version (since = "1.2")]
                public ulong remove_actor (Clutter.Container container, Clutter.Actor actor);
+               [Version (since = "1.2")]
                public void remove_container (Clutter.Container container);
+               [Version (since = "1.2")]
                public void set_time_slice (uint msecs);
                public uint n_operations { get; }
                public Clutter.Stage stage { get; construct; }
                public uint time_slice { get; set; }
+               [Version (since = "1.2")]
                public virtual signal void actor_added (ulong id, Clutter.Actor container, Clutter.Actor 
actor);
+               [Version (since = "1.2")]
                public virtual signal void actor_created (ulong id, Clutter.Actor actor);
+               [Version (since = "1.2")]
                public virtual signal void actor_finished (Clutter.Actor actor);
+               [Version (since = "1.2")]
                public virtual signal void actor_removed (ulong id, Clutter.Actor container, Clutter.Actor 
actor);
+               [Version (since = "1.2")]
                public virtual signal void operation_cancelled (ulong id);
+               [Version (since = "1.2")]
                public virtual signal void operation_completed (ulong id);
+               [Version (since = "1.2")]
                public virtual signal void operation_failed (ulong id, GLib.Error error);
        }
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_adjustment_get_type ()")]
        public class Adjustment : GLib.Object {
                [CCode (has_construct_function = false)]
                public Adjustment ();
+               [Version (since = "1.2")]
                public bool get_clamp_value ();
                public bool get_elastic ();
                public double get_lower ();
@@ -67,6 +89,7 @@ namespace Mx {
                public void get_values (double value, double lower, double upper, double step_increment, 
double page_increment, double page_size);
                public void interpolate (double value, uint duration, ulong mode);
                public void interpolate_relative (double offset, uint duration, ulong mode);
+               [Version (since = "1.2")]
                public void set_clamp_value (bool clamp);
                public void set_elastic (bool elastic);
                public void set_lower (double lower);
@@ -100,6 +123,7 @@ namespace Mx {
                public Mx.ApplicationFlags get_flags ();
                public unowned GLib.List<Mx.Window> get_windows ();
                public void invoke_action (string name);
+               [Version (since = "1.4")]
                public void invoke_action_with_parameter (string name, GLib.Variant variant);
                public bool is_running ();
                public void quit ();
@@ -163,10 +187,12 @@ namespace Mx {
                public void child_set_y_fill (Clutter.Actor child, bool y_fill);
                public bool get_enable_animations ();
                public Mx.Orientation get_orientation ();
+               [Version (since = "1.2")]
                public bool get_scroll_to_focused ();
                public uint get_spacing ();
                public void set_enable_animations (bool enable_animations);
                public void set_orientation (Mx.Orientation orientation);
+               [Version (since = "1.2")]
                public void set_scroll_to_focused (bool scroll_to_focused);
                public void set_spacing (uint spacing);
                public bool enable_animations { get; set; }
@@ -178,25 +204,25 @@ namespace Mx {
        public class BoxLayoutChild : Clutter.ChildMeta {
                [CCode (has_construct_function = false)]
                protected BoxLayoutChild ();
-               [Deprecated (replacement = "BoxLayout.child_get_expand", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_get_expand")]
                public static bool get_expand (Mx.BoxLayout box_layout, Clutter.Actor child);
-               [Deprecated (replacement = "BoxLayout.child_get_x_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_get_x_align")]
                public static Mx.Align get_x_align (Mx.BoxLayout box_layout, Clutter.Actor child);
-               [Deprecated (replacement = "BoxLayout.child_get_x_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_get_x_fill")]
                public static bool get_x_fill (Mx.BoxLayout box_layout, Clutter.Actor child);
-               [Deprecated (replacement = "BoxLayout.child_get_y_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_get_y_align")]
                public static Mx.Align get_y_align (Mx.BoxLayout box_layout, Clutter.Actor child);
-               [Deprecated (replacement = "BoxLayout.child_get_y_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_get_y_fill")]
                public static bool get_y_fill (Mx.BoxLayout box_layout, Clutter.Actor child);
-               [Deprecated (replacement = "BoxLayout.child_set_expand", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_set_expand")]
                public static void set_expand (Mx.BoxLayout box_layout, Clutter.Actor child, bool expand);
-               [Deprecated (replacement = "BoxLayout.child_set_x_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_set_x_align")]
                public static void set_x_align (Mx.BoxLayout box_layout, Clutter.Actor child, Mx.Align 
x_align);
-               [Deprecated (replacement = "BoxLayout.child_set_x_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_set_x_fill")]
                public static void set_x_fill (Mx.BoxLayout box_layout, Clutter.Actor child, bool x_fill);
-               [Deprecated (replacement = "BoxLayout.child_set_y_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_set_y_align")]
                public static void set_y_align (Mx.BoxLayout box_layout, Clutter.Actor child, Mx.Align 
y_align);
-               [Deprecated (replacement = "BoxLayout.child_set_y_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "BoxLayout.child_set_y_fill")]
                public static void set_y_fill (Mx.BoxLayout box_layout, Clutter.Actor child, bool y_fill);
                [NoAccessorMethod]
                public bool expand { get; set; }
@@ -213,22 +239,34 @@ namespace Mx {
        public class Button : Mx.Bin, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Focusable, Mx.Stylable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Button ();
+               [Version (since = "1.2")]
                public unowned Mx.Action get_action ();
+               [Version (since = "1.2")]
                public unowned string get_icon_name ();
+               [Version (since = "1.2")]
                public Mx.Position get_icon_position ();
+               [Version (since = "1.2")]
                public uint get_icon_size ();
+               [Version (since = "1.2")]
                public bool get_icon_visible ();
                public bool get_is_toggle ();
                public unowned string get_label ();
+               [Version (since = "1.2")]
                public bool get_label_visible ();
                public bool get_toggled ();
+               [Version (since = "1.2")]
                public void set_action (Mx.Action action);
+               [Version (since = "1.2")]
                public void set_icon_name (string? icon_name);
+               [Version (since = "1.2")]
                public void set_icon_position (Mx.Position position);
+               [Version (since = "1.2")]
                public void set_icon_size (uint icon_size);
+               [Version (since = "1.2")]
                public void set_icon_visible (bool visible);
                public void set_is_toggle (bool toggle);
                public void set_label (string text);
+               [Version (since = "1.2")]
                public void set_label_visible (bool visible);
                public void set_toggled (bool toggled);
                [CCode (has_construct_function = false, type = "ClutterActor*")]
@@ -278,6 +316,7 @@ namespace Mx {
                public void insert_text (int position, string text);
                public void insert_text_with_icon (int position, string text, string icon);
                public void prepend_text (string text);
+               [Version (since = "1.4")]
                public void remove_all ();
                public void remove_text (int position);
                public void set_active_icon_name (string? icon_name);
@@ -352,10 +391,15 @@ namespace Mx {
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_dialog_get_type ()")]
        public class Dialog : Mx.Bin, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Focusable, Mx.Stylable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
+               [Version (since = "1.2")]
                public Dialog ();
+               [Version (since = "1.2")]
                public void add_action (Mx.Action action);
+               [Version (since = "1.2")]
                public GLib.List<weak Mx.Action> get_actions ();
+               [Version (since = "1.2")]
                public void remove_action (Mx.Action action);
+               [Version (since = "1.2")]
                public void set_transient_parent (Clutter.Actor actor);
        }
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_entry_get_type ()")]
@@ -404,12 +448,19 @@ namespace Mx {
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_fade_effect_get_type ()")]
        public class FadeEffect : Clutter.OffscreenEffect {
                [CCode (has_construct_function = false, type = "ClutterEffect*")]
+               [Version (since = "1.2")]
                public FadeEffect ();
+               [Version (since = "1.2")]
                public void get_border (out uint top, out uint right, out uint bottom, out uint left);
+               [Version (since = "1.2")]
                public void get_bounds (out int x, out int y, out uint width, out uint height);
+               [Version (since = "1.2")]
                public Clutter.Color get_color ();
+               [Version (since = "1.2")]
                public void set_border (uint top, uint right, uint bottom, uint left);
+               [Version (since = "1.2")]
                public void set_bounds (int x, int y, uint width, uint height);
+               [Version (since = "1.2")]
                public void set_color (Clutter.Color color);
                [NoAccessorMethod]
                public uint border_bottom { get; set; }
@@ -449,6 +500,7 @@ namespace Mx {
                public unowned Clutter.Stage get_stage ();
                public void move_focus (Mx.FocusDirection direction);
                public void push_focus (Mx.Focusable focusable);
+               [Version (since = "1.2")]
                public void push_focus_with_hint (Mx.Focusable focusable, Mx.FocusHint hint);
                public Clutter.Actor focused { get; }
                public Clutter.Stage stage { get; }
@@ -518,28 +570,51 @@ namespace Mx {
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_image_get_type ()")]
        public class Image : Mx.Widget, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Stylable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
+               [Version (since = "1.2")]
                public Image ();
+               [Version (since = "1.2")]
                public void animate_scale_mode (ulong mode, uint duration, Mx.ImageScaleMode scale_mode);
+               [Version (since = "1.2")]
                public void clear ();
+               [Version (since = "1.2")]
                public bool get_allow_upscale ();
+               [Version (since = "1.2")]
                public float get_image_rotation ();
+               [Version (since = "1.2")]
                public bool get_load_async ();
+               [Version (since = "1.2")]
                public uint get_scale_height_threshold ();
+               [Version (since = "1.2")]
                public Mx.ImageScaleMode get_scale_mode ();
+               [Version (since = "1.2")]
                public uint get_scale_width_threshold ();
+               [Version (since = "1.2")]
                public uint get_transition_duration ();
+               [Version (since = "1.2")]
                public void set_allow_upscale (bool allow);
+               [Version (since = "1.2")]
                public bool set_from_buffer ([CCode (array_length_cname = "buffer_size", array_length_pos = 
1.5, array_length_type = "gsize")] owned uint8[]? buffer, GLib.DestroyNotify? buffer_free_func) throws 
GLib.Error;
+               [Version (since = "1.2")]
                public bool set_from_buffer_at_size ([CCode (array_length_cname = "buffer_size", 
array_length_pos = 1.5, array_length_type = "gsize")] owned uint8[]? buffer, GLib.DestroyNotify? 
buffer_free_func, int width, int height) throws GLib.Error;
+               [Version (since = "1.2")]
                public bool set_from_cogl_texture (Cogl.Handle texture);
+               [Version (since = "1.2")]
                public bool set_from_data ([CCode (array_length = false)] uint8[]? data, Cogl.PixelFormat 
pixel_format, int width, int height, int rowstride) throws GLib.Error;
+               [Version (since = "1.2")]
                public bool set_from_file (string filename) throws GLib.Error;
+               [Version (since = "1.2")]
                public bool set_from_file_at_size (string filename, int width, int height) throws GLib.Error;
+               [Version (since = "1.2")]
                public void set_image_rotation (float rotation);
+               [Version (since = "1.2")]
                public void set_load_async (bool load_async);
+               [Version (since = "1.2")]
                public void set_scale_height_threshold (uint pixels);
+               [Version (since = "1.2")]
                public void set_scale_mode (Mx.ImageScaleMode mode);
+               [Version (since = "1.2")]
                public void set_scale_width_threshold (uint pixels);
+               [Version (since = "1.2")]
                public void set_transition_duration (uint duration);
                public bool allow_upscale { get; set; }
                public float image_rotation { get; set; }
@@ -548,7 +623,9 @@ namespace Mx {
                public Mx.ImageScaleMode scale_mode { get; set; }
                public uint scale_width_threshold { get; set; }
                public uint transition_duration { get; set; }
+               [Version (since = "1.2")]
                public virtual signal void image_load_error (GLib.Error error);
+               [Version (since = "1.2")]
                public virtual signal void image_loaded ();
        }
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_item_view_get_type ()")]
@@ -571,25 +648,43 @@ namespace Mx {
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_kinetic_scroll_view_get_type ()")]
        public class KineticScrollView : Mx.Bin, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Focusable, Mx.Scrollable, Mx.Stylable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
+               [Version (since = "1.2")]
                public KineticScrollView ();
+               [Version (since = "1.4")]
                public double get_acceleration_factor ();
+               [Version (since = "1.4")]
                public uint get_clamp_duration ();
+               [Version (since = "1.4")]
                public ulong get_clamp_mode ();
+               [Version (since = "1.4")]
                public bool get_clamp_to_center ();
+               [Version (since = "1.2")]
                public double get_deceleration ();
+               [Version (since = "1.2")]
                public uint32 get_mouse_button ();
+               [Version (since = "1.2")]
                public double get_overshoot ();
                public Mx.ScrollPolicy get_scroll_policy ();
+               [Version (since = "1.2")]
                public bool get_use_captured ();
+               [Version (since = "1.4")]
                public void set_acceleration_factor (double acceleration_factor);
+               [Version (since = "1.4")]
                public void set_clamp_duration (uint clamp_duration);
+               [Version (since = "1.4")]
                public void set_clamp_mode (ulong clamp_mode);
+               [Version (since = "1.4")]
                public void set_clamp_to_center (bool clamp_to_center);
+               [Version (since = "1.2")]
                public void set_deceleration (double rate);
+               [Version (since = "1.2")]
                public void set_mouse_button (uint32 button);
+               [Version (since = "1.2")]
                public void set_overshoot (double overshoot);
                public void set_scroll_policy (Mx.ScrollPolicy policy);
+               [Version (since = "1.2")]
                public void set_use_captured (bool use_captured);
+               [Version (since = "1.2")]
                public void stop ();
                public double acceleration_factor { get; set; }
                public uint clamp_duration { get; set; }
@@ -608,15 +703,22 @@ namespace Mx {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Label ();
                public unowned Clutter.Actor get_clutter_text ();
+               [Version (since = "1.2")]
                public bool get_fade_out ();
+               [Version (since = "1.2")]
                public bool get_line_wrap ();
+               [Version (since = "1.4")]
                public bool get_show_tooltip ();
                public unowned string get_text ();
+               [Version (since = "1.2")]
                public bool get_use_markup ();
                public Mx.Align get_x_align ();
                public Mx.Align get_y_align ();
+               [Version (since = "1.2")]
                public void set_fade_out (bool fade);
+               [Version (since = "1.2")]
                public void set_line_wrap (bool line_wrap);
+               [Version (since = "1.4")]
                public void set_show_tooltip (bool show_tooltip);
                public void set_text (string text);
                public void set_use_markup (bool use_markup);
@@ -626,7 +728,9 @@ namespace Mx {
                public Label.with_text (string text);
                public Clutter.Text clutter_text { get; }
                public bool fade_out { get; set; }
+               [Version (since = "1.2")]
                public bool line_wrap { get; set; }
+               [Version (since = "1.4")]
                public bool show_tooltip { get; set; }
                public string text { get; set; }
                public bool use_markup { get; set; }
@@ -675,19 +779,25 @@ namespace Mx {
        public class Offscreen : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Focusable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Offscreen ();
+               [Version (since = "1.2")]
                public bool get_accumulation_enabled ();
+               [Version (since = "1.2")]
                public unowned Cogl.Handle get_accumulation_material ();
                public bool get_auto_update ();
+               [Version (since = "1.2")]
                public unowned Cogl.Handle get_buffer ();
                public unowned Clutter.Actor get_child ();
                public bool get_pick_child ();
+               [Version (since = "1.2")]
                public bool get_redirect_enabled ();
                [NoWrapper]
                public virtual void paint_child ();
+               [Version (since = "1.2")]
                public void set_accumulation_enabled (bool enable);
                public void set_auto_update (bool auto_update);
                public void set_child (Clutter.Actor actor);
                public void set_pick_child (bool pick);
+               [Version (since = "1.2")]
                public void set_redirect_enabled (bool enabled);
                public void update ();
                public bool accumulation_enabled { get; set; }
@@ -782,8 +892,10 @@ namespace Mx {
        public class Slider : Mx.Widget, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Focusable, Mx.Stylable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
                public Slider ();
+               [Version (since = "1.2")]
                public double get_buffer_value ();
                public double get_value ();
+               [Version (since = "1.2")]
                public void set_buffer_value (double value);
                public void set_value (double value);
                public double buffer_value { get; set; }
@@ -792,27 +904,44 @@ namespace Mx {
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_spinner_get_type ()")]
        public class Spinner : Mx.Widget, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Stylable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
+               [Version (since = "1.2")]
                public Spinner ();
+               [Version (since = "1.2")]
                public bool get_animating ();
+               [Version (since = "1.2")]
                public void set_animating (bool animating);
                public bool animating { get; set; }
+               [Version (since = "1.2")]
                public virtual signal void looped ();
        }
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_stack_get_type ()")]
        public class Stack : Mx.Widget, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Focusable, Mx.Stylable {
                [CCode (has_construct_function = false, type = "ClutterActor*")]
+               [Version (since = "1.2")]
                public Stack ();
+               [Version (since = "1.4")]
                public bool child_get_crop (Clutter.Actor child);
+               [Version (since = "1.2")]
                public bool child_get_fit (Clutter.Actor child);
+               [Version (since = "1.2")]
                public Mx.Align child_get_x_align (Clutter.Actor child);
+               [Version (since = "1.2")]
                public bool child_get_x_fill (Clutter.Actor child);
+               [Version (since = "1.2")]
                public Mx.Align child_get_y_align (Clutter.Actor child);
+               [Version (since = "1.2")]
                public bool child_get_y_fill (Clutter.Actor child);
+               [Version (since = "1.4")]
                public void child_set_crop (Clutter.Actor child, bool crop);
+               [Version (since = "1.2")]
                public void child_set_fit (Clutter.Actor child, bool fit);
+               [Version (since = "1.2")]
                public void child_set_x_align (Clutter.Actor child, Mx.Align x_align);
+               [Version (since = "1.2")]
                public void child_set_x_fill (Clutter.Actor child, bool x_fill);
+               [Version (since = "1.2")]
                public void child_set_y_align (Clutter.Actor child, Mx.Align y_align);
+               [Version (since = "1.2")]
                public void child_set_y_fill (Clutter.Actor child, bool y_fill);
        }
        [CCode (cheader_filename = "mx/mx.h", type_id = "mx_stack_child_get_type ()")]
@@ -885,45 +1014,45 @@ namespace Mx {
        public class TableChild : Clutter.ChildMeta {
                [CCode (has_construct_function = false)]
                protected TableChild ();
-               [Deprecated (replacement = "Table.child_get_column", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_column")]
                public static int get_column (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_column_span", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_column_span")]
                public static int get_column_span (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_row", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_row")]
                public static int get_row (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_row_span", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_row_span")]
                public static int get_row_span (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_x_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_x_align")]
                public static Mx.Align get_x_align (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_x_expand", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_x_expand")]
                public static bool get_x_expand (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_x_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_x_fill")]
                public static bool get_x_fill (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_y_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_y_align")]
                public static Mx.Align get_y_align (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_y_expand", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_y_expand")]
                public static bool get_y_expand (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_get_y_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_get_y_fill")]
                public static bool get_y_fill (Mx.Table table, Clutter.Actor child);
-               [Deprecated (replacement = "Table.child_set_column", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_column")]
                public static void set_column (Mx.Table table, Clutter.Actor child, int col);
-               [Deprecated (replacement = "Table.child_set_column_span", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_column_span")]
                public static void set_column_span (Mx.Table table, Clutter.Actor child, int span);
-               [Deprecated (replacement = "Table.child_set_row", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_row")]
                public static void set_row (Mx.Table table, Clutter.Actor child, int row);
-               [Deprecated (replacement = "Table.child_set_row_span", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_row_span")]
                public static void set_row_span (Mx.Table table, Clutter.Actor child, int span);
-               [Deprecated (replacement = "Table.child_set_x_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_x_align")]
                public static void set_x_align (Mx.Table table, Clutter.Actor child, Mx.Align align);
-               [Deprecated (replacement = "Table.child_set_x_expand", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_x_expand")]
                public static void set_x_expand (Mx.Table table, Clutter.Actor child, bool expand);
-               [Deprecated (replacement = "Table.child_set_x_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_x_fill")]
                public static void set_x_fill (Mx.Table table, Clutter.Actor child, bool fill);
-               [Deprecated (replacement = "Table.child_set_y_align", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_y_align")]
                public static void set_y_align (Mx.Table table, Clutter.Actor child, Mx.Align align);
-               [Deprecated (replacement = "Table.child_set_y_expand", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_y_expand")]
                public static void set_y_expand (Mx.Table table, Clutter.Actor child, bool expand);
-               [Deprecated (replacement = "Table.child_set_y_fill", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "Table.child_set_y_fill")]
                public static void set_y_fill (Mx.Table table, Clutter.Actor child, bool fill);
                [NoAccessorMethod]
                public int column { get; set; }
@@ -950,18 +1079,24 @@ namespace Mx {
        public class TextureCache : GLib.Object {
                [CCode (has_construct_function = false)]
                protected TextureCache ();
+               [Version (since = "1.2")]
                public bool contains (string uri);
+               [Version (since = "1.2")]
                public bool contains_meta (string uri, void* ident);
                [NoWrapper]
                public virtual void error_loading (GLib.Error error);
                public unowned Clutter.Actor get_actor (string uri);
                public unowned Cogl.Handle get_cogl_texture (string uri);
                public static unowned Mx.TextureCache get_default ();
+               [Version (since = "1.2")]
                public Cogl.Handle get_meta_cogl_texture (string uri, void* ident);
+               [Version (since = "1.2")]
                public Clutter.Texture get_meta_texture (string uri, void* ident);
                public int get_size ();
                public unowned Clutter.Texture get_texture (string uri);
+               [Version (since = "1.2")]
                public void insert (string uri, Cogl.Handle texture);
+               [Version (since = "1.2")]
                public void insert_meta (string uri, void* ident, Cogl.Handle texture, GLib.DestroyNotify 
destroy_func);
                public void load_cache (string filename);
                [NoWrapper]
@@ -1009,6 +1144,7 @@ namespace Mx {
                public unowned string get_text ();
                public unowned Clutter.Geometry? get_tip_area ();
                public void hide ();
+               [Version (since = "1.2")]
                public static bool is_in_browse_mode ();
                public void set_text (string text);
                public void set_tip_area (Clutter.Geometry area);
@@ -1037,6 +1173,7 @@ namespace Mx {
        public abstract class Widget : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, 
Clutter.Scriptable, Mx.Stylable {
                [CCode (has_construct_function = false)]
                protected Widget ();
+               [Version (since = "1.2")]
                public virtual void apply_style (Mx.Style style);
                public void get_available_area (Clutter.ActorBox allocation, Clutter.ActorBox area);
                public unowned Clutter.Actor get_background_image ();
@@ -1071,28 +1208,40 @@ namespace Mx {
                public unowned Clutter.Actor get_child ();
                public unowned Clutter.Stage get_clutter_stage ();
                public static unowned Mx.Window get_for_stage (Clutter.Stage stage);
+               [Version (since = "1.2")]
                public bool get_fullscreen ();
                public bool get_has_toolbar ();
                public unowned string get_icon_name ();
                public bool get_small_screen ();
+               [Version (since = "1.2")]
                public unowned string get_title ();
                public unowned Mx.Toolbar get_toolbar ();
                public void get_window_position (out int x, out int y);
+               [Version (since = "1.2")]
                public Mx.WindowRotation get_window_rotation ();
+               [Version (since = "1.2")]
                public void get_window_size (out int width, out int height);
+               [Version (since = "1.2")]
                public void hide ();
+               [Version (since = "1.2")]
                public void present ();
                public void set_child (Clutter.Actor actor);
+               [Version (since = "1.2")]
                public void set_fullscreen (bool fullscreen);
                public void set_has_toolbar (bool toolbar);
                public void set_icon_from_cogl_texture (Cogl.Handle texture);
                public void set_icon_name (string? icon_name);
                public void set_small_screen (bool small_screen);
+               [Version (since = "1.2")]
                public void set_title (string title);
+               [Version (since = "1.2")]
                public void set_toolbar (Mx.Toolbar toolbar);
                public void set_window_position (int x, int y);
+               [Version (since = "1.2")]
                public void set_window_rotation (Mx.WindowRotation rotation);
+               [Version (since = "1.2")]
                public void set_window_size (int width, int height);
+               [Version (since = "1.2")]
                public void show ();
                [CCode (has_construct_function = false)]
                public Window.with_clutter_stage (Clutter.Stage stage);
@@ -1182,8 +1331,11 @@ namespace Mx {
                public abstract void set_style (Mx.Style style);
                public abstract void set_style_class (string style_class);
                public abstract void set_style_pseudo_class (string pseudo_class);
+               [Version (since = "1.2")]
                public void style_pseudo_class_add (string new_class);
+               [Version (since = "1.2")]
                public bool style_pseudo_class_contains (string pseudo_class);
+               [Version (since = "1.2")]
                public void style_pseudo_class_remove (string remove_class);
                public abstract Mx.Style style { get; set; }
                public abstract string style_class { get; set; }
@@ -1245,6 +1397,7 @@ namespace Mx {
                FROM_BELOW,
                FROM_LEFT,
                FROM_RIGHT;
+               [Version (since = "1.2")]
                public static Mx.FocusHint from_direction (Mx.FocusDirection direction);
        }
        [CCode (cheader_filename = "mx/mx.h", cprefix = "MX_FONT_WEIGHT_", type_id = "mx_font_weight_get_type 
()")]
@@ -1280,6 +1433,7 @@ namespace Mx {
                VERTICAL
        }
        [CCode (cheader_filename = "mx/mx.h", cprefix = "MX_POSITION_", type_id = "mx_position_get_type ()")]
+       [Version (since = "1.2")]
        public enum Position {
                TOP,
                RIGHT,
@@ -1302,17 +1456,19 @@ namespace Mx {
        }
        [CCode (cheader_filename = "mx/mx.h", cprefix = "MX_STYLE_ERROR_INVALID_")]
        public enum StyleError {
-               [Deprecated (replacement = "StyleError.INVALID_FILE", since = "vala-0.14")]
+               [Version (deprecated_since = "vala-0.14", replacement = "StyleError.INVALID_FILE")]
                FILE,
                [CCode (cname = "MX_STYLE_ERROR_INVALID_FILE")]
                INVALID_FILE
        }
        [CCode (cheader_filename = "mx/mx.h", cprefix = "MX_TOOLTIP_ANIMATION_", type_id = 
"mx_tooltip_animation_get_type ()")]
+       [Version (since = "1.2")]
        public enum TooltipAnimation {
                BOUNCE,
                FADE
        }
        [CCode (cheader_filename = "mx/mx.h", cprefix = "MX_WINDOW_", type_id = "mx_window_rotation_get_type 
()")]
+       [Version (since = "1.2")]
        public enum WindowRotation {
                [CCode (cname = "MX_WINDOW_ROTATION_0")]
                @0,
@@ -1352,7 +1508,7 @@ namespace Mx {
        [CCode (cheader_filename = "mx/mx.h")]
        public static void allocate_align_fill (Clutter.Actor child, Clutter.ActorBox childbox, Mx.Align 
x_alignment, Mx.Align y_alignment, bool x_fill, bool y_fill);
        [CCode (cheader_filename = "mx/mx.h")]
-       [Deprecated (replacement = "FontWeight.set_from_string", since = "vala-0.14")]
+       [Version (deprecated_since = "vala-0.14", replacement = "FontWeight.set_from_string")]
        public static void font_weight_set_from_string (GLib.Value value, string str);
        [CCode (cheader_filename = "mx/mx.h")]
        public static void set_locale ();
diff --git a/vapi/packagekit-glib2.vapi b/vapi/packagekit-glib2.vapi
index ac26aec..78bd5b3 100644
--- a/vapi/packagekit-glib2.vapi
+++ b/vapi/packagekit-glib2.vapi
@@ -5,175 +5,306 @@ namespace Pk {
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_category_get_type ()")]
        public class Category : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public Category ();
+               [Version (since = "0.6.2")]
                public unowned string get_icon ();
+               [Version (since = "0.6.2")]
                public unowned string get_id ();
+               [Version (since = "0.6.2")]
                public unowned string get_name ();
+               [Version (since = "0.6.2")]
                public unowned string get_parent_id ();
+               [Version (since = "0.6.2")]
                public unowned string get_summary ();
+               [Version (since = "0.6.2")]
                public void set_icon (string icon);
+               [Version (since = "0.6.2")]
                public void set_id (string cat_id);
+               [Version (since = "0.6.2")]
                public void set_name (string name);
+               [Version (since = "0.6.2")]
                public void set_parent_id (string parent_id);
+               [Version (since = "0.6.2")]
                public void set_summary (string summary);
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string cat_id { owned get; set; }
+               [Version (since = "0.5.4")]
                public string icon { get; set; }
+               [Version (since = "0.5.4")]
                public string name { get; set; }
+               [Version (since = "0.5.4")]
                public string parent_id { get; set; }
+               [Version (since = "0.5.4")]
                public string summary { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_client_get_type ()")]
        public class Client : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.2")]
                public Client ();
+               [Version (since = "0.5.3")]
                public Pk.Results accept_eula (string eula_id, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void accept_eula_async (string eula_id, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results adopt (string transaction_id, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void adopt_async (string transaction_id, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
                [NoWrapper]
                public virtual void changed ();
+               [Version (since = "0.5.3")]
                public Pk.Results depends_on (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void depends_on_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results download_packages ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, string directory, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void download_packages_async ([CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, string directory, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.2")]
                public Pk.Results generic_finish (GLib.AsyncResult res) throws GLib.Error;
+               [Version (since = "0.6.10")]
                public bool get_background ();
+               [Version (since = "0.6.10")]
                public uint get_cache_age ();
+               [Version (since = "0.5.3")]
                public Pk.Results get_categories (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_categories_async (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results get_details ([CCode (array_length = false, array_null_terminated = true)] 
string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_details_async ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.8.17")]
                public Pk.Results get_details_local ([CCode (array_length = false, array_null_terminated = 
true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
+               [Version (since = "0.8.17")]
                public async void get_details_local_async ([CCode (array_length = false, 
array_null_terminated = true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results get_distro_upgrades (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_distro_upgrades_async (GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results get_files ([CCode (array_length = false, array_null_terminated = true)] 
string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_files_async ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.9.1")]
                public Pk.Results get_files_local ([CCode (array_length = false, array_null_terminated = 
true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
+               [Version (since = "0.9.1")]
                public async void get_files_local_async ([CCode (array_length = false, array_null_terminated 
= true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.10")]
                public bool get_idle ();
+               [Version (since = "0.6.10")]
                public bool get_interactive ();
+               [Version (since = "0.6.10")]
                public unowned string get_locale ();
+               [Version (since = "0.5.3")]
                public Pk.Results get_old_transactions (uint number, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_old_transactions_async (uint number, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results get_packages (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_packages_async (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Progress get_progress (string transaction_id, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async Pk.Progress get_progress_async (string transaction_id, GLib.Cancellable? 
cancellable) throws GLib.Error;
+               [Version (since = "0.5.3")]
                public Pk.Results get_repo_list (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_repo_list_async (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results get_update_detail ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_update_detail_async ([CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results get_updates (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_updates_async (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.8.1")]
                public Pk.Results install_files (Pk.Bitfield transaction_flags, [CCode (array_length = false, 
array_null_terminated = true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.8.1")]
                public async void install_files_async (Pk.Bitfield transaction_flags, [CCode (array_length = 
false, array_null_terminated = true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.8.1")]
                public Pk.Results install_packages (Pk.Bitfield transaction_flags, [CCode (array_length = 
false, array_null_terminated = true)] string[] package_ids, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.8.1")]
                public async void install_packages_async (Pk.Bitfield transaction_flags, [CCode (array_length 
= false, array_null_terminated = true)] string[] package_ids, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results install_signature (Pk.SigType type, string key_id, string package_id, 
GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void install_signature_async (Pk.SigType type, string key_id, string package_id, 
GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results refresh_cache (bool force, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void refresh_cache_async (bool force, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.8.1")]
                public Pk.Results remove_packages (Pk.Bitfield transaction_flags, [CCode (array_length = 
false, array_null_terminated = true)] string[] package_ids, bool allow_deps, bool autoremove, 
GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.8.1")]
                public async void remove_packages_async (Pk.Bitfield transaction_flags, [CCode (array_length 
= false, array_null_terminated = true)] string[] package_ids, bool allow_deps, bool autoremove, 
GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.8.1")]
                public Pk.Results repair_system (Pk.Bitfield transaction_flags, GLib.Cancellable? 
cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.8.1")]
                public async void repair_system_async (Pk.Bitfield transaction_flags, GLib.Cancellable? 
cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results repo_enable (string repo_id, bool enabled, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void repo_enable_async (string repo_id, bool enabled, GLib.Cancellable? 
cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.9.1")]
                public Pk.Results repo_remove (Pk.Bitfield transaction_flags, string repo_id, bool 
autoremove, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.9.1")]
                public async void repo_remove_async (Pk.Bitfield transaction_flags, string repo_id, bool 
autoremove, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results repo_set_data (string repo_id, string parameter, string value, 
GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void repo_set_data_async (string repo_id, string parameter, string value, 
GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results required_by (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void required_by_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results resolve (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] packages, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void resolve_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] packages, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.5")]
                public Pk.Results search_details (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.5")]
                public async void search_details_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.5")]
                public Pk.Results search_files (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.5")]
                public async void search_files_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.5")]
                public Pk.Results search_groups (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.5")]
                public async void search_groups_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.5")]
                public Pk.Results search_names (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.5")]
                public async void search_names_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.10")]
                public void set_background (bool background);
+               [Version (since = "0.6.10")]
                public void set_cache_age (uint cache_age);
+               [Version (since = "0.6.10")]
                public void set_interactive (bool interactive);
+               [Version (since = "0.6.10")]
                public void set_locale (string locale);
                public static void test (void* user_data);
+               [Version (since = "0.8.1")]
                public Pk.Results update_packages (Pk.Bitfield transaction_flags, [CCode (array_length = 
false, array_null_terminated = true)] string[] package_ids, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.8.1")]
                public async void update_packages_async (Pk.Bitfield transaction_flags, [CCode (array_length 
= false, array_null_terminated = true)] string[] package_ids, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results what_provides (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void what_provides_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.3")]
                public bool background { get; set; }
+               [Version (since = "0.6.10")]
                public uint cache_age { get; set; }
+               [Version (since = "0.5.4")]
                public bool idle { get; }
+               [Version (since = "0.5.4")]
                public bool interactive { get; set; }
+               [Version (since = "0.5.3")]
                public string locale { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_client_helper_get_type ()")]
        public class ClientHelper : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.6.10")]
                public ClientHelper ();
+               [Version (since = "0.6.10")]
                public bool start (string socket_filename, string argv, string envp) throws GLib.Error;
+               [Version (since = "0.6.10")]
                public bool stop () throws GLib.Error;
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_control_get_type ()")]
        public class Control : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.2")]
                public Control ();
+               [Version (since = "0.5.2")]
                public async Pk.Authorize can_authorize_async (string action_id, GLib.Cancellable? 
cancellable) throws GLib.Error;
                [NoWrapper]
                public virtual void connection_changed (bool connected);
+               [Version (since = "0.5.2")]
                public async string get_daemon_state_async (GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.5.3")]
                public bool get_properties (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async bool get_properties_async (GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async string get_tid_async (GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async uint get_time_since_action_async (Pk.Role role, GLib.Cancellable? cancellable) 
throws GLib.Error;
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.3")]
                public string[] get_transaction_list (GLib.Cancellable? cancellable = null) throws GLib.Error;
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.2")]
                public async string[] get_transaction_list_async (GLib.Cancellable? cancellable) throws 
GLib.Error;
                [NoWrapper]
                public virtual void network_state_changed ();
+               [Version (since = "0.6.3")]
                public bool set_proxy (string proxy_http, string proxy_ftp, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
+               [Version (since = "0.6.13")]
                public bool set_proxy2 (string proxy_http, string proxy_https, string proxy_ftp, string 
proxy_socks, string no_proxy, string pac, GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.6.13")]
                public async void set_proxy2_async (string proxy_http, string proxy_https, string proxy_ftp, 
string proxy_socks, string no_proxy, string pac, GLib.Cancellable? cancellable);
+               [Version (since = "0.5.2")]
                public async bool set_proxy_async (string proxy_http, string proxy_ftp, GLib.Cancellable? 
cancellable) throws GLib.Error;
+               [Version (since = "0.6.2")]
                public bool suggest_daemon_quit (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.6.2")]
                public async bool suggest_daemon_quit_async (GLib.Cancellable? cancellable) throws GLib.Error;
                public static void test (void* user_data);
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public string backend_author { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public string backend_description { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public string backend_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.3")]
                public bool connected { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.5")]
                public string distro_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint64 filters { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint64 groups { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.3")]
                public virtual bool locked { get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] mime_types { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.3")]
                public uint network_state { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.8")]
                public uint64 provides { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint64 roles { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint version_major { get; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint version_micro { get; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint version_minor { get; }
                public virtual signal void repo_list_changed ();
                public virtual signal void restart_schedule ();
@@ -183,222 +314,339 @@ namespace Pk {
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_desktop_get_type ()")]
        public class Desktop : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.3")]
                public Desktop ();
+               [Version (since = "0.5.3")]
                public string get_package_for_file (string filename) throws GLib.Error;
+               [Version (since = "0.5.3")]
                public bool open_database () throws GLib.Error;
                public static void test (void* user_data);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_details_get_type ()")]
        public class Details : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public Details ();
+               [Version (since = "0.8.12")]
                public unowned string get_description ();
+               [Version (since = "0.8.12")]
                public Pk.Group get_group ();
+               [Version (since = "0.8.12")]
                public unowned string get_license ();
+               [Version (since = "0.8.12")]
                public unowned string get_package_id ();
+               [Version (since = "0.8.12")]
                public uint64 get_size ();
+               [Version (since = "0.9.1")]
                public unowned string get_summary ();
+               [Version (since = "0.8.12")]
                public unowned string get_url ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string description { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint group { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string license { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string package_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint64 size { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.9.1")]
                public string summary { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string url { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_distro_upgrade_get_type 
()")]
        public class DistroUpgrade : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public DistroUpgrade ();
+               [Version (since = "0.6.11")]
                public unowned string get_id ();
+               [Version (since = "0.6.11")]
                public Pk.DistroUpgradeEnum get_state ();
+               [Version (since = "0.6.11")]
                public unowned string get_summary ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint state { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string summary { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_error_get_type ()")]
        public class Error : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.5")]
                public Error ();
+               [Version (since = "0.5.5")]
                public Pk.ErrorEnum get_code ();
+               [Version (since = "0.5.5")]
                public unowned string get_details ();
                [NoAccessorMethod]
+               [Version (since = "0.5.5")]
                public uint code { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.5")]
                public string details { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_eula_required_get_type ()")]
        public class EulaRequired : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public EulaRequired ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string eula_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string license_agreement { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string package_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string vendor_name { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_files_get_type ()")]
        public class Files : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public Files ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.9.1")]
                public unowned string[] get_files ();
+               [Version (since = "0.9.1")]
                public unowned string get_package_id ();
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string[] files { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string package_id { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_item_progress_get_type ()")]
        public class ItemProgress : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.8.1")]
                public ItemProgress ();
                public unowned string get_package_id ();
                public uint get_percentage ();
                public Pk.Status get_status ();
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string package_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public uint percentage { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.2")]
                public uint status { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = 
"pk_media_change_required_get_type ()")]
        public class MediaChangeRequired : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public MediaChangeRequired ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string media_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string media_text { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint media_type { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_package_get_type ()")]
        public class Package : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public Package ();
+               [Version (since = "0.5.4")]
                public bool equal (Pk.Package package2);
+               [Version (since = "0.5.4")]
                public bool equal_id (Pk.Package package2);
+               [Version (since = "0.6.4")]
                public unowned string get_arch ();
+               [Version (since = "0.6.4")]
                public unowned string get_data ();
+               [Version (since = "0.5.4")]
                public unowned string get_id ();
+               [Version (since = "0.5.4")]
                public Pk.Info get_info ();
+               [Version (since = "0.6.4")]
                public unowned string get_name ();
+               [Version (since = "0.5.4")]
                public unowned string get_summary ();
+               [Version (since = "0.6.4")]
                public unowned string get_version ();
+               [Version (since = "0.5.0")]
                public static string id_build (string name, string version, string arch, string data);
+               [Version (since = "0.5.0")]
                public static bool id_check (string package_id);
+               [Version (since = "0.5.0")]
                public static bool id_equal_fuzzy_arch (string package_id1, string package_id2);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.3")]
                public static string[] id_split (string package_id);
                public static void id_test (void* user_data);
+               [Version (since = "0.5.2")]
                public static string id_to_printable (string package_id);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.2")]
                public static string[] ids_add_id (string package_ids, string package_id);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.2")]
                public static string[] ids_add_ids (string package_ids, string package_ids_new);
+               [Version (since = "0.5.2")]
                public static bool ids_check (string package_ids);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.2")]
                public static string[] ids_from_id (string package_id);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.2")]
                public static string[] ids_from_string (string package_id);
+               [Version (since = "0.5.2")]
                public static bool ids_present_id (string package_ids, string package_id);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.2")]
                public static string[] ids_remove_id (string package_ids, string package_id);
                public static void ids_test (void* user_data);
+               [Version (since = "0.5.2")]
                public static string ids_to_string (string package_ids);
+               [Version (since = "0.8.11")]
                public bool parse (string data) throws GLib.Error;
+               [Version (since = "0.5.4")]
                public void print ();
+               [Version (since = "0.5.4")]
                public bool set_id (string package_id) throws GLib.Error;
+               [Version (since = "0.8.14")]
                public void set_info (Pk.Info info);
+               [Version (since = "0.8.14")]
                public void set_summary (string summary);
                public static void test (void* user_data);
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string description { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint group { get; set; }
+               [Version (since = "0.5.4")]
                public uint info { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string license { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public string package_id { owned get; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint64 size { get; set; }
+               [Version (since = "0.5.4")]
                public string summary { get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] update_bugzilla_urls { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string update_changelog { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] update_cve_urls { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string update_issued { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string update_obsoletes { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint update_restart { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint update_state { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string update_text { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string update_updated { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string update_updates { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] update_vendor_urls { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string url { owned get; set; }
                public virtual signal void changed ();
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_package_sack_get_type ()")]
        public class PackageSack : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.2")]
                public PackageSack ();
+               [Version (since = "0.5.2")]
                public bool add_package (Pk.Package package);
+               [Version (since = "0.5.2")]
                public bool add_package_by_id (string package_id) throws GLib.Error;
+               [Version (since = "0.8.6")]
                public bool add_packages_from_file (GLib.File file) throws GLib.Error;
                [NoWrapper]
                public virtual void changed ();
+               [Version (since = "0.5.2")]
                public void clear ();
+               [Version (since = "0.6.3")]
                public Pk.PackageSack filter (Pk.PackageSackFilterFunc filter_cb);
+               [Version (since = "0.6.2")]
                public Pk.PackageSack filter_by_info (Pk.Info info);
+               [Version (since = "0.5.2")]
                public Pk.Package find_by_id (string package_id);
+               [Version (since = "0.8.16")]
                public Pk.Package find_by_id_name_arch (string package_id);
+               [Version (since = "0.6.1")]
                public GLib.GenericArray<weak Pk.Package> get_array ();
+               [Version (since = "0.6.0")]
                public bool get_details (GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async void get_details_async (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.3")]
                public string[] get_ids ();
+               [Version (since = "0.5.2")]
                public uint get_size ();
+               [Version (since = "0.5.2")]
                public uint64 get_total_bytes ();
+               [Version (since = "0.6.0")]
                public bool get_update_detail (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void get_update_detail_async (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.5.2")]
                public bool merge_generic_finish (GLib.AsyncResult res) throws GLib.Error;
+               [Version (since = "0.6.3")]
                public bool remove_by_filter (Pk.PackageSackFilterFunc filter_cb);
+               [Version (since = "0.5.2")]
                public bool remove_package (Pk.Package package);
+               [Version (since = "0.5.2")]
                public bool remove_package_by_id (string package_id);
+               [Version (since = "0.6.0")]
                public bool resolve (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void resolve_async (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
                public void sort (Pk.PackageSackSortType type);
                public static void test (void* user_data);
@@ -411,21 +659,36 @@ namespace Pk {
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_progress_get_type ()")]
        public class Progress : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.2")]
                public Progress ();
+               [Version (since = "0.5.2")]
                public bool set_allow_cancel (bool allow_cancel);
+               [Version (since = "0.5.2")]
                public bool set_caller_active (bool caller_active);
                public bool set_download_size_remaining (uint64 download_size_remaining);
+               [Version (since = "0.5.2")]
                public bool set_elapsed_time (uint elapsed_time);
+               [Version (since = "0.8.1")]
                public bool set_item_progress (Pk.ItemProgress item_progress);
+               [Version (since = "0.5.2")]
                public bool set_package (Pk.Package package);
+               [Version (since = "0.5.2")]
                public bool set_package_id (string package_id);
+               [Version (since = "0.5.2")]
                public bool set_percentage (int percentage);
+               [Version (since = "0.5.2")]
                public bool set_remaining_time (uint remaining_time);
+               [Version (since = "0.5.2")]
                public bool set_role (Pk.Role role);
+               [Version (since = "0.8.0")]
                public bool set_speed (uint speed);
+               [Version (since = "0.5.2")]
                public bool set_status (Pk.Status status);
+               [Version (since = "0.8.8")]
                public bool set_transaction_flags (uint64 transaction_flags);
+               [Version (since = "0.5.3")]
                public bool set_transaction_id (string package_id);
+               [Version (since = "0.5.2")]
                public bool set_uid (uint uid);
                public static void test (void* user_data);
                [NoAccessorMethod]
@@ -433,211 +696,338 @@ namespace Pk {
                [NoAccessorMethod]
                public bool caller_active { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.0")]
                public uint download_size_remaining { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint elapsed_time { get; set; }
                [NoAccessorMethod]
                public Pk.ItemProgress item_progress { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.3")]
                public Pk.Package package { owned get; set; }
                [NoAccessorMethod]
                public string package_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public int percentage { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint remaining_time { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint role { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint speed { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint status { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.8")]
                public uint64 transaction_flags { get; set; }
                [NoAccessorMethod]
                public string transaction_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint uid { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_repo_detail_get_type ()")]
        public class RepoDetail : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public RepoDetail ();
+               [Version (since = "0.9.1")]
                public unowned string get_description ();
+               [Version (since = "0.9.1")]
                public bool get_enabled ();
+               [Version (since = "0.9.1")]
                public unowned string get_id ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string description { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public bool enabled { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string repo_id { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = 
"pk_repo_signature_required_get_type ()")]
        public class RepoSignatureRequired : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public RepoSignatureRequired ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string key_fingerprint { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string key_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string key_timestamp { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string key_url { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string key_userid { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string package_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string repository_name { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint type { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_require_restart_get_type 
()")]
        public class RequireRestart : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public RequireRestart ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string package_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint restart { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_results_get_type ()")]
        public class Results : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.2")]
                public Results ();
+               [Version (since = "0.5.2")]
                public bool add_category (Pk.Category item);
+               [Version (since = "0.5.2")]
                public bool add_details (Pk.Details item);
+               [Version (since = "0.5.2")]
                public bool add_distro_upgrade (Pk.DistroUpgrade item);
+               [Version (since = "0.5.2")]
                public bool add_eula_required (Pk.EulaRequired item);
+               [Version (since = "0.5.2")]
                public bool add_files (Pk.Files item);
+               [Version (since = "0.5.2")]
                public bool add_media_change_required (Pk.MediaChangeRequired item);
+               [Version (since = "0.5.3")]
                public bool add_package (Pk.Package item);
+               [Version (since = "0.5.2")]
                public bool add_repo_detail (Pk.RepoDetail item);
+               [Version (since = "0.5.2")]
                public bool add_repo_signature_required (Pk.RepoSignatureRequired item);
+               [Version (since = "0.5.2")]
                public bool add_require_restart (Pk.RequireRestart item);
+               [Version (since = "0.5.2")]
                public bool add_transaction (Pk.TransactionPast item);
+               [Version (since = "0.5.2")]
                public bool add_update_detail (Pk.UpdateDetail item);
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.Category> get_category_array ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.Details> get_details_array ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.DistroUpgrade> get_distro_upgrade_array ();
+               [Version (since = "0.5.2")]
                public Pk.Error get_error_code ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.EulaRequired> get_eula_required_array ();
+               [Version (since = "0.5.2")]
                public Pk.Exit get_exit_code ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.Files> get_files_array ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.MediaChangeRequired> get_media_change_required_array ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.Package> get_package_array ();
+               [Version (since = "0.5.2")]
                public Pk.PackageSack get_package_sack ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.RepoDetail> get_repo_detail_array ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.RepoSignatureRequired> get_repo_signature_required_array ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.RequireRestart> get_require_restart_array ();
+               [Version (since = "0.5.2")]
                public Pk.Restart get_require_restart_worst ();
+               [Version (since = "0.7.5")]
                public Pk.Role get_role ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.TransactionPast> get_transaction_array ();
+               [Version (since = "0.8.1")]
                public Pk.Bitfield get_transaction_flags ();
+               [Version (since = "0.5.2")]
                public GLib.GenericArray<weak Pk.UpdateDetail> get_update_detail_array ();
+               [Version (since = "0.5.2")]
                public bool set_error_code (Pk.Error item);
+               [Version (since = "0.5.2")]
                public bool set_exit_code (Pk.Exit exit_enum);
                public static void test (void* user_data);
                [NoAccessorMethod]
+               [Version (since = "0.5.3")]
                public uint inputs { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.3")]
                public Pk.Progress progress { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.2")]
                public uint role { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public uint64 transaction_flags { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_source_get_type ()")]
        public class Source : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.6.0")]
                public Source ();
                [NoAccessorMethod]
+               [Version (since = "0.6.0")]
                public uint role { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.6.0")]
                public string transaction_id { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_task_get_type ()")]
        public class Task : Pk.Client {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.2")]
                public Task ();
+               [Version (since = "0.6.5")]
                public async void depends_on_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results depends_on_sync (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void download_packages_async ([CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, string directory, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results download_packages_sync ([CCode (array_length = false, array_null_terminated 
= true)] string[] package_ids, string directory, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
                [NoWrapper]
                public virtual void eula_question (uint request, Pk.Results results);
+               [Version (since = "0.5.2")]
                public Pk.Results generic_finish (GLib.AsyncResult res) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void get_categories_async (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results get_categories_sync (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void get_details_async ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results get_details_sync ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
+               [Version (since = "0.6.5")]
                public async void get_files_async ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results get_files_sync ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
                public bool get_interactive ();
+               [Version (since = "0.8.1")]
                public bool get_only_download ();
+               [Version (since = "0.6.5")]
                public async void get_packages_async (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results get_packages_sync (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void get_repo_list_async (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results get_repo_list_sync (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.6.10")]
                public bool get_simulate ();
+               [Version (since = "0.6.5")]
                public async void get_update_detail_async ([CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results get_update_detail_sync ([CCode (array_length = false, array_null_terminated 
= true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
+               [Version (since = "0.6.5")]
                public async void get_updates_async (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results get_updates_sync (Pk.Bitfield filters, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void install_files_async ([CCode (array_length = false, array_null_terminated = 
true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results install_files_sync ([CCode (array_length = false, array_null_terminated = 
true)] string[] files, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
+               [Version (since = "0.5.2")]
                public async void install_packages_async ([CCode (array_length = false, array_null_terminated 
= true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results install_packages_sync ([CCode (array_length = false, array_null_terminated 
= true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
                [NoWrapper]
                public virtual void key_question (uint request, Pk.Results results);
                [NoWrapper]
                public virtual void media_change_question (uint request, Pk.Results results);
+               [Version (since = "0.6.5")]
                public async void refresh_cache_async (bool force, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results refresh_cache_sync (bool force, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.5.2")]
                public async void remove_packages_async ([CCode (array_length = false, array_null_terminated 
= true)] string[] package_ids, bool allow_deps, bool autoremove, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results remove_packages_sync ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, bool allow_deps, bool autoremove, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
                [NoWrapper]
                public virtual void repair_question (uint request, Pk.Results results);
+               [Version (since = "0.7.2")]
                public async void repair_system_async (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.7.2")]
                public Pk.Results repair_system_sync (GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void repo_enable_async (string repo_id, bool enabled, GLib.Cancellable? 
cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results repo_enable_sync (string repo_id, bool enabled, GLib.Cancellable? 
cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void required_by_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results required_by_sync (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] package_ids, bool recursive, GLib.Cancellable? cancellable, 
Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void resolve_async (Pk.Bitfield filters, string packages, GLib.Cancellable? 
cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results resolve_sync (Pk.Bitfield filters, string packages, GLib.Cancellable? 
cancellable, Pk.ProgressCallback progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void search_details_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results search_details_sync (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void search_files_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results search_files_sync (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void search_groups_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results search_groups_sync (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.6.5")]
                public async void search_names_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results search_names_sync (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
                public void set_interactive (bool interactive);
+               [Version (since = "0.8.1")]
                public void set_only_download (bool only_download);
+               [Version (since = "0.6.10")]
                public void set_simulate (bool simulate);
                [NoWrapper]
                public virtual void simulate_question (uint request, Pk.Results results);
                public static void test (void* user_data);
                [NoWrapper]
                public virtual void untrusted_question (uint request, Pk.Results results);
+               [Version (since = "0.5.2")]
                public async void update_packages_async ([CCode (array_length = false, array_null_terminated 
= true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback);
+               [Version (since = "0.5.3")]
                public Pk.Results update_packages_sync ([CCode (array_length = false, array_null_terminated = 
true)] string[] package_ids, GLib.Cancellable? cancellable, Pk.ProgressCallback progress_callback) throws 
GLib.Error;
+               [Version (since = "0.5.2")]
                public bool user_accepted (uint request);
+               [Version (since = "0.5.2")]
                public bool user_declined (uint request);
+               [Version (since = "0.6.5")]
                public async void what_provides_async (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback);
+               [Version (since = "0.6.5")]
                public Pk.Results what_provides_sync (Pk.Bitfield filters, [CCode (array_length = false, 
array_null_terminated = true)] string[] values, GLib.Cancellable? cancellable, Pk.ProgressCallback 
progress_callback) throws GLib.Error;
+               [Version (since = "0.8.1")]
                public bool only_download { get; set; }
+               [Version (since = "0.5.2")]
                public bool simulate { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_transaction_list_get_type 
()")]
        public class TransactionList : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.3")]
                public TransactionList ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.5.3")]
                public string[] get_ids ();
                public static void test (void* user_data);
                public virtual signal void added (string tid);
@@ -646,83 +1036,127 @@ namespace Pk {
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_transaction_past_get_type 
()")]
        public class TransactionPast : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public TransactionPast ();
+               [Version (since = "0.8.11")]
                public unowned string get_cmdline ();
+               [Version (since = "0.8.11")]
                public unowned string get_data ();
+               [Version (since = "0.8.11")]
                public GLib.DateTime get_datetime ();
+               [Version (since = "0.8.11")]
                public uint get_duration ();
+               [Version (since = "0.8.11")]
                public unowned string get_id ();
+               [Version (since = "0.8.11")]
                public Pk.Role get_role ();
+               [Version (since = "0.8.11")]
                public bool get_succeeded ();
+               [Version (since = "0.8.11")]
                public unowned string get_timespec ();
+               [Version (since = "0.8.11")]
                public int64 get_timestamp ();
+               [Version (since = "0.8.11")]
                public uint get_uid ();
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string cmdline { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string data { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint duration { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint role { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public bool succeeded { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string tid { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string timespec { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint uid { get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", type_id = "pk_update_detail_get_type ()")]
        public class UpdateDetail : Pk.Source {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.5.4")]
                public UpdateDetail ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.8.8")]
                public unowned string[] get_bugzilla_urls ();
+               [Version (since = "0.8.8")]
                public unowned string get_changelog ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.8.8")]
                public unowned string[] get_cve_urls ();
+               [Version (since = "0.8.8")]
                public unowned string get_issued ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.8.8")]
                public unowned string[] get_obsoletes ();
+               [Version (since = "0.8.8")]
                public unowned string get_package_id ();
+               [Version (since = "0.8.8")]
                public Pk.Restart get_restart ();
+               [Version (since = "0.8.8")]
                public Pk.UpdateState get_state ();
+               [Version (since = "0.8.8")]
                public unowned string get_update_text ();
+               [Version (since = "0.8.8")]
                public unowned string get_updated ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.8.8")]
                public unowned string[] get_updates ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.8.8")]
                public unowned string[] get_vendor_urls ();
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] bugzilla_urls { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string changelog { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] cve_urls { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string issued { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] obsoletes { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string package_id { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint restart { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public uint state { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string update_text { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.5.4")]
                public string updated { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] updates { owned get; set; }
                [CCode (array_length = false, array_null_terminated = true)]
                [NoAccessorMethod]
+               [Version (since = "0.8.1")]
                public string[] vendor_urls { owned get; set; }
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h")]
@@ -743,7 +1177,9 @@ namespace Pk {
                NO,
                INTERACTIVE,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.Authorize type_enum_from_string (string authorize_type);
+               [Version (since = "0.5.0")]
                public static unowned string type_enum_to_string (Pk.Authorize authorize_type);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cprefix = "PK_DISTRO_UPGRADE_ENUM_", 
type_id = "pk_distro_upgrade_enum_get_type ()")]
@@ -752,7 +1188,9 @@ namespace Pk {
                STABLE,
                UNSTABLE,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.DistroUpgradeEnum from_string (string upgrade);
+               [Version (since = "0.5.0")]
                public static unowned string to_string (Pk.DistroUpgradeEnum upgrade);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cprefix = "PK_ERROR_ENUM_", type_id = 
"pk_error_enum_get_type ()")]
@@ -826,7 +1264,9 @@ namespace Pk {
                UNFINISHED_TRANSACTION,
                LOCK_REQUIRED,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.ErrorEnum from_string (string code);
+               [Version (since = "0.5.0")]
                public static unowned string to_string (Pk.ErrorEnum code);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkExitEnum", cprefix = 
"PK_EXIT_ENUM_", type_id = "pk_exit_enum_get_type ()")]
@@ -845,7 +1285,9 @@ namespace Pk {
                SKIP_TRANSACTION,
                REPAIR_REQUIRED,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.Exit enum_from_string (string exit);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Exit exit);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkFilterEnum", cprefix = 
"PK_FILTER_ENUM_", type_id = "pk_filter_enum_get_type ()")]
@@ -880,9 +1322,13 @@ namespace Pk {
                DOWNLOADED,
                NOT_DOWNLOADED,
                LAST;
+               [Version (since = "0.5.2")]
                public static Pk.Bitfield bitfield_from_string (string filters);
+               [Version (since = "0.5.2")]
                public static string bitfield_to_string (Pk.Bitfield filters);
+               [Version (since = "0.5.0")]
                public static Pk.Filter enum_from_string (string filter);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Filter filter);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkGroupEnum", cprefix = 
"PK_GROUP_ENUM_", type_id = "pk_group_enum_get_type ()")]
@@ -924,9 +1370,12 @@ namespace Pk {
                VENDOR,
                NEWEST,
                LAST;
+               [Version (since = "0.5.2")]
                public static Pk.Bitfield bitfield_from_string (string groups);
                public static string bitfield_to_string (Pk.Bitfield groups);
+               [Version (since = "0.5.0")]
                public static Pk.Group enum_from_string (string group);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Group group);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkInfoEnum", cprefix = 
"PK_INFO_ENUM_", type_id = "pk_info_enum_get_type ()")]
@@ -958,9 +1407,13 @@ namespace Pk {
                UNTRUSTED,
                TRUSTED,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.Info enum_from_string (string info);
+               [Version (since = "0.7.2")]
                public static unowned string enum_to_localised_past (Pk.Info info);
+               [Version (since = "0.7.2")]
                public static unowned string enum_to_localised_present (Pk.Info info);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Info info);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkMediaTypeEnum", cprefix = 
"PK_MEDIA_TYPE_ENUM_", type_id = "pk_media_type_enum_get_type ()")]
@@ -971,7 +1424,9 @@ namespace Pk {
                DVD,
                DISC,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.MediaType enum_from_string (string media_type);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.MediaType media_type);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkNetworkEnum", cprefix = 
"PK_NETWORK_ENUM_", type_id = "pk_network_enum_get_type ()")]
@@ -984,7 +1439,9 @@ namespace Pk {
                WIFI,
                MOBILE,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.Network enum_from_string (string network);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Network network);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cprefix = "PK_PACKAGE_SACK_SORT_TYPE_", 
type_id = "pk_package_sack_sort_type_get_type ()")]
@@ -1025,7 +1482,9 @@ namespace Pk {
                SECURITY_SESSION,
                SECURITY_SYSTEM,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.Restart enum_from_string (string restart);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Restart restart);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkRoleEnum", cprefix = 
"PK_ROLE_ENUM_", type_id = "pk_role_enum_get_type ()")]
@@ -1065,10 +1524,15 @@ namespace Pk {
                GET_FILES_LOCAL,
                REPO_REMOVE,
                LAST;
+               [Version (since = "0.5.2")]
                public static Pk.Bitfield bitfield_from_string (string roles);
+               [Version (since = "0.5.2")]
                public static string bitfield_to_string (Pk.Bitfield roles);
+               [Version (since = "0.5.0")]
                public static Pk.Role enum_from_string (string role);
+               [Version (since = "0.7.2")]
                public static unowned string enum_to_localised_present (Pk.Role role);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Role role);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkSigTypeEnum", cprefix = 
"PK_SIGTYPE_ENUM_", type_id = "pk_sig_type_enum_get_type ()")]
@@ -1078,6 +1542,7 @@ namespace Pk {
                GPG,
                LAST;
                public static Pk.SigType enum_from_string (string sig_type);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.SigType sig_type);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkStatusEnum", cprefix = 
"PK_STATUS_ENUM_", type_id = "pk_status_enum_get_type ()")]
@@ -1120,8 +1585,10 @@ namespace Pk {
                CHECK_LIBRARIES,
                COPY_FILES,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.Status enum_from_string (string status);
                public static unowned string enum_to_localised_text (Pk.Status status);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.Status status);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkTransactionFlagEnum", cprefix 
= "PK_TRANSACTION_FLAG_ENUM_", type_id = "pk_transaction_flag_enum_get_type ()")]
@@ -1132,9 +1599,13 @@ namespace Pk {
                SIMULATE,
                ONLY_DOWNLOAD,
                LAST;
+               [Version (since = "0.8.1")]
                public static Pk.Bitfield bitfield_from_string (string transaction_flags);
+               [Version (since = "0.8.1")]
                public static string bitfield_to_string (Pk.Bitfield transaction_flags);
+               [Version (since = "0.8.1")]
                public static Pk.TransactionFlag enum_from_string (string transaction_flag);
+               [Version (since = "0.8.1")]
                public static unowned string enum_to_string (Pk.TransactionFlag transaction_flag);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkUpdateStateEnum", cprefix = 
"PK_UPDATE_STATE_ENUM_", type_id = "pk_update_state_enum_get_type ()")]
@@ -1145,7 +1616,9 @@ namespace Pk {
                UNSTABLE,
                TESTING,
                LAST;
+               [Version (since = "0.5.0")]
                public static Pk.UpdateState enum_from_string (string update_state);
+               [Version (since = "0.5.0")]
                public static unowned string enum_to_string (Pk.UpdateState update_state);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cname = "PkUpgradeKindEnum", cprefix = 
"PK_UPGRADE_KIND_ENUM_", type_id = "pk_upgrade_kind_enum_get_type ()")]
@@ -1156,7 +1629,9 @@ namespace Pk {
                DEFAULT,
                COMPLETE,
                LAST;
+               [Version (since = "0.6.11")]
                public static Pk.UpgradeKind enum_from_string (string upgrade_kind);
+               [Version (since = "0.6.11")]
                public static unowned string enum_to_string (Pk.UpgradeKind upgrade_kind);
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cprefix = "PK_CLIENT_ERROR_")]
@@ -1172,12 +1647,14 @@ namespace Pk {
                NOT_SUPPORTED,
                DECLINED_SIMULATION,
                LAST;
+               [Version (since = "0.5.2")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", cprefix = "PK_CONTROL_ERROR_")]
        public errordomain ControlError {
                FAILED,
                CANNOT_START_DAEMON;
+               [Version (since = "0.5.2")]
                public static GLib.Quark quark ();
        }
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h", instance_pos = 1.9)]
@@ -1233,8 +1710,10 @@ namespace Pk {
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h")]
        public static string get_distro_id ();
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h")]
+       [Version (since = "0.5.2")]
        public static string iso8601_from_date (GLib.Date date);
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h")]
+       [Version (since = "0.5.2")]
        public static string iso8601_present ();
        [CCode (cheader_filename = "packagekit-glib2/packagekit.h")]
        public static void polkit_agent_close ();
diff --git a/vapi/packages/gtk+-2.0/gtk+-2.0-custom.vala b/vapi/packages/gtk+-2.0/gtk+-2.0-custom.vala
index b87b281..3b28ebf 100644
--- a/vapi/packages/gtk+-2.0/gtk+-2.0-custom.vala
+++ b/vapi/packages/gtk+-2.0/gtk+-2.0-custom.vala
@@ -514,6 +514,6 @@ namespace Gtk {
        public static void stock_add_static (Gtk.StockItem[] items);
        [Version (deprecated_since = "vala-0.12", replacement = "Gtk.Stock.list_ids")]
        public static GLib.SList<string> stock_list_ids ();
-       [Deprecated (since = "vala-0.26", replacement = "Gtk.Stock.set_translate_func")]
+       [Version (deprecated_since = "vala-0.26", replacement = "Gtk.Stock.set_translate_func")]
        public static void stock_set_translate_func (string domain, owned Gtk.TranslateFunc func);
 }
diff --git a/vapi/pango.vapi b/vapi/pango.vapi
index b6604bc..0a07fd6 100644
--- a/vapi/pango.vapi
+++ b/vapi/pango.vapi
@@ -54,6 +54,7 @@ namespace Pango {
                public Pango.AttrIterator copy ();
                public void destroy ();
                public unowned Pango.Attribute? @get (Pango.AttrType type);
+               [Version (since = "1.2")]
                public GLib.SList<Pango.Attribute> get_attrs ();
                public void get_font (Pango.FontDescription desc, Pango.Language? language, owned 
GLib.SList<Pango.Attribute>? extra_attrs);
                public bool next ();
@@ -73,10 +74,12 @@ namespace Pango {
                public AttrList ();
                public void change (owned Pango.Attribute attr);
                public Pango.AttrList? copy ();
+               [Version (since = "1.2")]
                public Pango.AttrList? filter (Pango.AttrFilterFunc func);
                public Pango.AttrIterator get_iterator ();
                public void insert (owned Pango.Attribute attr);
                public void insert_before (owned Pango.Attribute attr);
+               [Version (since = "1.10")]
                public Pango.AttrList @ref ();
                public void splice (Pango.AttrList other, int pos, int len);
                public void unref ();
@@ -116,32 +119,43 @@ namespace Pango {
                public Pango.Attribute copy ();
                public void destroy ();
                public bool equal (Pango.Attribute attr2);
+               [Version (since = "1.20")]
                public void init (Pango.AttrClass klass);
        }
        [CCode (cheader_filename = "pango/pango.h", type_id = "pango_context_get_type ()")]
        public class Context : GLib.Object {
                [CCode (has_construct_function = false)]
                public Context ();
+               [Version (since = "1.32.4")]
                public void changed ();
                public Pango.Direction get_base_dir ();
+               [Version (since = "1.16")]
                public Pango.Gravity get_base_gravity ();
                public unowned Pango.FontDescription get_font_description ();
+               [Version (since = "1.6")]
                public unowned Pango.FontMap get_font_map ();
+               [Version (since = "1.16")]
                public Pango.Gravity get_gravity ();
+               [Version (since = "1.16")]
                public Pango.GravityHint get_gravity_hint ();
                public Pango.Language get_language ();
+               [Version (since = "1.6")]
                public unowned Pango.Matrix? get_matrix ();
                public Pango.FontMetrics get_metrics (Pango.FontDescription? desc, Pango.Language? language);
+               [Version (since = "1.32.4")]
                public uint get_serial ();
                public void list_families ([CCode (array_length_cname = "n_families", array_length_pos = 
1.1)] out Pango.FontFamily[] families);
                public Pango.Font? load_font (Pango.FontDescription desc);
                public Pango.Fontset? load_fontset (Pango.FontDescription desc, Pango.Language language);
                public void set_base_dir (Pango.Direction direction);
+               [Version (since = "1.16")]
                public void set_base_gravity (Pango.Gravity gravity);
                public void set_font_description (Pango.FontDescription desc);
                public void set_font_map (Pango.FontMap font_map);
+               [Version (since = "1.16")]
                public void set_gravity_hint (Pango.GravityHint hint);
                public void set_language (Pango.Language language);
+               [Version (since = "1.6")]
                public void set_matrix (Pango.Matrix? matrix);
        }
        [CCode (cheader_filename = "pango/pango.h", ref_function = "pango_coverage_ref", unref_function = 
"pango_coverage_unref")]
@@ -185,10 +199,12 @@ namespace Pango {
                public virtual Pango.FontDescription describe ();
                [NoWrapper]
                public virtual Pango.FontDescription describe_absolute ();
+               [Version (since = "1.14")]
                public Pango.FontDescription describe_with_absolute_size ();
                public static void descriptions_free ([CCode (array_length_cname = "n_descs", 
array_length_pos = 1.1)] owned Pango.FontDescription[]? descs);
                public virtual unowned Pango.EngineShape find_shaper (Pango.Language lang, uint32 ch);
                public virtual Pango.Coverage get_coverage (Pango.Language lang);
+               [Version (since = "1.10")]
                public virtual unowned Pango.FontMap? get_font_map ();
                public virtual void get_glyph_extents (Pango.Glyph glyph, out Pango.Rectangle ink_rect, out 
Pango.Rectangle logical_rect);
                public virtual Pango.FontMetrics get_metrics (Pango.Language? language);
@@ -205,9 +221,11 @@ namespace Pango {
                public void free ();
                public static Pango.FontDescription from_string (string str);
                public unowned string? get_family ();
+               [Version (since = "1.16")]
                public Pango.Gravity get_gravity ();
                public Pango.FontMask get_set_fields ();
                public int get_size ();
+               [Version (since = "1.8")]
                public bool get_size_is_absolute ();
                public Pango.Stretch get_stretch ();
                public Pango.Style get_style ();
@@ -216,9 +234,11 @@ namespace Pango {
                public uint hash ();
                public void merge (Pango.FontDescription? desc_to_merge, bool replace_existing);
                public void merge_static (Pango.FontDescription desc_to_merge, bool replace_existing);
+               [Version (since = "1.8")]
                public void set_absolute_size (double size);
                public void set_family (string family);
                public void set_family_static (string family);
+               [Version (since = "1.16")]
                public void set_gravity (Pango.Gravity gravity);
                public void set_size (int size);
                public void set_stretch (Pango.Stretch stretch);
@@ -235,7 +255,9 @@ namespace Pango {
                protected FontFace ();
                public virtual Pango.FontDescription describe ();
                public virtual unowned string get_face_name ();
+               [Version (since = "1.18")]
                public virtual bool is_synthesized ();
+               [Version (since = "1.4")]
                public virtual void list_sizes ([CCode (array_length_cname = "n_sizes", array_length_pos = 
1.1)] out int[]? sizes);
        }
        [CCode (cheader_filename = "pango/pango.h", type_id = "pango_font_family_get_type ()")]
@@ -243,6 +265,7 @@ namespace Pango {
                [CCode (has_construct_function = false)]
                protected FontFamily ();
                public virtual unowned string get_name ();
+               [Version (since = "1.4")]
                public virtual bool is_monospace ();
                public virtual void list_faces ([CCode (array_length_cname = "n_faces", array_length_pos = 
1.1)] out Pango.FontFace[] faces);
        }
@@ -250,9 +273,13 @@ namespace Pango {
        public abstract class FontMap : GLib.Object {
                [CCode (has_construct_function = false)]
                protected FontMap ();
+               [Version (since = "1.34")]
                public virtual void changed ();
+               [Version (since = "1.22")]
                public Pango.Context create_context ();
+               [Version (since = "1.32.4")]
                public virtual uint get_serial ();
+               [Version (since = "1.4")]
                public unowned string get_shape_engine_type ();
                public virtual void list_families ([CCode (array_length_cname = "n_families", 
array_length_pos = 1.1)] out Pango.FontFamily[] families);
                public virtual Pango.Font? load_font (Pango.Context context, Pango.FontDescription desc);
@@ -276,9 +303,13 @@ namespace Pango {
                public int get_approximate_digit_width ();
                public int get_ascent ();
                public int get_descent ();
+               [Version (since = "1.6")]
                public int get_strikethrough_position ();
+               [Version (since = "1.6")]
                public int get_strikethrough_thickness ();
+               [Version (since = "1.6")]
                public int get_underline_position ();
+               [Version (since = "1.6")]
                public int get_underline_thickness ();
                public Pango.FontMetrics? @ref ();
                public void unref ();
@@ -287,6 +318,7 @@ namespace Pango {
        public abstract class Fontset : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Fontset ();
+               [Version (since = "1.4")]
                public virtual void @foreach (Pango.FontsetForeachFunc func);
                public virtual Pango.Font get_font (uint wc);
                [NoWrapper]
@@ -305,11 +337,17 @@ namespace Pango {
        public class GlyphItem {
                public weak Pango.GlyphString glyphs;
                public weak Pango.Item item;
+               [Version (since = "1.2")]
                public GLib.SList<Pango.GlyphItem> apply_attrs (string text, Pango.AttrList list);
+               [Version (since = "1.20")]
                public Pango.GlyphItem? copy ();
+               [Version (since = "1.6")]
                public void free ();
+               [Version (since = "1.26")]
                public void get_logical_widths (string text, [CCode (array_length = false)] int[] 
logical_widths);
+               [Version (since = "1.6")]
                public void letter_space (string text, [CCode (array_length = false)] Pango.LogAttr[] 
log_attrs, int letter_spacing);
+               [Version (since = "1.2")]
                public Pango.GlyphItem split (string text, int split_index);
        }
        [CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "pango_glyph_string_get_type ()")]
@@ -327,6 +365,7 @@ namespace Pango {
                public void extents_range (int start, int end, Pango.Font font, out Pango.Rectangle ink_rect, 
out Pango.Rectangle logical_rect);
                public void free ();
                public void get_logical_widths (string text, int length, int embedding_level, [CCode 
(array_length = false)] int[] logical_widths);
+               [Version (since = "1.14")]
                public int get_width ();
                public void index_to_x (string text, int length, Pango.Analysis analysis, int index_, bool 
trailing, out int x_pos);
                public void set_size (int new_len);
@@ -349,10 +388,13 @@ namespace Pango {
        [Compact]
        public class Language {
                public static unowned Pango.Language? from_string (string? language);
+               [Version (since = "1.16")]
                public static unowned Pango.Language get_default ();
                public unowned string get_sample_string ();
                [CCode (array_length_pos = 0.1)]
+               [Version (since = "1.22")]
                public unowned Pango.Script[]? get_scripts ();
+               [Version (since = "1.4")]
                public bool includes_script (Pango.Script script);
                public bool matches (string range_list);
                public unowned string to_string ();
@@ -365,47 +407,63 @@ namespace Pango {
                public Pango.Layout copy ();
                public Pango.Alignment get_alignment ();
                public unowned Pango.AttrList get_attributes ();
+               [Version (since = "1.4")]
                public bool get_auto_dir ();
+               [Version (since = "1.22")]
                public int get_baseline ();
+               [Version (since = "1.30")]
                public int get_character_count ();
                public unowned Pango.Context get_context ();
                public void get_cursor_pos (int index_, out Pango.Rectangle strong_pos, out Pango.Rectangle 
weak_pos);
+               [Version (since = "1.6")]
                public Pango.EllipsizeMode get_ellipsize ();
                public void get_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
+               [Version (since = "1.8")]
                public unowned Pango.FontDescription? get_font_description ();
+               [Version (since = "1.20")]
                public int get_height ();
                public int get_indent ();
                public Pango.LayoutIter get_iter ();
                public bool get_justify ();
                public unowned Pango.LayoutLine? get_line (int line);
                public int get_line_count ();
+               [Version (since = "1.16")]
                public unowned Pango.LayoutLine? get_line_readonly (int line);
                public unowned GLib.SList<Pango.LayoutLine> get_lines ();
+               [Version (since = "1.16")]
                public unowned GLib.SList<Pango.LayoutLine> get_lines_readonly ();
                public void get_log_attrs ([CCode (array_length_cname = "n_attrs", array_length_pos = 1.1)] 
out Pango.LogAttr[] attrs);
                [CCode (array_length_pos = 0.1)]
+               [Version (since = "1.30")]
                public unowned Pango.LogAttr[] get_log_attrs_readonly ();
                public void get_pixel_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle 
logical_rect);
                public void get_pixel_size (out int width, out int height);
+               [Version (since = "1.32.4")]
                public uint get_serial ();
                public bool get_single_paragraph_mode ();
                public void get_size (out int width, out int height);
                public int get_spacing ();
                public Pango.TabArray? get_tabs ();
                public unowned string get_text ();
+               [Version (since = "1.16")]
                public int get_unknown_glyphs_count ();
                public int get_width ();
                public Pango.WrapMode get_wrap ();
                public void index_to_line_x (int index_, bool trailing, out int line, out int x_pos);
                public Pango.Rectangle index_to_pos (int index_);
+               [Version (since = "1.16")]
                public bool is_ellipsized ();
+               [Version (since = "1.16")]
                public bool is_wrapped ();
                public void move_cursor_visually (bool strong, int old_index, int old_trailing, int 
direction, out int new_index, out int new_trailing);
                public void set_alignment (Pango.Alignment alignment);
                public void set_attributes (Pango.AttrList? attrs);
+               [Version (since = "1.4")]
                public void set_auto_dir (bool auto_dir);
+               [Version (since = "1.6")]
                public void set_ellipsize (Pango.EllipsizeMode ellipsize);
                public void set_font_description (Pango.FontDescription? desc);
+               [Version (since = "1.20")]
                public void set_height (int height);
                public void set_indent (int indent);
                public void set_justify (bool justify);
@@ -423,20 +481,24 @@ namespace Pango {
        [Compact]
        public class LayoutIter {
                public bool at_last_line ();
+               [Version (since = "1.20")]
                public Pango.LayoutIter? copy ();
                public void free ();
                public int get_baseline ();
                public Pango.Rectangle get_char_extents ();
                public void get_cluster_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle 
logical_rect);
                public int get_index ();
+               [Version (since = "1.20")]
                public unowned Pango.Layout get_layout ();
                public void get_layout_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle 
logical_rect);
                public Pango.LayoutLine get_line ();
                public void get_line_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
+               [Version (since = "1.16")]
                public unowned Pango.LayoutLine get_line_readonly ();
                public void get_line_yrange (out int y0_, out int y1_);
                public unowned Pango.LayoutRun? get_run ();
                public void get_run_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
+               [Version (since = "1.16")]
                public unowned Pango.LayoutRun? get_run_readonly ();
                public bool next_char ();
                public bool next_cluster ();
@@ -456,6 +518,7 @@ namespace Pango {
                public void get_pixel_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle 
logical_rect);
                public void get_x_ranges (int start_index, int end_index, [CCode (array_length_cname = 
"n_ranges", array_length_pos = 3.1)] out int[] ranges);
                public void index_to_x (int index_, bool trailing, out int x_pos);
+               [Version (since = "1.10")]
                public Pango.LayoutLine @ref ();
                public void unref ();
                public bool x_to_index (int x_pos, out int index_, out int trailing);
@@ -474,6 +537,7 @@ namespace Pango {
        public class MapEntry {
        }
        [CCode (cheader_filename = "pango/pango.h", type_id = "pango_renderer_get_type ()")]
+       [Version (since = "1.8")]
        public abstract class Renderer : GLib.Object {
                public Pango.Matrix matrix;
                [CCode (has_construct_function = false)]
@@ -484,6 +548,7 @@ namespace Pango {
                public void deactivate ();
                public virtual void draw_error_underline (int x, int y, int width, int height);
                public virtual void draw_glyph (Pango.Font font, Pango.Glyph glyph, double x, double y);
+               [Version (since = "1.22")]
                public virtual void draw_glyph_item (string? text, Pango.GlyphItem glyph_item, int x, int y);
                public virtual void draw_glyphs (Pango.Font font, Pango.GlyphString glyphs, int x, int y);
                public void draw_layout (Pango.Layout layout, int x, int y);
@@ -495,7 +560,9 @@ namespace Pango {
                [NoWrapper]
                public virtual void end ();
                public unowned Pango.Color? get_color (Pango.RenderPart part);
+               [Version (since = "1.20")]
                public unowned Pango.Layout? get_layout ();
+               [Version (since = "1.20")]
                public unowned Pango.LayoutLine? get_layout_line ();
                public unowned Pango.Matrix? get_matrix ();
                public virtual void part_changed (Pango.RenderPart part);
@@ -509,8 +576,11 @@ namespace Pango {
        public class ScriptIter {
                [CCode (has_construct_function = false)]
                public ScriptIter (string text, int length);
+               [Version (since = "1.4")]
                public void free ();
+               [Version (since = "1.4")]
                public void get_range (out string start, out string end, out Pango.Script script);
+               [Version (since = "1.4")]
                public bool next ();
        }
        [CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "pango_tab_array_get_type ()")]
@@ -549,6 +619,7 @@ namespace Pango {
                public Pango.Color? copy ();
                public void free ();
                public bool parse (string spec);
+               [Version (since = "1.16")]
                public string to_string ();
        }
        [CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
@@ -581,6 +652,7 @@ namespace Pango {
                public Pango.GlyphVisAttr attr;
        }
        [CCode (cheader_filename = "pango/pango.h", type_id = "pango_glyph_item_iter_get_type ()")]
+       [Version (since = "1.22")]
        public struct GlyphItemIter {
                public weak Pango.GlyphItem glyph_item;
                public weak string text;
@@ -622,6 +694,7 @@ namespace Pango {
                public uint is_word_boundary;
        }
        [CCode (cheader_filename = "pango/pango.h", type_id = "pango_matrix_get_type ()")]
+       [Version (since = "1.6")]
        public struct Matrix {
                public double xx;
                public double xy;
@@ -632,12 +705,17 @@ namespace Pango {
                public void concat (Pango.Matrix new_matrix);
                public Pango.Matrix? copy ();
                public void free ();
+               [Version (since = "1.12")]
                public double get_font_scale_factor ();
                public void rotate (double degrees);
                public void scale (double scale_x, double scale_y);
+               [Version (since = "1.16")]
                public void transform_distance (ref double dx, ref double dy);
+               [Version (since = "1.16")]
                public void transform_pixel_rectangle (ref Pango.Rectangle? rect);
+               [Version (since = "1.16")]
                public void transform_point (ref double x, ref double y);
+               [Version (since = "1.16")]
                public void transform_rectangle (ref Pango.Rectangle? rect);
                public void translate (double tx, double ty);
        }
@@ -686,10 +764,12 @@ namespace Pango {
                ABSOLUTE_SIZE,
                GRAVITY,
                GRAVITY_HINT;
+               [Version (since = "1.22")]
                public static unowned string? get_name (Pango.AttrType type);
                public static Pango.AttrType register (string name);
        }
        [CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_BIDI_TYPE_", type_id = 
"pango_bidi_type_get_type ()")]
+       [Version (since = "1.22")]
        public enum BidiType {
                L,
                LRE,
@@ -748,6 +828,7 @@ namespace Pango {
                GRAVITY
        }
        [CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_GRAVITY_", type_id = 
"pango_gravity_get_type ()")]
+       [Version (since = "1.16")]
        public enum Gravity {
                SOUTH,
                EAST,
@@ -756,16 +837,19 @@ namespace Pango {
                AUTO;
                public static Pango.Gravity get_for_matrix (Pango.Matrix? matrix);
                public static Pango.Gravity get_for_script (Pango.Script script, Pango.Gravity base_gravity, 
Pango.GravityHint hint);
+               [Version (since = "1.26")]
                public static Pango.Gravity get_for_script_and_width (Pango.Script script, bool wide, 
Pango.Gravity base_gravity, Pango.GravityHint hint);
                public static double to_rotation (Pango.Gravity gravity);
        }
        [CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_GRAVITY_HINT_", type_id = 
"pango_gravity_hint_get_type ()")]
+       [Version (since = "1.16")]
        public enum GravityHint {
                NATURAL,
                STRONG,
                LINE
        }
        [CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_RENDER_PART_", type_id = 
"pango_render_part_get_type ()")]
+       [Version (since = "1.8")]
        public enum RenderPart {
                FOREGROUND,
                BACKGROUND,
@@ -863,7 +947,9 @@ namespace Pango {
                SHARADA,
                SORA_SOMPENG,
                TAKRI;
+               [Version (since = "1.4")]
                public static Pango.Script for_unichar (unichar ch);
+               [Version (since = "1.4")]
                public static Pango.Language? get_sample_language (Pango.Script script);
        }
        [CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_STRETCH_", type_id = 
"pango_stretch_get_type ()")]
@@ -927,12 +1013,16 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h", instance_pos = 1.9)]
        public delegate bool AttrFilterFunc (Pango.Attribute attribute);
        [CCode (cheader_filename = "pango/pango.h", instance_pos = 2.9)]
+       [Version (since = "1.4")]
        public delegate bool FontsetForeachFunc (Pango.Fontset fontset, Pango.Font font);
        [CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ANALYSIS_FLAG_CENTERED_BASELINE")]
+       [Version (since = "1.16")]
        public const int ANALYSIS_FLAG_CENTERED_BASELINE;
        [CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ANALYSIS_FLAG_IS_ELLIPSIS")]
+       [Version (since = "1.36.7")]
        public const int ANALYSIS_FLAG_IS_ELLIPSIS;
        [CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING")]
+       [Version (since = "1.24")]
        public const int ATTR_INDEX_FROM_TEXT_BEGINNING;
        [CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ENGINE_TYPE_LANG")]
        public const string ENGINE_TYPE_LANG;
@@ -941,6 +1031,7 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h", cname = "PANGO_GLYPH_EMPTY")]
        public const Pango.Glyph GLYPH_EMPTY;
        [CCode (cheader_filename = "pango/pango.h", cname = "PANGO_GLYPH_INVALID_INPUT")]
+       [Version (since = "1.20")]
        public const Pango.Glyph GLYPH_INVALID_INPUT;
        [CCode (cheader_filename = "pango/pango.h", cname = "PANGO_GLYPH_UNKNOWN_FLAG")]
        public const Pango.Glyph GLYPH_UNKNOWN_FLAG;
@@ -963,16 +1054,20 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_background_new (uint16 red, uint16 green, uint16 blue);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.4")]
        public static Pango.Attribute attr_fallback_new (bool enable_fallback);
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_family_new (string family);
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_foreground_new (uint16 red, uint16 green, uint16 blue);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static Pango.Attribute attr_gravity_hint_new (Pango.GravityHint hint);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static Pango.Attribute attr_gravity_new (Pango.Gravity gravity);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.6")]
        public static Pango.Attribute attr_letter_spacing_new (int letter_spacing);
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_rise_new (int rise);
@@ -981,18 +1076,20 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_stretch_new (Pango.Stretch stretch);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.8")]
        public static Pango.Attribute attr_strikethrough_color_new (uint16 red, uint16 green, uint16 blue);
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_strikethrough_new (bool strikethrough);
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_style_new (Pango.Style style);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.AttrType.get_name", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.AttrType.get_name")]
        public static unowned string attr_type_get_name (Pango.AttrType type);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.AttrType.get_name", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.AttrType.get_name")]
        public static Pango.AttrType attr_type_register (string name);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.8")]
        public static Pango.Attribute attr_underline_color_new (uint16 red, uint16 green, uint16 blue);
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_underline_new (Pango.Underline underline);
@@ -1001,7 +1098,7 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Attribute attr_weight_new (Pango.Weight weight);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.BidiType.for_unichar", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.BidiType.for_unichar")]
        public static Pango.BidiType bidi_type_for_unichar (unichar ch);
        [CCode (cheader_filename = "pango/pango.h")]
        public static void @break (string text, int length, Pango.Analysis analysis, [CCode 
(array_length_cname = "attrs_len", array_length_pos = 4.1)] Pango.LogAttr[] attrs);
@@ -1012,8 +1109,10 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static void default_break (string text, int length, Pango.Analysis? analysis, Pango.LogAttr 
attrs, int attrs_len);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static void extents_to_pixels (Pango.Rectangle? inclusive, Pango.Rectangle? nearest);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.4")]
        public static Pango.Direction find_base_dir (string text, int length);
        [CCode (cheader_filename = "pango/pango.h")]
        public static void find_paragraph_boundary (string text, int length, out int 
paragraph_delimiter_index, out int next_paragraph_start);
@@ -1026,33 +1125,39 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static unowned string get_sysconf_subdirectory ();
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.Gravity.get_for_matrix", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.Gravity.get_for_matrix")]
        public static Pango.Gravity gravity_get_for_matrix (Pango.Matrix matrix);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.Gravity.get_for_script", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.Gravity.get_for_script")]
        public static Pango.Gravity gravity_get_for_script (Pango.Script script, Pango.Gravity base_gravity, 
Pango.GravityHint hint);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.Gravity.get_for_script_and_width", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.Gravity.get_for_script_and_width")]
        public static Pango.Gravity gravity_get_for_script_and_width (Pango.Script script, bool wide, 
Pango.Gravity base_gravity, Pango.GravityHint hint);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.Gravity.get_to_rotation", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.Gravity.get_to_rotation")]
        public static double gravity_to_rotation (Pango.Gravity gravity);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.10")]
        public static bool is_zero_width (unichar ch);
        [CCode (cheader_filename = "pango/pango.h")]
        public static GLib.List<Pango.Item> itemize (Pango.Context context, string text, int start_index, int 
length, Pango.AttrList attrs, Pango.AttrIterator? cached_iter);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.4")]
        public static GLib.List<Pango.Item> itemize_with_base_dir (Pango.Context context, Pango.Direction 
base_dir, string text, int start_index, int length, Pango.AttrList attrs, Pango.AttrIterator? cached_iter);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.4")]
        public static uint8 log2vis_get_embedding_levels (string text, int length, Pango.Direction pbase_dir);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (since = "1.32")]
+       [Version (deprecated = true, deprecated_since = "1.32")]
        public static void lookup_aliases (string fontname, [CCode (array_length_cname = "n_families", 
array_length_pos = 2.1)] out string[] families);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.31.0")]
        public static bool markup_parser_finish (GLib.MarkupParseContext context, out Pango.AttrList 
attr_list, out string text, out unichar accel_char) throws GLib.Error;
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.31.0")]
        public static unowned GLib.MarkupParseContext markup_parser_new (unichar accel_marker);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static bool parse_enum (GLib.Type type, string? str, out int value, bool warn, out string 
possible_values);
        [CCode (cheader_filename = "pango/pango.h")]
        public static bool parse_markup (string markup_text, int length, unichar accel_marker, out 
Pango.AttrList attr_list, out string text, out unichar accel_char) throws GLib.Error;
@@ -1065,6 +1170,7 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static bool parse_weight (string str, out Pango.Weight weight, bool warn);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.12")]
        public static void quantize_line_geometry (ref int thickness, ref int position);
        [CCode (cheader_filename = "pango/pango.h")]
        public static int read_line ([CCode (type = "FILE*")] GLib.FileStream stream, GLib.StringBuilder str);
@@ -1077,14 +1183,15 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static bool scan_word (ref string pos, out unowned GLib.StringBuilder @out);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.Script.for_unichar", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.Script.for_unichar")]
        public static Pango.Script script_for_unichar (unichar ch);
        [CCode (cheader_filename = "pango/pango.h")]
-       [Deprecated (replacement = "Pango.Script.get_sample_language", since = "vala-0.18")]
+       [Version (deprecated_since = "vala-0.18", replacement = "Pango.Script.get_sample_language")]
        public static Pango.Language script_get_sample_language (Pango.Script script);
        [CCode (cheader_filename = "pango/pango.h")]
        public static void shape (string text, int length, Pango.Analysis analysis, Pango.GlyphString glyphs);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.32")]
        public static void shape_full (string item_text, int item_length, string? paragraph_text, int 
paragraph_length, Pango.Analysis analysis, Pango.GlyphString glyphs);
        [CCode (cheader_filename = "pango/pango.h")]
        public static bool skip_space (ref string pos);
@@ -1095,13 +1202,18 @@ namespace Pango {
        [CCode (cheader_filename = "pango/pango.h")]
        public static Pango.Direction unichar_direction (unichar ch);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static int units_from_double (double d);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static double units_to_double (int i);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static int version ();
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static unowned string? version_check (int required_major, int required_minor, int 
required_micro);
        [CCode (cheader_filename = "pango/pango.h")]
+       [Version (since = "1.16")]
        public static unowned string version_string ();
 }
diff --git a/vapi/pangocairo.vapi b/vapi/pangocairo.vapi
index 1123046..d8d914e 100644
--- a/vapi/pangocairo.vapi
+++ b/vapi/pangocairo.vapi
@@ -4,66 +4,93 @@
 namespace Pango {
        [CCode (cheader_filename = "pango/pangocairo.h", type_id = "pango_cairo_font_get_type ()")]
        [GIR (name = "Font")]
+       [Version (since = "1.18")]
        public interface CairoFont : Pango.Font {
                public unowned Cairo.ScaledFont? get_scaled_font ();
        }
        [CCode (cheader_filename = "pango/pangocairo.h", type_id = "pango_cairo_font_map_get_type ()")]
        [GIR (name = "FontMap")]
+       [Version (since = "1.10")]
        public interface CairoFontMap : Pango.FontMap {
-               [Deprecated (since = "1.22")]
+               [Version (deprecated = true, deprecated_since = "1.22", since = "1.10")]
                public unowned Pango.Context create_context ();
                public static unowned Pango.FontMap get_default ();
+               [Version (since = "1.18")]
                public Cairo.FontType get_font_type ();
                public double get_resolution ();
                public static Pango.FontMap @new ();
+               [Version (since = "1.18")]
                public static Pango.FontMap? new_for_font_type (Cairo.FontType fonttype);
+               [Version (since = "1.22")]
                public void set_default ();
                public void set_resolution (double dpi);
        }
        [CCode (cheader_filename = "pango/pangocairo.h", instance_pos = 3.9)]
        public delegate void CairoShapeRendererFunc (Cairo.Context cr, Pango.AttrShape attr, bool do_path);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static unowned Cairo.FontOptions? cairo_context_get_font_options (Pango.Context context);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static double cairo_context_get_resolution (Pango.Context context);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.18")]
        public static unowned Pango.CairoShapeRendererFunc? cairo_context_get_shape_renderer (Pango.Context 
context);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_context_set_font_options (Pango.Context context, Cairo.FontOptions? options);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_context_set_resolution (Pango.Context context, double dpi);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.18")]
        public static void cairo_context_set_shape_renderer (Pango.Context context, owned 
Pango.CairoShapeRendererFunc? func);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.22")]
        public static Pango.Context cairo_create_context (Cairo.Context cr);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static Pango.Layout cairo_create_layout (Cairo.Context cr);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.14")]
        public static void cairo_error_underline_path (Cairo.Context cr, double x, double y, double width, 
double height);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static unowned Pango.FontMap cairo_font_map_get_default ();
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static Pango.FontMap cairo_font_map_new ();
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.18")]
        public static Pango.FontMap? cairo_font_map_new_for_font_type (Cairo.FontType fonttype);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_glyph_string_path (Cairo.Context cr, Pango.Font font, Pango.GlyphString 
glyphs);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_layout_line_path (Cairo.Context cr, Pango.LayoutLine line);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_layout_path (Cairo.Context cr, Pango.Layout layout);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.14")]
        public static void cairo_show_error_underline (Cairo.Context cr, double x, double y, double width, 
double height);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.22")]
        public static void cairo_show_glyph_item (Cairo.Context cr, string text, Pango.GlyphItem glyph_item);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_show_glyph_string (Cairo.Context cr, Pango.Font font, Pango.GlyphString 
glyphs);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_show_layout (Cairo.Context cr, Pango.Layout layout);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_show_layout_line (Cairo.Context cr, Pango.LayoutLine line);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_update_context (Cairo.Context cr, Pango.Context context);
        [CCode (cheader_filename = "pango/pangocairo.h")]
+       [Version (since = "1.10")]
        public static void cairo_update_layout (Cairo.Context cr, Pango.Layout layout);
 }
diff --git a/vapi/poppler-glib.vapi b/vapi/poppler-glib.vapi
index 8f9485c..0a5652d 100644
--- a/vapi/poppler-glib.vapi
+++ b/vapi/poppler-glib.vapi
@@ -49,11 +49,17 @@ namespace Poppler {
                public Poppler.AnnotFlag get_flags ();
                public string get_modified ();
                public string get_name ();
+               [Version (since = "0.14")]
                public int get_page_index ();
+               [Version (since = "0.26")]
                public Poppler.Rectangle get_rectangle ();
+               [Version (since = "0.16")]
                public void set_color (Poppler.Color? poppler_color);
+               [Version (since = "0.12")]
                public void set_contents (string contents);
+               [Version (since = "0.22")]
                public void set_flags (Poppler.AnnotFlag flags);
+               [Version (since = "0.26")]
                public void set_rectangle (Poppler.Rectangle poppler_rect);
        }
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_annot_callout_line_get_type ()")]
@@ -74,15 +80,20 @@ namespace Poppler {
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_circle_get_type ()")]
        public class AnnotCircle : Poppler.AnnotMarkup {
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.26")]
                public AnnotCircle (Poppler.Document doc, Poppler.Rectangle rect);
+               [Version (since = "0.26")]
                public Poppler.Color get_interior_color ();
+               [Version (since = "0.26")]
                public void set_interior_color (Poppler.Color? poppler_color);
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_file_attachment_get_type ()")]
        public class AnnotFileAttachment : Poppler.AnnotMarkup {
                [CCode (has_construct_function = false)]
                protected AnnotFileAttachment ();
+               [Version (since = "0.14")]
                public Poppler.Attachment get_attachment ();
+               [Version (since = "0.14")]
                public string get_name ();
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_free_text_get_type ()")]
@@ -95,7 +106,9 @@ namespace Poppler {
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_line_get_type ()")]
        public class AnnotLine : Poppler.AnnotMarkup {
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.26")]
                public AnnotLine (Poppler.Document doc, Poppler.Rectangle rect, Poppler.Point start, 
Poppler.Point end);
+               [Version (since = "0.26")]
                public void set_vertices (Poppler.Point start, Poppler.Point end);
        }
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_annot_mapping_get_type ()")]
@@ -117,58 +130,79 @@ namespace Poppler {
                public string get_label ();
                public double get_opacity ();
                public bool get_popup_is_open ();
+               [Version (since = "0.12")]
                public bool get_popup_rectangle (out Poppler.Rectangle poppler_rect);
                public Poppler.AnnotMarkupReplyType get_reply_to ();
                public string get_subject ();
+               [Version (since = "0.12")]
                public bool has_popup ();
+               [Version (since = "0.16")]
                public void set_label (string? label);
+               [Version (since = "0.16")]
                public void set_opacity (double opacity);
+               [Version (since = "0.16")]
                public void set_popup (Poppler.Rectangle popup_rect);
+               [Version (since = "0.16")]
                public void set_popup_is_open (bool is_open);
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_movie_get_type ()")]
        public class AnnotMovie : Poppler.Annot {
                [CCode (has_construct_function = false)]
                protected AnnotMovie ();
+               [Version (since = "0.14")]
                public unowned Poppler.Movie get_movie ();
+               [Version (since = "0.14")]
                public string get_title ();
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_screen_get_type ()")]
        public class AnnotScreen : Poppler.Annot {
                [CCode (has_construct_function = false)]
                protected AnnotScreen ();
+               [Version (since = "0.14")]
                public unowned Poppler.Action get_action ();
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_square_get_type ()")]
        public class AnnotSquare : Poppler.AnnotMarkup {
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.26")]
                public AnnotSquare (Poppler.Document doc, Poppler.Rectangle rect);
+               [Version (since = "0.26")]
                public Poppler.Color get_interior_color ();
+               [Version (since = "0.26")]
                public void set_interior_color (Poppler.Color? poppler_color);
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_text_get_type ()")]
        public class AnnotText : Poppler.AnnotMarkup {
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.16")]
                public AnnotText (Poppler.Document doc, Poppler.Rectangle rect);
                public string get_icon ();
                public bool get_is_open ();
                public Poppler.AnnotTextState get_state ();
+               [Version (since = "0.16")]
                public void set_icon (string icon);
+               [Version (since = "0.16")]
                public void set_is_open (bool is_open);
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_annot_text_markup_get_type ()")]
        public class AnnotTextMarkup : Poppler.AnnotMarkup {
                [CCode (has_construct_function = false)]
                protected AnnotTextMarkup ();
+               [Version (since = "0.26")]
                public GLib.Array<Poppler.Quadrilateral> get_quadrilaterals ();
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.26")]
                public AnnotTextMarkup.highlight (Poppler.Document doc, Poppler.Rectangle rect, 
GLib.Array<Poppler.Quadrilateral> quadrilaterals);
+               [Version (since = "0.26")]
                public void set_quadrilaterals (GLib.Array<Poppler.Quadrilateral> quadrilaterals);
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.26")]
                public AnnotTextMarkup.squiggly (Poppler.Document doc, Poppler.Rectangle rect, 
GLib.Array<Poppler.Quadrilateral> quadrilaterals);
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.26")]
                public AnnotTextMarkup.strikeout (Poppler.Document doc, Poppler.Rectangle rect, 
GLib.Array<Poppler.Quadrilateral> quadrilaterals);
                [CCode (has_construct_function = false, type = "PopplerAnnot*")]
+               [Version (since = "0.26")]
                public AnnotTextMarkup.underline (Poppler.Document doc, Poppler.Rectangle rect, 
GLib.Array<Poppler.Quadrilateral> quadrilaterals);
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_attachment_get_type ()")]
@@ -222,31 +256,50 @@ namespace Poppler {
                [CCode (has_construct_function = false)]
                public Document.from_file (string uri, string? password) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "0.22")]
                public Document.from_gfile (GLib.File file, string? password, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                [CCode (has_construct_function = false)]
+               [Version (since = "0.22")]
                public Document.from_stream (GLib.InputStream stream, int64 length, string? password, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public GLib.List<Poppler.Attachment> get_attachments ();
+               [Version (since = "0.16")]
                public string get_author ();
+               [Version (since = "0.16")]
                public long get_creation_date ();
+               [Version (since = "0.16")]
                public string get_creator ();
                public Poppler.FormField get_form_field (int id);
+               [Version (since = "0.16")]
                public bool get_id (out string permanent_id, out string update_id);
+               [Version (since = "0.16")]
                public string get_keywords ();
+               [Version (since = "0.16")]
                public string get_metadata ();
+               [Version (since = "0.16")]
                public long get_modification_date ();
+               [Version (since = "0.18")]
                public uint get_n_attachments ();
                public int get_n_pages ();
                public Poppler.Page get_page (int index);
                public Poppler.Page get_page_by_label (string label);
+               [Version (since = "0.16")]
                public Poppler.PageLayout get_page_layout ();
+               [Version (since = "0.16")]
                public Poppler.PageMode get_page_mode ();
+               [Version (since = "0.16")]
                public void get_pdf_version (out uint major_version, out uint minor_version);
+               [Version (since = "0.16")]
                public string get_pdf_version_string ();
+               [Version (since = "0.16")]
                public Poppler.Permissions get_permissions ();
+               [Version (since = "0.16")]
                public string get_producer ();
+               [Version (since = "0.16")]
                public string get_subject ();
+               [Version (since = "0.16")]
                public string get_title ();
                public bool has_attachments ();
+               [Version (since = "0.16")]
                public bool is_linearized ();
                public bool save (string uri) throws GLib.Error;
                public bool save_a_copy (string uri) throws GLib.Error;
@@ -286,11 +339,13 @@ namespace Poppler {
        public class FontsIter {
                public Poppler.FontsIter copy ();
                public void free ();
+               [Version (since = "0.20")]
                public unowned string get_encoding ();
                public unowned string get_file_name ();
                public Poppler.FontType get_font_type ();
                public unowned string get_full_name ();
                public unowned string get_name ();
+               [Version (since = "0.20")]
                public unowned string get_substitute_name ();
                public bool is_embedded ();
                public bool is_subset ();
@@ -316,12 +371,16 @@ namespace Poppler {
                public void choice_set_text (string text);
                public void choice_toggle_item (int index);
                public void choice_unselect_all ();
+               [Version (since = "0.18")]
                public unowned Poppler.Action get_action ();
                public Poppler.FormFieldType get_field_type ();
                public double get_font_size ();
                public int get_id ();
+               [Version (since = "0.16")]
                public string get_mapping_name ();
+               [Version (since = "0.16")]
                public string get_name ();
+               [Version (since = "0.16")]
                public string get_partial_name ();
                public bool is_read_only ();
                public bool text_do_scroll ();
@@ -369,23 +428,35 @@ namespace Poppler {
        public class Layer : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Layer ();
+               [Version (since = "0.12")]
                public int get_radio_button_group_id ();
+               [Version (since = "0.12")]
                public unowned string get_title ();
+               [Version (since = "0.12")]
                public void hide ();
+               [Version (since = "0.12")]
                public bool is_parent ();
+               [Version (since = "0.12")]
                public bool is_visible ();
+               [Version (since = "0.12")]
                public void show ();
        }
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_layers_iter_get_type ()")]
        [Compact]
        public class LayersIter {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.12")]
                public LayersIter (Poppler.Document document);
                public Poppler.LayersIter copy ();
+               [Version (since = "0.12")]
                public void free ();
+               [Version (since = "0.12")]
                public Poppler.LayersIter get_child ();
+               [Version (since = "0.12")]
                public Poppler.Layer get_layer ();
+               [Version (since = "0.12")]
                public string get_title ();
+               [Version (since = "0.12")]
                public bool next ();
        }
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_link_mapping_get_type ()")]
@@ -402,18 +473,26 @@ namespace Poppler {
        public class Media : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Media ();
+               [Version (since = "0.14")]
                public unowned string get_filename ();
+               [Version (since = "0.14")]
                public unowned string get_mime_type ();
+               [Version (since = "0.14")]
                public bool is_embedded ();
+               [Version (since = "0.14")]
                public bool save (string filename) throws GLib.Error;
+               [Version (since = "0.14")]
                public bool save_to_callback (Poppler.MediaSaveFunc save_func) throws GLib.Error;
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_movie_get_type ()")]
        public class Movie : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Movie ();
+               [Version (since = "0.14")]
                public unowned string get_filename ();
+               [Version (since = "0.14")]
                public bool need_poster ();
+               [Version (since = "0.14")]
                public bool show_controls ();
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_ps_file_get_type ()")]
@@ -428,13 +507,16 @@ namespace Poppler {
        public class Page : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Page ();
+               [Version (since = "0.16")]
                public void add_annot (Poppler.Annot annot);
                public GLib.List<Poppler.Rectangle> find_text (string text);
+               [Version (since = "0.22")]
                public GLib.List<Poppler.Rectangle> find_text_with_options (string text, Poppler.FindFlags 
options);
                public static void free_annot_mapping (GLib.List<Poppler.AnnotMapping> list);
                public static void free_form_field_mapping (GLib.List<Poppler.FormFieldMapping> list);
                public static void free_image_mapping (GLib.List<Poppler.ImageMapping> list);
                public static void free_link_mapping (GLib.List<Poppler.LinkMapping> list);
+               [Version (since = "0.18")]
                public static void free_text_attributes (GLib.List<Poppler.TextAttributes> list);
                public GLib.List<Poppler.AnnotMapping> get_annot_mapping ();
                public Poppler.Rectangle get_crop_box ();
@@ -443,29 +525,40 @@ namespace Poppler {
                public Cairo.Surface get_image (int image_id);
                public GLib.List<Poppler.ImageMapping> get_image_mapping ();
                public int get_index ();
+               [Version (since = "0.16")]
                public string get_label ();
                public GLib.List<Poppler.LinkMapping> get_link_mapping ();
+               [Version (since = "0.16")]
                public Cairo.Region get_selected_region (double scale, Poppler.SelectionStyle style, 
Poppler.Rectangle selection);
+               [Version (since = "0.16")]
                public string get_selected_text (Poppler.SelectionStyle style, Poppler.Rectangle selection);
-               [Deprecated (since = "0.16")]
+               [Version (deprecated = true, deprecated_since = "0.16")]
                public GLib.List<Poppler.Rectangle> get_selection_region (double scale, 
Poppler.SelectionStyle style, Poppler.Rectangle selection);
                public void get_size (out double width, out double height);
+               [Version (since = "0.16")]
                public string get_text ();
+               [Version (since = "0.18")]
                public GLib.List<Poppler.TextAttributes> get_text_attributes ();
+               [Version (since = "0.26")]
                public GLib.List<Poppler.TextAttributes> get_text_attributes_for_area (Poppler.Rectangle 
area);
+               [Version (since = "0.26")]
                public string get_text_for_area (Poppler.Rectangle area);
+               [Version (since = "0.16")]
                public bool get_text_layout ([CCode (array_length_cname = "n_rectangles", array_length_pos = 
1.1, array_length_type = "guint")] out Poppler.Rectangle[] rectangles);
+               [Version (since = "0.26")]
                public bool get_text_layout_for_area (Poppler.Rectangle area, [CCode (array_length_cname = 
"n_rectangles", array_length_pos = 2.1, array_length_type = "guint")] out Poppler.Rectangle[] rectangles);
                public Cairo.Surface get_thumbnail ();
                public bool get_thumbnail_size (out int width, out int height);
                public Poppler.PageTransition get_transition ();
+               [Version (since = "0.22")]
                public void remove_annot (Poppler.Annot annot);
                public void render ([CCode (type = "cairo_t*")] Cairo.Context cairo);
                public void render_for_printing ([CCode (type = "cairo_t*")] Cairo.Context cairo);
+               [Version (since = "0.16")]
                public void render_for_printing_with_options ([CCode (type = "cairo_t*")] Cairo.Context 
cairo, Poppler.PrintFlags options);
                public void render_selection ([CCode (type = "cairo_t*")] Cairo.Context cairo, 
Poppler.Rectangle selection, Poppler.Rectangle old_selection, Poppler.SelectionStyle style, Poppler.Color 
glyph_color, Poppler.Color background_color);
                public void render_to_ps (Poppler.PSFile ps_file);
-               [Deprecated (since = "0.16")]
+               [Version (deprecated = true, deprecated_since = "0.16")]
                public static void selection_region_free (GLib.List<Poppler.Rectangle> region);
                public string label { owned get; }
        }
@@ -490,8 +583,11 @@ namespace Poppler {
                public double x;
                public double y;
                [CCode (has_construct_function = false)]
+               [Version (since = "0.26")]
                public Point ();
+               [Version (since = "0.26")]
                public Poppler.Point copy ();
+               [Version (since = "0.26")]
                public void free ();
        }
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_quadrilateral_get_type ()")]
@@ -502,8 +598,11 @@ namespace Poppler {
                public Poppler.Point p3;
                public Poppler.Point p4;
                [CCode (has_construct_function = false)]
+               [Version (since = "0.26")]
                public Quadrilateral ();
+               [Version (since = "0.26")]
                public Poppler.Quadrilateral copy ();
+               [Version (since = "0.26")]
                public void free ();
        }
        [CCode (cheader_filename = "poppler.h", type_id = "poppler_structure_element_get_type ()")]
@@ -511,78 +610,139 @@ namespace Poppler {
                [CCode (has_construct_function = false)]
                protected StructureElement ();
                public string get_abbreviation ();
+               [Version (since = "0.26")]
                public string get_actual_text ();
+               [Version (since = "0.26")]
                public string get_alt_text ();
+               [Version (since = "0.26")]
                public bool get_background_color (out unowned Poppler.Color color);
+               [Version (since = "0.26")]
                public double get_baseline_shift ();
+               [Version (since = "0.26")]
                public Poppler.StructureBlockAlign get_block_align ();
+               [Version (since = "0.26")]
                public bool get_border_color ([CCode (array_length = false)] out unowned Poppler.Color[] 
colors);
+               [Version (since = "0.26")]
                public void get_border_style ([CCode (array_length = false)] out 
Poppler.StructureBorderStyle[] border_styles);
+               [Version (since = "0.26")]
                public bool get_border_thickness ([CCode (array_length = false)] out double[] 
border_thicknesses);
+               [Version (since = "0.26")]
                public bool get_bounding_box (out Poppler.Rectangle bounding_box);
+               [Version (since = "0.26")]
                public bool get_color (out unowned Poppler.Color color);
+               [Version (since = "0.26")]
                public uint get_column_count ();
                [CCode (array_length_pos = 0.1, array_length_type = "guint")]
+               [Version (since = "0.26")]
                public double[] get_column_gaps ();
                [CCode (array_length_pos = 0.1, array_length_type = "guint")]
+               [Version (since = "0.26")]
                public double[] get_column_widths ();
+               [Version (since = "0.26")]
                public double get_end_indent ();
+               [Version (since = "0.26")]
                public string get_form_description ();
+               [Version (since = "0.26")]
                public Poppler.StructureFormRole get_form_role ();
+               [Version (since = "0.26")]
                public Poppler.StructureFormState get_form_state ();
+               [Version (since = "0.26")]
                public Poppler.StructureGlyphOrientation get_glyph_orientation ();
+               [Version (since = "0.26")]
                public double get_height ();
+               [Version (since = "0.26")]
                public string get_id ();
+               [Version (since = "0.26")]
                public Poppler.StructureInlineAlign get_inline_align ();
+               [Version (since = "0.26")]
                public Poppler.StructureElementKind get_kind ();
+               [Version (since = "0.26")]
                public string get_language ();
+               [Version (since = "0.26")]
                public double get_line_height ();
+               [Version (since = "0.26")]
                public Poppler.StructureListNumbering get_list_numbering ();
+               [Version (since = "0.26")]
                public void get_padding ([CCode (array_length = false)] out double[] paddings);
+               [Version (since = "0.26")]
                public int get_page ();
+               [Version (since = "0.26")]
                public Poppler.StructurePlacement get_placement ();
+               [Version (since = "0.26")]
                public Poppler.StructureRubyAlign get_ruby_align ();
+               [Version (since = "0.26")]
                public Poppler.StructureRubyPosition get_ruby_position ();
+               [Version (since = "0.26")]
                public double get_space_after ();
+               [Version (since = "0.26")]
                public double get_space_before ();
+               [Version (since = "0.26")]
                public double get_start_indent ();
+               [Version (since = "0.26")]
                public void get_table_border_style ([CCode (array_length = false)] out 
Poppler.StructureBorderStyle[] border_styles);
+               [Version (since = "0.26")]
                public uint get_table_column_span ();
                [CCode (array_length = false, array_null_terminated = true)]
+               [Version (since = "0.26")]
                public string[] get_table_headers ();
+               [Version (since = "0.26")]
                public void get_table_padding ([CCode (array_length = false)] out double[] paddings);
+               [Version (since = "0.26")]
                public uint get_table_row_span ();
+               [Version (since = "0.26")]
                public Poppler.StructureTableScope get_table_scope ();
+               [Version (since = "0.26")]
                public string get_table_summary ();
+               [Version (since = "0.26")]
                public string get_text (Poppler.StructureGetTextFlags flags);
+               [Version (since = "0.26")]
                public Poppler.StructureTextAlign get_text_align ();
+               [Version (since = "0.26")]
                public bool get_text_decoration_color (out unowned Poppler.Color color);
+               [Version (since = "0.26")]
                public double get_text_decoration_thickness ();
+               [Version (since = "0.26")]
                public Poppler.StructureTextDecoration get_text_decoration_type ();
+               [Version (since = "0.26")]
                public double get_text_indent ();
                [CCode (array_length_pos = 0.1, array_length_type = "guint")]
+               [Version (since = "0.26")]
                public Poppler.TextSpan[] get_text_spans ();
+               [Version (since = "0.26")]
                public string get_title ();
+               [Version (since = "0.26")]
                public double get_width ();
+               [Version (since = "0.26")]
                public Poppler.StructureWritingMode get_writing_mode ();
+               [Version (since = "0.26")]
                public bool is_block ();
+               [Version (since = "0.26")]
                public bool is_content ();
+               [Version (since = "0.26")]
                public bool is_grouping ();
+               [Version (since = "0.26")]
                public bool is_inline ();
        }
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_structure_element_iter_get_type ()")]
        [Compact]
        public class StructureElementIter {
                [CCode (has_construct_function = false)]
+               [Version (since = "0.26")]
                public StructureElementIter (Poppler.Document poppler_document);
+               [Version (since = "0.26")]
                public Poppler.StructureElementIter copy ();
+               [Version (since = "0.26")]
                public void free ();
+               [Version (since = "0.26")]
                public Poppler.StructureElementIter get_child ();
+               [Version (since = "0.26")]
                public Poppler.StructureElement get_element ();
+               [Version (since = "0.26")]
                public bool next ();
        }
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_text_attributes_get_type ()")]
        [Compact]
+       [Version (since = "0.18")]
        public class TextAttributes {
                public Poppler.Color color;
                public int end_index;
@@ -598,13 +758,21 @@ namespace Poppler {
        [CCode (cheader_filename = "poppler.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "poppler_text_span_get_type ()")]
        [Compact]
        public class TextSpan {
+               [Version (since = "0.26")]
                public Poppler.TextSpan copy ();
+               [Version (since = "0.26")]
                public void free ();
+               [Version (since = "0.26")]
                public void get_color (out unowned Poppler.Color color);
+               [Version (since = "0.26")]
                public unowned string get_font_name ();
+               [Version (since = "0.26")]
                public unowned string get_text ();
+               [Version (since = "0.26")]
                public bool is_bold_font ();
+               [Version (since = "0.26")]
                public bool is_fixed_width_font ();
+               [Version (since = "0.26")]
                public bool is_serif_font ();
        }
        [CCode (cheader_filename = "poppler.h", has_type_id = false)]
@@ -687,12 +855,14 @@ namespace Poppler {
                public void free ();
        }
        [CCode (cheader_filename = "poppler.h", cprefix = "POPPLER_ACTION_LAYER_", type_id = 
"poppler_action_layer_action_get_type ()")]
+       [Version (since = "0.14")]
        public enum ActionLayerAction {
                ON,
                OFF,
                TOGGLE
        }
        [CCode (cheader_filename = "poppler.h", cprefix = "POPPLER_ACTION_MOVIE_", type_id = 
"poppler_action_movie_operation_get_type ()")]
+       [Version (since = "0.14")]
        public enum ActionMovieOperation {
                PLAY,
                PAUSE,
@@ -805,6 +975,7 @@ namespace Poppler {
        }
        [CCode (cheader_filename = "poppler.h", cprefix = "POPPLER_FIND_", type_id = 
"poppler_find_flags_get_type ()")]
        [Flags]
+       [Version (since = "0.22")]
        public enum FindFlags {
                DEFAULT,
                CASE_SENSITIVE,
@@ -918,6 +1089,7 @@ namespace Poppler {
        }
        [CCode (cheader_filename = "poppler.h", cprefix = "POPPLER_PRINT_", type_id = 
"poppler_print_flags_get_type ()")]
        [Flags]
+       [Version (since = "0.16")]
        public enum PrintFlags {
                DOCUMENT,
                MARKUP_ANNOTS,
@@ -1127,16 +1299,21 @@ namespace Poppler {
        [CCode (cheader_filename = "poppler.h", instance_pos = 1.9)]
        public delegate bool AttachmentSaveFunc ([CCode (array_length_cname = "count", array_length_pos = 
1.1, array_length_type = "gsize")] uint8[] buf) throws GLib.Error;
        [CCode (cheader_filename = "poppler.h", instance_pos = 1.9)]
+       [Version (since = "0.14")]
        public delegate bool MediaSaveFunc ([CCode (array_length_cname = "count", array_length_pos = 1.1, 
array_length_type = "gsize")] uint8[] buf) throws GLib.Error;
        [CCode (cheader_filename = "poppler.h", cname = "POPPLER_HAS_CAIRO")]
        public const int HAS_CAIRO;
        [CCode (cheader_filename = "poppler.h", cname = "POPPLER_MAJOR_VERSION")]
+       [Version (since = "0.12")]
        public const int MAJOR_VERSION;
        [CCode (cheader_filename = "poppler.h", cname = "POPPLER_MICRO_VERSION")]
+       [Version (since = "0.12")]
        public const int MICRO_VERSION;
        [CCode (cheader_filename = "poppler.h", cname = "POPPLER_MINOR_VERSION")]
+       [Version (since = "0.12")]
        public const int MINOR_VERSION;
        [CCode (cheader_filename = "poppler.h")]
+       [Version (since = "0.12")]
        public static bool date_parse (string date, long timet);
        [CCode (cheader_filename = "poppler.h")]
        public static Poppler.Backend get_backend ();
diff --git a/vapi/rest-0.6.vapi b/vapi/rest-0.6.vapi
index 961e950..073b2d5 100644
--- a/vapi/rest-0.6.vapi
+++ b/vapi/rest-0.6.vapi
@@ -10,10 +10,10 @@ namespace Rest {
                [CCode (cname = "oauth_proxy_access_token_async")]
                public bool access_token_async (string function, string verifier, [CCode (delegate_target_pos 
= 4.9)] Rest.OAuthProxyAuthCallback callback, GLib.Object? weak_object) throws GLib.Error;
                [CCode (cname = "oauth_proxy_auth_step")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public bool auth_step (string function) throws GLib.Error;
                [CCode (cname = "oauth_proxy_auth_step_async")]
-               [Deprecated]
+               [Version (deprecated = true)]
                public bool auth_step_async (string function, [CCode (delegate_target_pos = 3.9)] 
Rest.OAuthProxyAuthCallback callback, GLib.Object? weak_object) throws GLib.Error;
                [CCode (cname = "oauth_proxy_get_token")]
                public unowned string get_token ();
diff --git a/vapi/rest-0.7.vapi b/vapi/rest-0.7.vapi
index 8a5f617..e090e81 100644
--- a/vapi/rest-0.7.vapi
+++ b/vapi/rest-0.7.vapi
@@ -99,6 +99,7 @@ namespace Rest {
        public class Proxy : GLib.Object {
                [CCode (has_construct_function = false)]
                public Proxy (string url_format, bool binding_required);
+               [Version (since = "0.7.92")]
                public void add_soup_feature (Soup.SessionFeature feature);
                public bool bind (...);
                public unowned string get_user_agent ();
@@ -141,6 +142,7 @@ namespace Rest {
                public void add_params (...);
                public bool cancel ();
                public bool continuous ([CCode (delegate_target_pos = 2.1)] Rest.ProxyCallContinuousCallback 
callback, GLib.Object weak_object) throws GLib.Error;
+               [Version (since = "0.7.92")]
                public unowned string get_function ();
                public unowned string get_method ();
                public unowned Rest.Params get_params ();
diff --git a/vapi/udisks2.vapi b/vapi/udisks2.vapi
index b01b364..c79b188 100644
--- a/vapi/udisks2.vapi
+++ b/vapi/udisks2.vapi
@@ -22,26 +22,32 @@ namespace UDisks {
        public class Client : GLib.Object, GLib.AsyncInitable, GLib.Initable {
                [CCode (cname = "udisks_client_new", has_construct_function = false)]
                public async Client (GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "2.1")]
                public GLib.List<UDisks.Block> get_all_blocks_for_mdraid (UDisks.MDRaid raid);
                public UDisks.Block get_block_for_dev (uint64 block_device_number);
                public UDisks.Block get_block_for_drive (UDisks.Drive drive, bool get_physical);
                public GLib.List<UDisks.Block> get_block_for_label (string label);
+               [Version (since = "2.1")]
                public UDisks.Block get_block_for_mdraid (UDisks.MDRaid raid);
                public GLib.List<UDisks.Block> get_block_for_uuid (string uuid);
                public UDisks.Block get_cleartext_block (UDisks.Block block);
                public UDisks.Drive get_drive_for_block (UDisks.Block block);
-               [Deprecated (since = "2.1")]
+               [Version (deprecated = true, deprecated_since = "2.1")]
                public void get_drive_info (UDisks.Drive drive, out string out_name, out string 
out_description, out GLib.Icon out_drive_icon, out string out_media_description, out GLib.Icon 
out_media_icon);
+               [Version (since = "2.1")]
                public GLib.List<UDisks.Drive> get_drive_siblings (UDisks.Drive drive);
                public string get_id_for_display (string usage, string type, string version, bool 
long_string);
                public string get_job_description (UDisks.Job job);
                public GLib.List<UDisks.Job> get_jobs_for_object (UDisks.Object object);
                public UDisks.Loop get_loop_for_block (UDisks.Block block);
                public unowned UDisks.Manager get_manager ();
+               [Version (since = "2.1")]
                public UDisks.MDRaid get_mdraid_for_block (UDisks.Block block);
                public string get_media_compat_for_display (string media_compat);
+               [Version (since = "2.1")]
                public GLib.List<UDisks.Block> get_members_for_mdraid (UDisks.MDRaid raid);
                public UDisks.Object get_object (string object_path);
+               [Version (since = "2.1")]
                public UDisks.ObjectInfo get_object_info (UDisks.Object object);
                public unowned GLib.DBusObjectManager get_object_manager ();
                public string get_partition_info (UDisks.Partition partition);
@@ -50,12 +56,14 @@ namespace UDisks {
                [CCode (array_length = false, array_null_terminated = true)]
                public string[] get_partition_table_subtypes (string partition_table_type);
                public unowned string get_partition_table_type_for_display (string partition_table_type);
+               [Version (since = "2.1.1")]
                public unowned string get_partition_type_and_subtype_for_display (string 
partition_table_type, string partition_table_subtype, string partition_type);
                public unowned string get_partition_type_for_display (string partition_table_type, string 
partition_type);
                public GLib.List<UDisks.PartitionTypeInfo> get_partition_type_infos (string 
partition_table_type, string? partition_table_subtype);
                public GLib.List<UDisks.Partition> get_partitions (UDisks.PartitionTable table);
                public string get_size_for_display (uint64 size, bool use_pow2, bool long_string);
                public unowned UDisks.Object peek_object (string object_path);
+               [Version (since = "2.1")]
                public void queue_changed ();
                public void settle ();
                [CCode (has_construct_function = false)]
@@ -161,6 +169,7 @@ namespace UDisks {
                public LoopSkeleton ();
        }
        [CCode (cheader_filename = "udisks/udisks.h", lower_case_csuffix = "mdraid_proxy", type_id = 
"udisks_mdraid_proxy_get_type ()")]
+       [Version (since = "2.1")]
        public class MDRaidProxy : GLib.DBusProxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable, 
UDisks.MDRaid {
                [CCode (cname = "udisks_mdraid_proxy_new", has_construct_function = false)]
                public async MDRaidProxy (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? 
name, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
@@ -172,6 +181,7 @@ namespace UDisks {
                public MDRaidProxy.sync (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? 
name, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
        }
        [CCode (cheader_filename = "udisks/udisks.h", lower_case_csuffix = "mdraid_skeleton", type_id = 
"udisks_mdraid_skeleton_get_type ()")]
+       [Version (since = "2.1")]
        public class MDRaidSkeleton : GLib.DBusInterfaceSkeleton, GLib.DBusInterface, UDisks.MDRaid {
                [CCode (has_construct_function = false, type = "UDisksMDRaid*")]
                public MDRaidSkeleton ();
@@ -193,6 +203,7 @@ namespace UDisks {
                public ManagerSkeleton ();
        }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_object_info_get_type ()")]
+       [Version (since = "2.1")]
        public class ObjectInfo : GLib.Object {
                [CCode (has_construct_function = false)]
                protected ObjectInfo ();
@@ -236,6 +247,7 @@ namespace UDisks {
                public void set_job (UDisks.Job? interface_);
                public void set_loop (UDisks.Loop? interface_);
                public void set_manager (UDisks.Manager? interface_);
+               [Version (since = "2.1")]
                public void set_mdraid (UDisks.MDRaid? interface_);
                public void set_partition (UDisks.Partition? interface_);
                public void set_partition_table (UDisks.PartitionTable? interface_);
@@ -350,10 +362,12 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract bool hint_partitionable { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract string hint_symbolic_icon_name { owned get; set; }
                [NoAccessorMethod]
                public abstract bool hint_system { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract string id { owned get; set; }
                [NoAccessorMethod]
                public abstract string id_label { owned get; set; }
@@ -366,8 +380,10 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract string id_version { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract string mdraid { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract string mdraid_member { owned get; set; }
                [NoAccessorMethod]
                public abstract string preferred_device { owned get; set; }
@@ -392,16 +408,20 @@ namespace UDisks {
        public interface Drive : GLib.Object {
                public async bool call_eject (GLib.Variant arg_options, GLib.Cancellable? cancellable) throws 
GLib.Error;
                public bool call_eject_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               [Version (since = "2.1")]
                public async bool call_power_off (GLib.Variant arg_options, GLib.Cancellable? cancellable) 
throws GLib.Error;
+               [Version (since = "2.1")]
                public bool call_power_off_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                public async bool call_set_configuration (GLib.Variant arg_value, GLib.Variant arg_options, 
GLib.Cancellable? cancellable) throws GLib.Error;
                public bool call_set_configuration_sync (GLib.Variant arg_value, GLib.Variant arg_options, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public void complete_eject (owned GLib.DBusMethodInvocation invocation);
+               [Version (since = "2.1")]
                public void complete_power_off (owned GLib.DBusMethodInvocation invocation);
                public void complete_set_configuration (owned GLib.DBusMethodInvocation invocation);
                public static unowned GLib.DBusInterfaceInfo interface_info ();
                public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract bool can_power_off { get; set; }
                [NoAccessorMethod]
                public abstract GLib.Variant configuration { owned get; set; }
@@ -447,6 +467,7 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract string serial { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract string sibling_id { owned get; set; }
                [NoAccessorMethod]
                public abstract uint64 size { get; set; }
@@ -461,6 +482,7 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract string wwn { owned get; set; }
                public virtual signal bool handle_eject (GLib.DBusMethodInvocation invocation, GLib.Variant 
arg_options);
+               [Version (since = "2.1")]
                public virtual signal bool handle_power_off (GLib.DBusMethodInvocation invocation, 
GLib.Variant arg_options);
                public virtual signal bool handle_set_configuration (GLib.DBusMethodInvocation invocation, 
GLib.Variant arg_value, GLib.Variant arg_options);
        }
@@ -480,7 +502,9 @@ namespace UDisks {
                public bool call_smart_selftest_abort_sync (GLib.Variant arg_options, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
                public async bool call_smart_selftest_start (string arg_type, GLib.Variant arg_options, 
GLib.Cancellable? cancellable) throws GLib.Error;
                public bool call_smart_selftest_start_sync (string arg_type, GLib.Variant arg_options, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "2.1")]
                public async bool call_smart_set_enabled (bool arg_value, GLib.Variant arg_options, 
GLib.Cancellable? cancellable) throws GLib.Error;
+               [Version (since = "2.1")]
                public bool call_smart_set_enabled_sync (bool arg_value, GLib.Variant arg_options, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
                public async bool call_smart_update (GLib.Variant arg_options, GLib.Cancellable? cancellable) 
throws GLib.Error;
                public bool call_smart_update_sync (GLib.Variant arg_options, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
@@ -491,6 +515,7 @@ namespace UDisks {
                public void complete_smart_get_attributes (owned GLib.DBusMethodInvocation invocation, 
GLib.Variant attributes);
                public void complete_smart_selftest_abort (owned GLib.DBusMethodInvocation invocation);
                public void complete_smart_selftest_start (owned GLib.DBusMethodInvocation invocation);
+               [Version (since = "2.1")]
                public void complete_smart_set_enabled (owned GLib.DBusMethodInvocation invocation);
                public void complete_smart_update (owned GLib.DBusMethodInvocation invocation);
                public static unowned GLib.DBusInterfaceInfo interface_info ();
@@ -538,8 +563,10 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract uint64 smart_updated { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract bool write_cache_enabled { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract bool write_cache_supported { get; set; }
                public virtual signal bool handle_pm_get_state (GLib.DBusMethodInvocation invocation, 
GLib.Variant arg_options);
                public virtual signal bool handle_pm_standby (GLib.DBusMethodInvocation invocation, 
GLib.Variant arg_options);
@@ -548,6 +575,7 @@ namespace UDisks {
                public virtual signal bool handle_smart_get_attributes (GLib.DBusMethodInvocation invocation, 
GLib.Variant arg_options);
                public virtual signal bool handle_smart_selftest_abort (GLib.DBusMethodInvocation invocation, 
GLib.Variant arg_options);
                public virtual signal bool handle_smart_selftest_start (GLib.DBusMethodInvocation invocation, 
string arg_type, GLib.Variant arg_options);
+               [Version (since = "2.1")]
                public virtual signal bool handle_smart_set_enabled (GLib.DBusMethodInvocation invocation, 
bool arg_value, GLib.Variant arg_options);
                public virtual signal bool handle_smart_update (GLib.DBusMethodInvocation invocation, 
GLib.Variant arg_options);
        }
@@ -597,6 +625,7 @@ namespace UDisks {
                public static unowned GLib.DBusInterfaceInfo interface_info ();
                public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract uint64 bytes { get; set; }
                [NoAccessorMethod]
                public abstract bool cancelable { get; set; }
@@ -612,6 +641,7 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract bool progress_valid { get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract uint64 rate { get; set; }
                [NoAccessorMethod]
                public abstract uint64 start_time { get; set; }
@@ -640,6 +670,7 @@ namespace UDisks {
                public virtual signal bool handle_set_autoclear (GLib.DBusMethodInvocation invocation, bool 
arg_value, GLib.Variant arg_options);
        }
        [CCode (cheader_filename = "udisks/udisks.h", lower_case_csuffix = "mdraid", type_id = 
"udisks_mdraid_get_type ()")]
+       [Version (since = "2.1")]
        public interface MDRaid : GLib.Object {
                public async bool call_add_device (string arg_device, GLib.Variant arg_options, 
GLib.Cancellable? cancellable) throws GLib.Error;
                public bool call_add_device_sync (string arg_device, GLib.Variant arg_options, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -698,15 +729,19 @@ namespace UDisks {
        public interface Manager : GLib.Object {
                public async bool call_loop_setup (GLib.Variant arg_fd, GLib.Variant arg_options, 
GLib.UnixFDList? fd_list, GLib.Cancellable? cancellable, out string out_resulting_device, out GLib.UnixFDList 
out_fd_list) throws GLib.Error;
                public bool call_loop_setup_sync (GLib.Variant arg_fd, GLib.Variant arg_options, 
GLib.UnixFDList? fd_list, out string out_resulting_device, out GLib.UnixFDList out_fd_list, GLib.Cancellable? 
cancellable = null) throws GLib.Error;
+               [Version (since = "2.1")]
                public async bool call_mdraid_create (string arg_blocks, string arg_level, string arg_name, 
uint64 arg_chunk, GLib.Variant arg_options, GLib.Cancellable? cancellable, out string out_resulting_array) 
throws GLib.Error;
+               [Version (since = "2.1")]
                public bool call_mdraid_create_sync (string arg_blocks, string arg_level, string arg_name, 
uint64 arg_chunk, GLib.Variant arg_options, out string out_resulting_array, GLib.Cancellable? cancellable = 
null) throws GLib.Error;
                public void complete_loop_setup (owned GLib.DBusMethodInvocation invocation, GLib.UnixFDList? 
fd_list, string resulting_device);
+               [Version (since = "2.1")]
                public void complete_mdraid_create (owned GLib.DBusMethodInvocation invocation, string 
resulting_array);
                public static unowned GLib.DBusInterfaceInfo interface_info ();
                public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
                [NoAccessorMethod]
                public abstract string version { owned get; set; }
                public virtual signal bool handle_loop_setup (GLib.DBusMethodInvocation invocation, 
GLib.UnixFDList? fd_list, GLib.Variant arg_fd, GLib.Variant arg_options);
+               [Version (since = "2.1")]
                public virtual signal bool handle_mdraid_create (GLib.DBusMethodInvocation invocation, [CCode 
(array_length = false, array_null_terminated = true)] string[] arg_blocks, string arg_level, string arg_name, 
uint64 arg_chunk, GLib.Variant arg_options);
        }
        [CCode (cheader_filename = "udisks/udisks.h", type_id = "udisks_object_get_type ()")]
@@ -719,6 +754,7 @@ namespace UDisks {
                public UDisks.Job get_job ();
                public UDisks.Loop get_loop ();
                public UDisks.Manager get_manager ();
+               [Version (since = "2.1")]
                public UDisks.MDRaid get_mdraid ();
                public UDisks.Partition get_partition ();
                public UDisks.PartitionTable get_partition_table ();
@@ -740,6 +776,7 @@ namespace UDisks {
                [NoAccessorMethod]
                public abstract UDisks.Manager manager { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "2.1")]
                public abstract UDisks.MDRaid mdraid { owned get; set; }
                [NoAccessorMethod]
                public abstract UDisks.Partition partition { owned get; set; }
@@ -885,8 +922,10 @@ namespace UDisks {
        [CCode (cheader_filename = "udisks/udisks.h")]
        public static uint manager_override_properties (GLib.ObjectClass klass, uint property_id_begin);
        [CCode (cheader_filename = "udisks/udisks.h")]
+       [Version (since = "2.1")]
        public static unowned GLib.DBusInterfaceInfo mdraid_interface_info ();
        [CCode (cheader_filename = "udisks/udisks.h")]
+       [Version (since = "2.1")]
        public static uint mdraid_override_properties (GLib.ObjectClass klass, uint property_id_begin);
        [CCode (cheader_filename = "udisks/udisks.h")]
        public static unowned GLib.DBusInterfaceInfo partition_interface_info ();
diff --git a/vapi/vte-2.90.vapi b/vapi/vte-2.90.vapi
index 356e9b2..7bb47c4 100644
--- a/vapi/vte-2.90.vapi
+++ b/vapi/vte-2.90.vapi
@@ -3,6 +3,7 @@
 [CCode (cprefix = "Vte", gir_namespace = "Vte", gir_version = "2.90", lower_case_cprefix = "vte_")]
 namespace Vte {
        [CCode (cheader_filename = "vte/vte.h", type_id = "vte_pty_get_type ()")]
+       [Version (since = "0.26")]
        public class Pty : GLib.Object, GLib.Initable {
                [CCode (has_construct_function = false)]
                public Pty (Vte.PtyFlags flags) throws GLib.Error;
@@ -28,19 +29,27 @@ namespace Vte {
                public void copy_primary ();
                public void feed ([CCode (array_length_cname = "length", array_length_pos = 1.1, 
array_length_type = "glong")] uint8[] data);
                public void feed_child (string text, long length);
+               [Version (since = "0.12.1")]
                public void feed_child_binary (string data, long length);
+               [Version (since = "0.26")]
                public bool fork_command_full (Vte.PtyFlags pty_flags, string? working_directory, [CCode 
(array_length = false, array_null_terminated = true)] string[] argv, [CCode (array_length = false, 
array_null_terminated = true)] string[]? envv, GLib.SpawnFlags spawn_flags, [CCode (delegate_target_pos = 
6.5)] GLib.SpawnChildSetupFunc? child_setup, out GLib.Pid child_pid) throws GLib.Error;
                public bool get_allow_bold ();
                public bool get_audible_bell ();
                public long get_char_height ();
                public long get_char_width ();
+               [Version (since = "0.20")]
                public int get_child_exit_status ();
                public long get_column_count ();
+               [Version (since = "0.34")]
                public unowned string get_current_directory_uri ();
+               [Version (since = "0.34")]
                public unowned string get_current_file_uri ();
+               [Version (since = "0.17.1")]
                public Vte.TerminalCursorBlinkMode get_cursor_blink_mode ();
                public void get_cursor_position (out long column, out long row);
+               [Version (since = "0.17.6")]
                public Vte.TerminalCursorShape get_cursor_shape ();
+               [Version (since = "0.11.11")]
                public unowned string get_default_emulation ();
                public unowned string get_emulation ();
                public unowned string get_encoding ();
@@ -48,57 +57,83 @@ namespace Vte {
                public bool get_has_selection ();
                public unowned string get_icon_title ();
                public bool get_mouse_autohide ();
+               [Version (since = "0.26")]
                public unowned Vte.Pty get_pty_object ();
                public long get_row_count ();
                public unowned string get_status_line ();
                public string get_text ([CCode (delegate_target_pos = 1.5)] Vte.SelectionFunc? is_selected, 
out GLib.Array<Vte.CharAttributes> attributes);
+               [Version (since = "0.11.11")]
                public string get_text_include_trailing_spaces ([CCode (delegate_target_pos = 1.5)] 
Vte.SelectionFunc? is_selected, out GLib.Array<Vte.CharAttributes> attributes);
                public string get_text_range (long start_row, long start_col, long end_row, long end_col, 
[CCode (delegate_target_pos = 5.5)] Vte.SelectionFunc? is_selected, out GLib.Array<Vte.CharAttributes> 
attributes);
                public bool get_visible_bell ();
                public unowned string get_window_title ();
                public void im_append_menuitems (Gtk.MenuShell menushell);
                public bool is_word_char (unichar c);
+               [Version (since = "0.17.1")]
                public int match_add_gregex (GLib.Regex regex, GLib.RegexMatchFlags flags);
                public string? match_check (long column, long row, out int tag);
                public void match_clear_all ();
                public void match_remove (int tag);
+               [Version (since = "0.11")]
                public void match_set_cursor (int tag, Gdk.Cursor? cursor);
+               [Version (since = "0.17.1")]
                public void match_set_cursor_name (int tag, string cursor_name);
+               [Version (since = "0.11.9")]
                public void match_set_cursor_type (int tag, Gdk.CursorType cursor_type);
                public void paste_primary ();
+               [Version (since = "0.26")]
                public Vte.Pty pty_new (Vte.PtyFlags flags) throws GLib.Error;
                public void reset (bool clear_tabstops, bool clear_history);
+               [Version (since = "0.26")]
                public bool search_find_next ();
+               [Version (since = "0.26")]
                public bool search_find_previous ();
+               [Version (since = "0.26")]
                public unowned GLib.Regex search_get_gregex ();
+               [Version (since = "0.26")]
                public bool search_get_wrap_around ();
+               [Version (since = "0.26")]
                public void search_set_gregex (GLib.Regex? regex);
+               [Version (since = "0.26")]
                public void search_set_wrap_around (bool wrap_around);
+               [Version (since = "0.16")]
                public void select_all ();
+               [Version (since = "0.16")]
                public void select_none ();
                public void set_allow_bold (bool allow_bold);
                public void set_audible_bell (bool is_audible);
                public void set_background_image (Gdk.Pixbuf? image);
                public void set_background_image_file (string path);
                public void set_background_saturation (double saturation);
+               [Version (since = "0.11")]
                public void set_background_tint_color (Gdk.Color color);
                public void set_background_transparent (bool transparent);
                public void set_backspace_binding (Vte.TerminalEraseBinding binding);
                public void set_color_background (Gdk.Color background);
+               [Version (since = "0.28")]
                public void set_color_background_rgba (Gdk.RGBA background);
                public void set_color_bold (Gdk.Color bold);
                public void set_color_bold_rgba (Gdk.RGBA? bold);
+               [Version (since = "0.11.11")]
                public void set_color_cursor (Gdk.Color? cursor_background);
+               [Version (since = "0.28")]
                public void set_color_cursor_rgba (Gdk.RGBA? cursor_background);
                public void set_color_dim (Gdk.Color dim);
+               [Version (since = "0.28")]
                public void set_color_dim_rgba (Gdk.RGBA? dim);
                public void set_color_foreground (Gdk.Color foreground);
+               [Version (since = "0.28")]
                public void set_color_foreground_rgba (Gdk.RGBA foreground);
+               [Version (since = "0.11.11")]
                public void set_color_highlight (Gdk.Color? highlight_background);
+               [Version (since = "0.28")]
                public void set_color_highlight_rgba (Gdk.RGBA? highlight_background);
                public void set_colors (Gdk.Color? foreground, Gdk.Color? background, [CCode 
(array_length_cname = "palette_size", array_length_pos = 3.1, array_length_type = "glong")] Gdk.Color[] 
palette);
+               [Version (since = "0.28")]
                public void set_colors_rgba (Gdk.RGBA? foreground, Gdk.RGBA? background, [CCode 
(array_length_cname = "palette_size", array_length_pos = 3.1, array_length_type = "gsize")] Gdk.RGBA[] 
palette);
+               [Version (since = "0.17.1")]
                public void set_cursor_blink_mode (Vte.TerminalCursorBlinkMode mode);
+               [Version (since = "0.20")]
                public void set_cursor_shape (Vte.TerminalCursorShape shape);
                public void set_default_colors ();
                public void set_delete_binding (Vte.TerminalEraseBinding binding);
@@ -108,7 +143,9 @@ namespace Vte {
                public void set_font_from_string (string name);
                public void set_mouse_autohide (bool setting);
                public void set_opacity (uint16 opacity);
+               [Version (since = "0.26.")]
                public void set_pty_object (Vte.Pty? pty);
+               [Version (since = "0.11")]
                public void set_scroll_background (bool scroll);
                public void set_scroll_on_keystroke (bool scroll);
                public void set_scroll_on_output (bool scroll);
@@ -116,49 +153,77 @@ namespace Vte {
                public void set_size (long columns, long rows);
                public void set_visible_bell (bool is_visible);
                public void set_word_chars (string spec);
+               [Version (since = "0.26")]
                public void watch_child (GLib.Pid child_pid);
+               [Version (since = "0.24")]
                public bool write_contents (GLib.OutputStream stream, Vte.TerminalWriteFlags flags, 
GLib.Cancellable? cancellable = null) throws GLib.Error;
+               [Version (since = "0.20")]
                public bool allow_bold { get; set; }
+               [Version (since = "0.20")]
                public bool audible_bell { get; set; }
                [NoAccessorMethod]
                public string background_image_file { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public Gdk.Pixbuf background_image_pixbuf { owned get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public double background_opacity { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public double background_saturation { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public Gdk.Color background_tint_color { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public bool background_transparent { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public Vte.TerminalEraseBinding backspace_binding { get; set; }
+               [Version (since = "0.34")]
                public string current_directory_uri { get; }
+               [Version (since = "0.34")]
                public string current_file_uri { get; }
+               [Version (since = "0.20")]
                public Vte.TerminalCursorBlinkMode cursor_blink_mode { get; set; }
+               [Version (since = "0.20")]
                public Vte.TerminalCursorShape cursor_shape { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public Vte.TerminalEraseBinding delete_binding { get; set; }
+               [Version (since = "0.20")]
                public string emulation { get; set; }
+               [Version (since = "0.20")]
                public string encoding { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public Pango.FontDescription font_desc { owned get; set; }
+               [Version (since = "0.20")]
                public string icon_title { get; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public bool pointer_autohide { get; set; }
+               [Version (since = "0.26")]
                public Vte.Pty pty_object { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public bool scroll_background { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public bool scroll_on_keystroke { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public bool scroll_on_output { get; set; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public uint scrollback_lines { get; set; }
+               [Version (since = "0.20")]
                public bool visible_bell { get; set; }
+               [Version (since = "0.20")]
                public string window_title { get; }
                [NoAccessorMethod]
+               [Version (since = "0.20")]
                public string word_chars { owned get; set; }
                public virtual signal void beep ();
                public virtual signal void char_size_changed (uint char_width, uint char_height);
@@ -167,7 +232,9 @@ namespace Vte {
                public virtual signal void contents_changed ();
                [HasEmitter]
                public virtual signal void copy_clipboard ();
+               [Version (since = "0.34")]
                public signal void current_directory_uri_changed ();
+               [Version (since = "0.34")]
                public signal void current_file_uri_changed ();
                public virtual signal void cursor_moved ();
                public virtual signal void decrease_font_size ();
@@ -200,6 +267,7 @@ namespace Vte {
        }
        [CCode (cheader_filename = "vte/vte.h", cprefix = "VTE_PTY_", type_id = "vte_pty_flags_get_type ()")]
        [Flags]
+       [Version (since = "0.26")]
        public enum PtyFlags {
                NO_LASTLOG,
                NO_UTMP,
@@ -239,6 +307,7 @@ namespace Vte {
                DEFAULT
        }
        [CCode (cheader_filename = "vte/vte.h", cprefix = "VTE_PTY_ERROR_")]
+       [Version (since = "0.26")]
        public errordomain PtyError {
                PTY_HELPER_FAILED,
                PTY98_FAILED;
@@ -253,5 +322,6 @@ namespace Vte {
        [CCode (cheader_filename = "vte/vte.h")]
        public const int MINOR_VERSION;
        [CCode (cheader_filename = "vte/vte.h")]
+       [Version (since = "0.28")]
        public static string? get_user_shell ();
 }
diff --git a/vapi/vte.vapi b/vapi/vte.vapi
index 6732390..ff43661 100644
--- a/vapi/vte.vapi
+++ b/vapi/vte.vapi
@@ -1,6 +1,6 @@
 /* vte.vapi generated by vapigen, do not modify. */
 
-[Deprecated (replacement = "vte-2.90")]
+[Version (replacement = "vte-2.90")]
 namespace Vte {
        [CCode (cheader_filename = "vte/vte.h")]
        [Compact]
diff --git a/vapi/webkit2gtk-4.0.vapi b/vapi/webkit2gtk-4.0.vapi
index 9a49fd4..5439426 100644
--- a/vapi/webkit2gtk-4.0.vapi
+++ b/vapi/webkit2gtk-4.0.vapi
@@ -6,16 +6,27 @@ namespace WebKit {
        public class AuthenticationRequest : GLib.Object {
                [CCode (has_construct_function = false)]
                protected AuthenticationRequest ();
+               [Version (since = "2.2")]
                public void authenticate (WebKit.Credential? credential);
+               [Version (since = "2.2")]
                public bool can_save_credentials ();
+               [Version (since = "2.2")]
                public void cancel ();
+               [Version (since = "2.2")]
                public unowned string get_host ();
+               [Version (since = "2.2")]
                public uint get_port ();
+               [Version (since = "2.2")]
                public WebKit.Credential get_proposed_credential ();
+               [Version (since = "2.2")]
                public unowned string get_realm ();
+               [Version (since = "2.2")]
                public WebKit.AuthenticationScheme get_scheme ();
+               [Version (since = "2.2")]
                public bool is_for_proxy ();
+               [Version (since = "2.2")]
                public bool is_retry ();
+               [Version (since = "2.2")]
                public signal void cancelled ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_back_forward_list_get_type ()")]
@@ -50,6 +61,7 @@ namespace WebKit {
                public unowned WebKit.ContextMenuItem get_item_at_position (uint position);
                public unowned GLib.List<WebKit.ContextMenuItem> get_items ();
                public uint get_n_items ();
+               [Version (since = "2.8")]
                public unowned GLib.Variant get_user_data ();
                public void insert (WebKit.ContextMenuItem item, int position);
                public unowned WebKit.ContextMenuItem last ();
@@ -57,6 +69,7 @@ namespace WebKit {
                public void prepend (WebKit.ContextMenuItem item);
                public void remove (WebKit.ContextMenuItem item);
                public void remove_all ();
+               [Version (since = "2.8")]
                public void set_user_data (GLib.Variant user_data);
                [CCode (has_construct_function = false)]
                public ContextMenu.with_items (GLib.List<WebKit.ContextMenuItem> items);
@@ -96,12 +109,19 @@ namespace WebKit {
        [Compact]
        public class Credential {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.2")]
                public Credential (string username, string password, WebKit.CredentialPersistence 
persistence);
+               [Version (since = "2.2")]
                public WebKit.Credential copy ();
+               [Version (since = "2.2")]
                public void free ();
+               [Version (since = "2.2")]
                public unowned string get_password ();
+               [Version (since = "2.2")]
                public WebKit.CredentialPersistence get_persistence ();
+               [Version (since = "2.2")]
                public unowned string get_username ();
+               [Version (since = "2.2")]
                public bool has_password ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_download_get_type ()")]
@@ -109,6 +129,7 @@ namespace WebKit {
                [CCode (has_construct_function = false)]
                protected Download ();
                public void cancel ();
+               [Version (since = "2.6")]
                public bool get_allow_overwrite ();
                public unowned string get_destination ();
                public double get_elapsed_time ();
@@ -117,8 +138,10 @@ namespace WebKit {
                public unowned WebKit.URIRequest get_request ();
                public unowned WebKit.URIResponse get_response ();
                public unowned WebKit.WebView get_web_view ();
+               [Version (since = "2.6")]
                public void set_allow_overwrite (bool allowed);
                public void set_destination (string uri);
+               [Version (since = "2.6")]
                public bool allow_overwrite { get; set; }
                public string destination { get; }
                public double estimated_progress { get; }
@@ -201,6 +224,7 @@ namespace WebKit {
                public bool context_is_link ();
                public bool context_is_media ();
                public bool context_is_scrollbar ();
+               [Version (since = "2.8")]
                public bool context_is_selection ();
                public uint get_context ();
                public unowned string get_image_uri ();
@@ -234,12 +258,19 @@ namespace WebKit {
        [CCode (cheader_filename = "webkit2/webkit2.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "webkit_navigation_action_get_type ()")]
        [Compact]
        public class NavigationAction {
+               [Version (since = "2.6")]
                public WebKit.NavigationAction copy ();
+               [Version (since = "2.6")]
                public void free ();
+               [Version (since = "2.6")]
                public uint get_modifiers ();
+               [Version (since = "2.6")]
                public uint get_mouse_button ();
+               [Version (since = "2.6")]
                public WebKit.NavigationType get_navigation_type ();
+               [Version (since = "2.6")]
                public unowned WebKit.URIRequest get_request ();
+               [Version (since = "2.6")]
                public bool is_user_gesture ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_navigation_policy_decision_get_type 
()")]
@@ -247,35 +278,43 @@ namespace WebKit {
                [CCode (has_construct_function = false)]
                protected NavigationPolicyDecision ();
                public unowned string get_frame_name ();
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public uint get_modifiers ();
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public uint get_mouse_button ();
+               [Version (since = "2.6")]
                public unowned WebKit.NavigationAction get_navigation_action ();
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public WebKit.NavigationType get_navigation_type ();
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public unowned WebKit.URIRequest get_request ();
                public string frame_name { get; }
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public uint modifiers { get; }
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public uint mouse_button { get; }
+               [Version (since = "2.6")]
                public WebKit.NavigationAction navigation_action { get; }
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public WebKit.NavigationType navigation_type { get; }
-               [Deprecated (since = "2.6")]
+               [Version (deprecated = true, deprecated_since = "2.6")]
                public WebKit.URIRequest request { get; }
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_notification_get_type ()")]
        public class Notification : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Notification ();
+               [Version (since = "2.8")]
                public unowned string get_body ();
+               [Version (since = "2.8")]
                public uint64 get_id ();
+               [Version (since = "2.8")]
                public unowned string get_title ();
+               [Version (since = "2.8")]
                public string body { get; }
+               [Version (since = "2.8")]
                public uint64 id { get; }
+               [Version (since = "2.8")]
                public string title { get; }
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = 
"webkit_notification_permission_request_get_type ()")]
@@ -323,6 +362,7 @@ namespace WebKit {
                protected ResponsePolicyDecision ();
                public unowned WebKit.URIRequest get_request ();
                public unowned WebKit.URIResponse get_response ();
+               [Version (since = "2.4")]
                public bool is_mime_type_supported ();
                public WebKit.URIRequest request { get; }
                public WebKit.URIResponse response { get; }
@@ -365,6 +405,7 @@ namespace WebKit {
                public uint32 get_default_font_size ();
                public uint32 get_default_monospace_font_size ();
                public bool get_draw_compositing_indicators ();
+               [Version (since = "2.2")]
                public bool get_enable_accelerated_2d_canvas ();
                public bool get_enable_caret_browsing ();
                public bool get_enable_developer_extras ();
@@ -376,7 +417,9 @@ namespace WebKit {
                public bool get_enable_hyperlink_auditing ();
                public bool get_enable_java ();
                public bool get_enable_javascript ();
+               [Version (since = "2.4")]
                public bool get_enable_media_stream ();
+               [Version (since = "2.4")]
                public bool get_enable_mediasource ();
                public bool get_enable_offline_web_application_cache ();
                public bool get_enable_page_cache ();
@@ -385,10 +428,12 @@ namespace WebKit {
                public bool get_enable_resizable_text_areas ();
                public bool get_enable_site_specific_quirks ();
                public bool get_enable_smooth_scrolling ();
+               [Version (since = "2.2")]
                public bool get_enable_spatial_navigation ();
                public bool get_enable_tabs_to_links ();
                public bool get_enable_webaudio ();
                public bool get_enable_webgl ();
+               [Version (since = "2.2")]
                public bool get_enable_write_console_messages_to_stdout ();
                public bool get_enable_xss_auditor ();
                public unowned string get_fantasy_font_family ();
@@ -413,6 +458,7 @@ namespace WebKit {
                public void set_default_font_size (uint32 font_size);
                public void set_default_monospace_font_size (uint32 font_size);
                public void set_draw_compositing_indicators (bool enabled);
+               [Version (since = "2.2")]
                public void set_enable_accelerated_2d_canvas (bool enabled);
                public void set_enable_caret_browsing (bool enabled);
                public void set_enable_developer_extras (bool enabled);
@@ -424,7 +470,9 @@ namespace WebKit {
                public void set_enable_hyperlink_auditing (bool enabled);
                public void set_enable_java (bool enabled);
                public void set_enable_javascript (bool enabled);
+               [Version (since = "2.4")]
                public void set_enable_media_stream (bool enabled);
+               [Version (since = "2.4")]
                public void set_enable_mediasource (bool enabled);
                public void set_enable_offline_web_application_cache (bool enabled);
                public void set_enable_page_cache (bool enabled);
@@ -433,10 +481,12 @@ namespace WebKit {
                public void set_enable_resizable_text_areas (bool enabled);
                public void set_enable_site_specific_quirks (bool enabled);
                public void set_enable_smooth_scrolling (bool enabled);
+               [Version (since = "2.2")]
                public void set_enable_spatial_navigation (bool enabled);
                public void set_enable_tabs_to_links (bool enabled);
                public void set_enable_webaudio (bool enabled);
                public void set_enable_webgl (bool enabled);
+               [Version (since = "2.2")]
                public void set_enable_write_console_messages_to_stdout (bool enabled);
                public void set_enable_xss_auditor (bool enabled);
                public void set_fantasy_font_family (string fantasy_font_family);
@@ -462,6 +512,7 @@ namespace WebKit {
                public uint default_font_size { get; set construct; }
                public uint default_monospace_font_size { get; set construct; }
                public bool draw_compositing_indicators { get; set construct; }
+               [Version (since = "2.2")]
                public bool enable_accelerated_2d_canvas { get; set construct; }
                public bool enable_caret_browsing { get; set construct; }
                public bool enable_developer_extras { get; set construct; }
@@ -473,7 +524,9 @@ namespace WebKit {
                public bool enable_hyperlink_auditing { get; set construct; }
                public bool enable_java { get; set construct; }
                public bool enable_javascript { get; set construct; }
+               [Version (since = "2.4")]
                public bool enable_media_stream { get; set construct; }
+               [Version (since = "2.4")]
                public bool enable_mediasource { get; set construct; }
                public bool enable_offline_web_application_cache { get; set construct; }
                public bool enable_page_cache { get; set construct; }
@@ -482,10 +535,12 @@ namespace WebKit {
                public bool enable_resizable_text_areas { get; set construct; }
                public bool enable_site_specific_quirks { get; set construct; }
                public bool enable_smooth_scrolling { get; set construct; }
+               [Version (since = "2.3")]
                public bool enable_spatial_navigation { get; set construct; }
                public bool enable_tabs_to_links { get; set construct; }
                public bool enable_webaudio { get; set construct; }
                public bool enable_webgl { get; set construct; }
+               [Version (since = "2.2")]
                public bool enable_write_console_messages_to_stdout { get; set construct; }
                public bool enable_xss_auditor { get; set construct; }
                public string fantasy_font_family { get; set construct; }
@@ -517,12 +572,14 @@ namespace WebKit {
                [CCode (has_construct_function = false)]
                protected URIResponse ();
                public uint64 get_content_length ();
+               [Version (since = "2.6")]
                public unowned Soup.MessageHeaders get_http_headers ();
                public unowned string get_mime_type ();
                public uint get_status_code ();
                public unowned string get_suggested_filename ();
                public unowned string get_uri ();
                public uint64 content_length { get; }
+               [Version (since = "2.6")]
                public Soup.MessageHeaders http_headers { get; }
                public string mime_type { get; }
                public uint status_code { get; }
@@ -534,6 +591,7 @@ namespace WebKit {
                [CCode (has_construct_function = false)]
                protected URISchemeRequest ();
                public void finish (GLib.InputStream stream, int64 stream_length, string? mime_type);
+               [Version (since = "2.2")]
                public void finish_error (GLib.Error error);
                public unowned string get_path ();
                public unowned string get_scheme ();
@@ -543,13 +601,21 @@ namespace WebKit {
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_user_content_manager_get_type ()")]
        public class UserContentManager : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.6")]
                public UserContentManager ();
+               [Version (since = "2.6")]
                public void add_script (WebKit.UserScript script);
+               [Version (since = "2.6")]
                public void add_style_sheet (WebKit.UserStyleSheet stylesheet);
+               [Version (since = "2.8")]
                public bool register_script_message_handler (string name);
+               [Version (since = "2.6")]
                public void remove_all_scripts ();
+               [Version (since = "2.6")]
                public void remove_all_style_sheets ();
+               [Version (since = "2.8")]
                public void unregister_script_message_handler (string name);
+               [Version (since = "2.8")]
                public signal void script_message_received (WebKit.JavascriptResult js_result);
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = 
"webkit_user_media_permission_request_get_type ()")]
@@ -565,22 +631,30 @@ namespace WebKit {
        [Compact]
        public class UserScript {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.6")]
                public UserScript (string source, WebKit.UserContentInjectedFrames injected_frames, 
WebKit.UserScriptInjectionTime injection_time, [CCode (array_length = false, array_null_terminated = true)] 
string[]? whitelist, [CCode (array_length = false, array_null_terminated = true)] string[]? blacklist);
+               [Version (since = "2.6")]
                public WebKit.UserScript @ref ();
+               [Version (since = "2.6")]
                public void unref ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", ref_function = "webkit_user_style_sheet_ref", type_id 
= "webkit_user_style_sheet_get_type ()", unref_function = "webkit_user_style_sheet_unref")]
        [Compact]
        public class UserStyleSheet {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.6")]
                public UserStyleSheet (string source, WebKit.UserContentInjectedFrames injected_frames, 
WebKit.UserStyleLevel level, [CCode (array_length = false, array_null_terminated = true)] string[]? 
whitelist, [CCode (array_length = false, array_null_terminated = true)] string[]? blacklist);
+               [Version (since = "2.6")]
                public WebKit.UserStyleSheet @ref ();
+               [Version (since = "2.6")]
                public void unref ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_context_get_type ()")]
        public class WebContext : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.8")]
                public WebContext ();
+               [Version (since = "2.6")]
                public void allow_tls_certificate_for_host (GLib.TlsCertificate certificate, string host);
                public void clear_cache ();
                public WebKit.Download download_uri (string uri);
@@ -590,6 +664,7 @@ namespace WebKit {
                public unowned WebKit.FaviconDatabase get_favicon_database ();
                public unowned string get_favicon_database_directory ();
                public async GLib.List<WebKit.Plugin> get_plugins (GLib.Cancellable? cancellable) throws 
GLib.Error;
+               [Version (since = "2.4")]
                public WebKit.ProcessModel get_process_model ();
                public unowned WebKit.SecurityManager get_security_manager ();
                public bool get_spell_checking_enabled ();
@@ -603,15 +678,19 @@ namespace WebKit {
                public void set_disk_cache_directory (string directory);
                public void set_favicon_database_directory (string? path);
                public void set_preferred_languages ([CCode (array_length = false, array_null_terminated = 
true)] string[]? languages);
+               [Version (since = "2.4")]
                public void set_process_model (WebKit.ProcessModel process_model);
                public void set_spell_checking_enabled (bool enabled);
                public void set_spell_checking_languages ([CCode (array_length = false, array_null_terminated 
= true)] string[] languages);
                public void set_tls_errors_policy (WebKit.TLSErrorsPolicy policy);
                public void set_web_extensions_directory (string directory);
+               [Version (since = "2.4")]
                public void set_web_extensions_initialization_user_data (GLib.Variant user_data);
                [NoAccessorMethod]
+               [Version (since = "2.8")]
                public string local_storage_directory { owned get; construct; }
                public virtual signal void download_started (WebKit.Download download);
+               [Version (since = "2.4")]
                public virtual signal void initialize_web_extensions ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_inspector_get_type ()")]
@@ -620,12 +699,14 @@ namespace WebKit {
                protected WebInspector ();
                public void close ();
                public uint get_attached_height ();
+               [Version (since = "2.8")]
                public bool get_can_attach ();
                public unowned string get_inspected_uri ();
                public unowned WebKit.WebViewBase get_web_view ();
                public bool is_attached ();
                public void show ();
                public uint attached_height { get; }
+               [Version (since = "2.8")]
                public bool can_attach { get; }
                public string inspected_uri { get; }
                [HasEmitter]
@@ -646,6 +727,7 @@ namespace WebKit {
                public WebKit.URIResponse response { get; }
                public string uri { get; }
                public signal void failed (void* error);
+               [Version (since = "2.8")]
                public signal void failed_with_tls_errors (GLib.TlsCertificate certificate, 
GLib.TlsCertificateFlags errors);
                public signal void finished ();
                public signal void received_data (uint64 data_length);
@@ -675,6 +757,7 @@ namespace WebKit {
                public unowned string get_title ();
                public bool get_tls_info (out unowned GLib.TlsCertificate certificate, out 
GLib.TlsCertificateFlags errors);
                public unowned string get_uri ();
+               [Version (since = "2.6")]
                public unowned WebKit.UserContentManager get_user_content_manager ();
                public unowned WebKit.WindowProperties get_window_properties ();
                public double get_zoom_level ();
@@ -682,11 +765,13 @@ namespace WebKit {
                public void go_forward ();
                public void go_to_back_forward_list_item (WebKit.BackForwardListItem list_item);
                public void load_alternate_html (string content, string content_uri, string? base_uri);
+               [Version (since = "2.6")]
                public void load_bytes (GLib.Bytes bytes, string? mime_type, string? encoding, string? 
base_uri);
                public void load_html (string content, string? base_uri);
                public void load_plain_text (string plain_text);
                public void load_request (WebKit.URIRequest request);
                public void load_uri (string uri);
+               [Version (since = "2.4")]
                public Gtk.Widget new_with_related_view ();
                public void reload ();
                public void reload_bypass_cache ();
@@ -701,21 +786,27 @@ namespace WebKit {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public WebView.with_context (WebKit.WebContext context);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public WebView.with_settings (WebKit.Settings settings);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
+               [Version (since = "2.6")]
                public WebView.with_user_content_manager (WebKit.UserContentManager user_content_manager);
                public double estimated_load_progress { get; }
                public void* favicon { get; }
                [NoAccessorMethod]
                public bool is_loading { get; }
+               [Version (since = "2.4")]
                public WebKit.WebView related_view { construct; }
+               [Version (since = "2.6")]
                public WebKit.Settings settings { set construct; }
                public string title { get; }
                public string uri { get; }
+               [Version (since = "2.6")]
                public WebKit.UserContentManager user_content_manager { get; construct; }
                [NoAccessorMethod]
                public WebKit.WebContext web_context { owned get; construct; }
                public double zoom_level { get; set; }
+               [Version (since = "2.2")]
                public virtual signal bool authenticate (WebKit.AuthenticationRequest request);
                public virtual signal void close ();
                public virtual signal bool close_notification (WebKit.Notification notification);
@@ -728,6 +819,7 @@ namespace WebKit {
                public virtual signal bool leave_fullscreen ();
                public virtual signal void load_changed (WebKit.LoadEvent load_event);
                public virtual signal bool load_failed (WebKit.LoadEvent load_event, string failing_uri, 
void* error);
+               [Version (since = "2.6")]
                public virtual signal bool load_failed_with_tls_errors (string failing_uri, 
GLib.TlsCertificate certificate, GLib.TlsCertificateFlags errors);
                public virtual signal void mouse_target_changed (WebKit.HitTestResult hit_test_result, uint 
modifiers);
                public virtual signal bool permission_request (WebKit.PermissionRequest permission_request);
@@ -737,6 +829,7 @@ namespace WebKit {
                public virtual signal void run_as_modal ();
                public virtual signal bool run_file_chooser (WebKit.FileChooserRequest request);
                public virtual signal bool script_dialog (WebKit.ScriptDialog dialog);
+               [Version (since = "2.8")]
                public virtual signal bool show_notification (WebKit.Notification notification);
                public virtual signal void submit_form (WebKit.FormSubmissionRequest request);
                public virtual signal bool web_process_crashed ();
@@ -773,6 +866,7 @@ namespace WebKit {
                public abstract void deny ();
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_AUTHENTICATION_SCHEME_", type_id = 
"webkit_authentication_scheme_get_type ()")]
+       [Version (since = "2.2")]
        public enum AuthenticationScheme {
                DEFAULT,
                HTTP_BASIC,
@@ -850,6 +944,7 @@ namespace WebKit {
                SQLITE
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_CREDENTIAL_PERSISTENCE_", type_id = 
"webkit_credential_persistence_get_type ()")]
+       [Version (since = "2.2")]
        public enum CredentialPersistence {
                NONE,
                FOR_SESSION,
@@ -909,6 +1004,7 @@ namespace WebKit {
                CANCEL
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_PROCESS_MODEL_", type_id = 
"webkit_process_model_get_type ()")]
+       [Version (since = "2.4")]
        public enum ProcessModel {
                SHARED_SECONDARY_PROCESS,
                MULTIPLE_SECONDARY_PROCESSES
@@ -940,16 +1036,19 @@ namespace WebKit {
                FAIL
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_USER_CONTENT_INJECT_", type_id = 
"webkit_user_content_injected_frames_get_type ()")]
+       [Version (since = "2.6")]
        public enum UserContentInjectedFrames {
                ALL_FRAMES,
                TOP_FRAME
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_USER_SCRIPT_INJECT_AT_DOCUMENT_", 
type_id = "webkit_user_script_injection_time_get_type ()")]
+       [Version (since = "2.6")]
        public enum UserScriptInjectionTime {
                START,
                END
        }
        [CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_USER_STYLE_LEVEL_", type_id = 
"webkit_user_style_level_get_type ()")]
+       [Version (since = "2.6")]
        public enum UserStyleLevel {
                USER,
                AUTHOR
@@ -1040,7 +1139,9 @@ namespace WebKit {
        [CCode (cheader_filename = "webkit2/webkit2.h")]
        public static uint get_minor_version ();
        [CCode (cheader_filename = "webkit2/webkit2.h")]
+       [Version (since = "2.8")]
        public static bool user_media_permission_is_for_audio_device (WebKit.UserMediaPermissionRequest 
request);
        [CCode (cheader_filename = "webkit2/webkit2.h")]
+       [Version (since = "2.8")]
        public static bool user_media_permission_is_for_video_device (WebKit.UserMediaPermissionRequest 
request);
 }
diff --git a/vapi/webkit2gtk-web-extension-4.0.vapi b/vapi/webkit2gtk-web-extension-4.0.vapi
index ef9b8f5..c158328 100644
--- a/vapi/webkit2gtk-web-extension-4.0.vapi
+++ b/vapi/webkit2gtk-web-extension-4.0.vapi
@@ -381,6 +381,7 @@ namespace WebKit {
                        public unowned WebKit.DOM.NodeList get_elements_by_tag_name_ns (string namespaceURI, 
string localName);
                        public unowned WebKit.DOM.Element get_first_element_child ();
                        public string get_id ();
+                       [Version (since = "2.8")]
                        public string get_inner_html ();
                        public unowned WebKit.DOM.Element get_last_element_child ();
                        public unowned WebKit.DOM.Element get_next_element_sibling ();
@@ -389,6 +390,7 @@ namespace WebKit {
                        public unowned WebKit.DOM.Element get_offset_parent ();
                        public double get_offset_top ();
                        public double get_offset_width ();
+                       [Version (since = "2.8")]
                        public string get_outer_html ();
                        public unowned WebKit.DOM.Element get_previous_element_sibling ();
                        public long get_scroll_height ();
@@ -415,7 +417,9 @@ namespace WebKit {
                        public void set_attribute_ns (string? namespaceURI, string qualifiedName, string 
value) throws GLib.Error;
                        public void set_class_name (string value);
                        public void set_id (string value);
+                       [Version (since = "2.8")]
                        public void set_inner_html (string value) throws GLib.Error;
+                       [Version (since = "2.8")]
                        public void set_outer_html (string value) throws GLib.Error;
                        public void set_scroll_left (long value);
                        public void set_scroll_top (long value);
@@ -854,12 +858,12 @@ namespace WebKit {
                        public unowned WebKit.DOM.HTMLCollection get_children ();
                        public string get_content_editable ();
                        public string get_dir ();
-                       [Deprecated (since = "2.8")]
+                       [Version (deprecated = true, deprecated_since = "2.8")]
                        public string get_inner_html ();
                        public string get_inner_text ();
                        public bool get_is_content_editable ();
                        public string get_lang ();
-                       [Deprecated (since = "2.8")]
+                       [Version (deprecated = true, deprecated_since = "2.8")]
                        public string get_outer_html ();
                        public string get_outer_text ();
                        public long get_tab_index ();
@@ -867,11 +871,11 @@ namespace WebKit {
                        public void set_access_key (string value);
                        public void set_content_editable (string value) throws GLib.Error;
                        public void set_dir (string value);
-                       [Deprecated (since = "2.8")]
+                       [Version (deprecated = true, deprecated_since = "2.8")]
                        public void set_inner_html (string contents) throws GLib.Error;
                        public void set_inner_text (string value) throws GLib.Error;
                        public void set_lang (string value);
-                       [Deprecated (since = "2.8")]
+                       [Version (deprecated = true, deprecated_since = "2.8")]
                        public void set_outer_html (string contents) throws GLib.Error;
                        public void set_outer_text (string value) throws GLib.Error;
                        public void set_tab_index (long value);
@@ -2539,36 +2543,52 @@ namespace WebKit {
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_ENTITY_REFERENCE_NODE")]
                public const int _NODE_ENTITY_REFERENCE_NODE;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_ACCEPT")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_ACCEPT;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_REJECT")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_REJECT;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_ALL")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_ALL;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_ATTRIBUTE")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_ATTRIBUTE;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_CDATA_SECTION")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_CDATA_SECTION;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_COMMENT")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_COMMENT;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_DOCUMENT")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_DOCUMENT;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_DOCUMENT_FRAGMENT")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_DOCUMENT_FRAGMENT;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_DOCUMENT_TYPE")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_DOCUMENT_TYPE;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_ELEMENT")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_ELEMENT;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_ENTITY")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_ENTITY;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_ENTITY_REFERENCE")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_ENTITY_REFERENCE;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_NOTATION")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_NOTATION;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_PROCESSING_INSTRUCTION")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_PROCESSING_INSTRUCTION;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SHOW_TEXT")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SHOW_TEXT;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_FILTER_SKIP")]
+               [Version (since = "2.6")]
                public const int _NODE_FILTER_SKIP;
                [CCode (cheader_filename = "webkit2/webkit-web-extension.h", cname = 
"WEBKIT_DOM_NODE_PROCESSING_INSTRUCTION_NODE")]
                public const int _NODE_PROCESSING_INSTRUCTION_NODE;
@@ -2645,9 +2665,13 @@ namespace WebKit {
        public class Frame : GLib.Object {
                [CCode (has_construct_function = false)]
                protected Frame ();
+               [Version (since = "2.2")]
                public void* get_javascript_context_for_script_world (WebKit.ScriptWorld world);
+               [Version (since = "2.2")]
                public void* get_javascript_global_context ();
+               [Version (since = "2.2")]
                public unowned string get_uri ();
+               [Version (since = "2.2")]
                public bool is_main_frame ();
        }
        [CCode (cheader_filename = "webkit2/webkit-web-extension.h", type_id = 
"webkit_hit_test_result_get_type ()")]
@@ -2676,8 +2700,11 @@ namespace WebKit {
        [CCode (cheader_filename = "webkit2/webkit-web-extension.h", type_id = "webkit_script_world_get_type 
()")]
        public class ScriptWorld : GLib.Object {
                [CCode (has_construct_function = false)]
+               [Version (since = "2.2")]
                public ScriptWorld ();
+               [Version (since = "2.2")]
                public static unowned WebKit.ScriptWorld get_default ();
+               [Version (since = "2.2")]
                public signal void window_object_cleared (WebKit.WebPage page, WebKit.Frame frame);
        }
        [CCode (cheader_filename = "webkit2/webkit-web-extension.h", type_id = "webkit_uri_request_get_type 
()")]
@@ -2717,6 +2744,7 @@ namespace WebKit {
        public class WebHitTestResult : WebKit.HitTestResult {
                [CCode (has_construct_function = false)]
                protected WebHitTestResult ();
+               [Version (since = "2.8")]
                public unowned WebKit.DOM.Node get_node ();
                public WebKit.DOM.Node node { get; construct; }
        }
@@ -2726,9 +2754,11 @@ namespace WebKit {
                protected WebPage ();
                public unowned WebKit.DOM.Document get_dom_document ();
                public uint64 get_id ();
+               [Version (since = "2.2")]
                public unowned WebKit.Frame get_main_frame ();
                public unowned string get_uri ();
                public string uri { get; }
+               [Version (since = "2.8")]
                public signal bool context_menu (WebKit.ContextMenu context_menu, WebKit.WebHitTestResult 
hit_test_result);
                public signal void document_loaded ();
                public signal bool send_request (WebKit.URIRequest request, WebKit.URIResponse 
redirected_response);
@@ -2795,5 +2825,6 @@ namespace WebKit {
        [CCode (cheader_filename = "webkit2/webkit-web-extension.h", has_target = false)]
        public delegate void WebExtensionInitializeFunction (WebKit.WebExtension extension);
        [CCode (cheader_filename = "webkit2/webkit-web-extension.h", has_target = false)]
+       [Version (since = "2.4")]
        public delegate void WebExtensionInitializeWithUserDataFunction (WebKit.WebExtension extension, 
GLib.Variant user_data);
 }
diff --git a/vapi/xcb-icccm.vapi b/vapi/xcb-icccm.vapi
index 77cb88d..fd4cb79 100644
--- a/vapi/xcb-icccm.vapi
+++ b/vapi/xcb-icccm.vapi
@@ -22,7 +22,7 @@
 
 using Xcb;
 
-[Deprecated (since = "vala-0.26", replacement = "bindings distributed with vala-extra-vapis")]
+[Version (deprecated_since = "vala-0.26", replacement = "bindings distributed with vala-extra-vapis")]
 namespace Xcb {
 
        [CCode (lower_case_cprefix = "xcb_icccm_", cheader_filename = "xcb/xcb_icccm.h")]
diff --git a/vapi/xcb.vapi b/vapi/xcb.vapi
index 5fafd78..e3bf26b 100644
--- a/vapi/xcb.vapi
+++ b/vapi/xcb.vapi
@@ -22,7 +22,7 @@
  *  Sergio Costas <raster rastersoft com>
  */
 
-[Deprecated (since = "vala-0.26", replacement = "bindings distributed with vala-extra-vapis")]
+[Version (deprecated_since = "vala-0.26", replacement = "bindings distributed with vala-extra-vapis")]
 [CCode (lower_case_cprefix = "xcb_", cheader_filename = "xcb/xcb.h,xcb/xproto.h")]
 namespace Xcb {
        [Compact]
@@ -1560,7 +1560,7 @@ namespace Xcb {
                        }
                }
                private uint8 roots_len;
-               [Deprecated (since = "vala-0.26", replacement = "Xcb.Setup.screens")]
+               [Version (deprecated_since = "vala-0.26", replacement = "Xcb.Setup.screens")]
                public int roots_length ();
                public ScreenIterator roots_iterator ();
                public Screen[] screens {
@@ -2048,7 +2048,7 @@ namespace Xcb {
                                return res;
                        }
                }
-               [Deprecated (since = "vala-0.26", replacement = "Xcb.Depth.visuals")]
+               [Version (deprecated_since = "vala-0.26", replacement = "Xcb.Depth.visuals")]
                public VisualTypeIterator visuals_iterator ();
        }
 
@@ -2071,7 +2071,7 @@ namespace Xcb {
                public static void next (ref DepthIterator iter);
        }
 
-       [Deprecated (since = "vala-0.26", replacement = "Xcb.Depth.visuals")]
+       [Version (deprecated_since = "vala-0.26", replacement = "Xcb.Depth.visuals")]
        [SimpleType]
        [CCode (cname = "xcb_visualtype_iterator_t", has_type_id = false)]
        public struct VisualTypeIterator {



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