# HG changeset patch
# Node ID ab086de66829
# Parent  bc772b1536fe
diff --git a/libpurple/conversations.h b/libpurple/conversations.h
--- a/libpurple/conversations.h
+++ b/libpurple/conversations.h
@@ -40,7 +40,10 @@ G_BEGIN_DECLS
  * @ops:  The UI conversation operations structure.
  *
  * Sets the default conversation UI operations structure.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversations_set_ui_ops(PurpleConversationUiOps *ops);
 
 /**
@@ -61,21 +64,30 @@ PurpleConversationUiOps *purple_conversa
  * Returns the conversation subsystem handle.
  *
  * Returns: The conversation subsystem handle.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void *purple_conversations_get_handle(void);
 
 /**
  * purple_conversations_init:
  *
  * Initializes the conversation subsystem.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversations_init(void);
 
 /**
  * purple_conversations_uninit:
  *
  * Uninitializes the conversation subsystem.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversations_uninit(void);
 
 G_END_DECLS
diff --git a/libpurple/core.h b/libpurple/core.h
--- a/libpurple/core.h
+++ b/libpurple/core.h
@@ -44,7 +44,10 @@ G_BEGIN_DECLS
  * Initializes the core of purple.
  *
  * Returns: %TRUE if successful, otherwise %FALSE with @error potentially set.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_core_init(PurpleUi *ui, GError **error);
 
 /**
@@ -52,7 +55,10 @@ gboolean purple_core_init(PurpleUi *ui, 
  *
  * Quits the core of purple, which, depending on the UI, may quit the
  * application using the purple core.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_core_quit(void);
 
 /**
@@ -61,7 +67,10 @@ void purple_core_quit(void);
  * Returns the version of the core library.
  *
  * Returns: The version of the core library.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 const char *purple_core_get_version(void);
 
 /**
@@ -71,7 +80,10 @@ const char *purple_core_get_version(void
  * <link linkend="chapter-signals-core">core signals</link>.
  *
  * Returns: (transfer none): A handle to the purple core.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 PurpleCore *purple_get_core(void);
 
 /**
@@ -97,7 +109,10 @@ gpointer purple_core_get_settings_backen
  * Gets the [class@Purple.Ui] that is running.
  *
  * Returns: (transfer none): The ui.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 PurpleUi *purple_core_get_ui(void);
 
 G_END_DECLS
diff --git a/libpurple/plugins.h b/libpurple/plugins.h
--- a/libpurple/plugins.h
+++ b/libpurple/plugins.h
@@ -41,6 +41,8 @@
  *
  * Represents a plugin handle.
  * This type is an alias for GPluginPlugin.
+ *
+ * Since: 2.0.0
  */
 typedef GPluginPlugin PurplePlugin;
 
@@ -66,7 +68,10 @@ G_BEGIN_DECLS
  * Also see purple_plugin_unload().
  *
  * Returns: %TRUE if successful or already loaded, %FALSE otherwise.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_plugin_load(PurplePlugin *plugin, GError **error);
 
 /**
@@ -80,7 +85,10 @@ gboolean purple_plugin_load(PurplePlugin
  * Also see purple_plugin_load().
  *
  * Returns: %TRUE if successful or not loaded, %FALSE otherwise.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_plugin_unload(PurplePlugin *plugin, GError **error);
 
 /**
@@ -90,7 +98,10 @@ gboolean purple_plugin_unload(PurplePlug
  * Returns whether or not a plugin is currently loaded.
  *
  * Returns: %TRUE if loaded, or %FALSE otherwise.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_plugin_is_loaded(PurplePlugin *plugin);
 
 /**
@@ -179,7 +190,10 @@ GList *purple_plugins_find_all(void);
  * Returns a list of all loaded plugins.
  *
  * Returns: (element-type PurplePlugin) (transfer none): A list of all loaded plugins.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 GList *purple_plugins_get_loaded(void);
 
 /**
@@ -187,7 +201,10 @@ GList *purple_plugins_get_loaded(void);
  * @path: The new search path.
  *
  * Add a new directory to search for plugins
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_plugins_add_search_path(const gchar *path);
 
 /**
@@ -235,7 +252,10 @@ PurplePlugin *purple_plugins_find_by_fil
  *
  * Saves the list of loaded plugins to the specified preference key.
  * Plugins that are set to auto-load are not saved.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_plugins_save_loaded(const char *key);
 
 /**
@@ -244,7 +264,10 @@ void purple_plugins_save_loaded(const ch
  *
  * Attempts to load all the plugins in the specified preference key
  * that were loaded when purple last quit.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_plugins_load_saved(const char *key);
 
 /**************************************************************************/
@@ -255,14 +278,20 @@ void purple_plugins_load_saved(const cha
  * purple_plugins_init:
  *
  * Initializes the plugin subsystem
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_plugins_init(void);
 
 /**
  * purple_plugins_uninit:
  *
  * Uninitializes the plugin subsystem
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_plugins_uninit(void);
 
 G_END_DECLS
diff --git a/libpurple/prefs.h b/libpurple/prefs.h
--- a/libpurple/prefs.h
+++ b/libpurple/prefs.h
@@ -42,6 +42,8 @@
  * @PURPLE_PREF_PATH_LIST:   List of paths.
  *
  * Preference data types.
+ *
+ * Since: 2.0.0
  */
 typedef enum
 {
@@ -97,21 +99,30 @@ G_BEGIN_DECLS
  * Returns the prefs subsystem handle.
  *
  * Returns: The prefs subsystem handle.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void *purple_prefs_get_handle(void);
 
 /**
  * purple_prefs_init:
  *
  * Initialize core prefs
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_init(void);
 
 /**
  * purple_prefs_uninit:
  *
  * Uninitializes the prefs subsystem.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_uninit(void);
 
 /**
@@ -119,7 +130,10 @@ void purple_prefs_uninit(void);
  * @name:  The name of the pref
  *
  * Add a new typeless pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_add_none(const char *name);
 
 /**
@@ -128,7 +142,10 @@ void purple_prefs_add_none(const char *n
  * @value: The initial value to set
  *
  * Add a new boolean pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_add_bool(const char *name, gboolean value);
 
 /**
@@ -137,7 +154,10 @@ void purple_prefs_add_bool(const char *n
  * @value: The initial value to set
  *
  * Add a new integer pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_add_int(const char *name, int value);
 
 /**
@@ -146,7 +166,10 @@ void purple_prefs_add_int(const char *na
  * @value: The initial value to set
  *
  * Add a new string pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_add_string(const char *name, const char *value);
 
 /**
@@ -159,7 +182,10 @@ void purple_prefs_add_string(const char 
  * Note: This function takes a copy of the strings in the value list. The list
  *       itself and original copies of the strings are up to the caller to
  *       free.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_add_string_list(const char *name, GList *value);
 
 /**
@@ -168,7 +194,10 @@ void purple_prefs_add_string_list(const 
  * @value: The initial value to set
  *
  * Add a new path pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_add_path(const char *name, const char *value);
 
 /**
@@ -181,7 +210,10 @@ void purple_prefs_add_path(const char *n
  * Note: This function takes a copy of the strings in the value list. The list
  *       itself and original copies of the strings are up to the caller to
  *       free.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_add_path_list(const char *name, GList *value);
 
 
@@ -190,7 +222,10 @@ void purple_prefs_add_path_list(const ch
  * @name: The name of the pref
  *
  * Remove a pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_remove(const char *name);
 
 /**
@@ -199,7 +234,10 @@ void purple_prefs_remove(const char *nam
  * @newname: The new name for the pref
  *
  * Rename a pref
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_rename(const char *oldname, const char *newname);
 
 /**
@@ -208,14 +246,20 @@ void purple_prefs_rename(const char *old
  * @newname: The new name for the pref
  *
  * Rename a boolean pref, toggling it's value
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_rename_boolean_toggle(const char *oldname, const char *newname);
 
 /**
  * purple_prefs_destroy:
  *
  * Remove all prefs.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_destroy(void);
 
 /**
@@ -224,7 +268,10 @@ void purple_prefs_destroy(void);
  * @value: The value to set
  *
  * Set boolean pref value
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_set_bool(const char *name, gboolean value);
 
 /**
@@ -233,7 +280,10 @@ void purple_prefs_set_bool(const char *n
  * @value: The value to set
  *
  * Set integer pref value
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_set_int(const char *name, int value);
 
 /**
@@ -242,7 +292,10 @@ void purple_prefs_set_int(const char *na
  * @value: The value to set
  *
  * Set string pref value
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_set_string(const char *name, const char *value);
 
 /**
@@ -251,7 +304,10 @@ void purple_prefs_set_string(const char 
  * @value: (element-type utf8) (transfer none): The value to set
  *
  * Set string list pref value
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_set_string_list(const char *name, GList *value);
 
 /**
@@ -260,7 +316,10 @@ void purple_prefs_set_string_list(const 
  * @value: The value to set
  *
  * Set path pref value
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_set_path(const char *name, const char *value);
 
 /**
@@ -269,7 +328,10 @@ void purple_prefs_set_path(const char *n
  * @value: (element-type utf8) (transfer none): The value to set
  *
  * Set path list pref value
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_set_path_list(const char *name, GList *value);
 
 
@@ -280,7 +342,10 @@ void purple_prefs_set_path_list(const ch
  * Check if a pref exists
  *
  * Returns: TRUE if the pref exists.  Otherwise FALSE.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_prefs_exists(const char *name);
 
 /**
@@ -303,7 +368,10 @@ PurplePrefType purple_prefs_get_pref_typ
  * Get boolean pref value
  *
  * Returns: The value of the pref
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_prefs_get_bool(const char *name);
 
 /**
@@ -313,7 +381,10 @@ gboolean purple_prefs_get_bool(const cha
  * Get integer pref value
  *
  * Returns: The value of the pref
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 int purple_prefs_get_int(const char *name);
 
 /**
@@ -323,7 +394,10 @@ int purple_prefs_get_int(const char *nam
  * Get string pref value
  *
  * Returns: The value of the pref
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 const char *purple_prefs_get_string(const char *name);
 
 /**
@@ -333,7 +407,10 @@ const char *purple_prefs_get_string(cons
  * Get string list pref value
  *
  * Returns: (transfer full) (element-type utf8): The value of the pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 GList *purple_prefs_get_string_list(const char *name);
 
 /**
@@ -343,7 +420,10 @@ GList *purple_prefs_get_string_list(cons
  * Get path pref value
  *
  * Returns: The value of the pref
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 const char *purple_prefs_get_path(const char *name);
 
 /**
@@ -353,7 +433,10 @@ const char *purple_prefs_get_path(const 
  * Get path list pref value
  *
  * Returns: (transfer full) (element-type utf8): The value of the pref.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 GList *purple_prefs_get_path_list(const char *name);
 
 /**
@@ -384,7 +467,10 @@ GList *purple_prefs_get_children_names(c
  * See purple_prefs_disconnect_callback().
  *
  * Returns: An id to disconnect the callback
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 guint purple_prefs_connect_callback(void *handle, const char *name, PurplePrefCallback cb,
 		gpointer data);
 
@@ -393,7 +479,10 @@ guint purple_prefs_connect_callback(void
  * @callback_id: The callback_id to disconnect.
  *
  * Remove a callback to a pref
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_disconnect_callback(guint callback_id);
 
 /**
@@ -401,7 +490,10 @@ void purple_prefs_disconnect_callback(gu
  * @handle: The handle to remove.
  *
  * Remove all pref callbacks by handle
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_disconnect_by_handle(void *handle);
 
 /**
@@ -409,7 +501,10 @@ void purple_prefs_disconnect_by_handle(v
  * @name: The name of the preference.
  *
  * Trigger callbacks as if the pref changed
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_prefs_trigger_callback(const char *name);
 
 /**
@@ -428,7 +523,10 @@ void purple_prefs_trigger_callback_objec
  * purple_prefs_load:
  *
  * Read preferences
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_prefs_load(void);
 
 G_END_DECLS
diff --git a/libpurple/purpleconversation.h b/libpurple/purpleconversation.h
--- a/libpurple/purpleconversation.h
+++ b/libpurple/purpleconversation.h
@@ -129,6 +129,8 @@ typedef enum {
  *       specified conversation is removed from the parent window. If this
  *       conversation is the only one contained in the parent window, that
  *       window is also destroyed.
+ *
+ * Since: 2.0.0
  */
 
 /**
@@ -161,7 +163,10 @@ G_BEGIN_DECLS
  *
  * Present a conversation to the user. This allows core code to initiate a
  * conversation by displaying the IM dialog.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversation_present(PurpleConversation *conv);
 
 /**
@@ -170,7 +175,10 @@ void purple_conversation_present(PurpleC
  * @ops:  The UI conversation operations structure.
  *
  * Sets the specified conversation's UI operations structure.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversation_set_ui_ops(PurpleConversation *conv, PurpleConversationUiOps *ops);
 
 /**
@@ -180,7 +188,10 @@ void purple_conversation_set_ui_ops(Purp
  * Returns the specified conversation's UI operations structure.
  *
  * Returns: The operations structure.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 PurpleConversationUiOps *purple_conversation_get_ui_ops(PurpleConversation *conv);
 
 /**
@@ -234,7 +245,10 @@ void purple_conversation_set_conversatio
  * is having a conversation/chat/flame with.
  *
  * Returns: (transfer none): The conversation's purple_account.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 PurpleAccount *purple_conversation_get_account(PurpleConversation *conv);
 
 /**
@@ -256,7 +270,10 @@ PurpleConnection *purple_conversation_ge
  * @title: The title.
  *
  * Sets the specified conversation's title.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversation_set_title(PurpleConversation *conv, const gchar *title);
 
 /**
@@ -266,7 +283,10 @@ void purple_conversation_set_title(Purpl
  * Returns the specified conversation's title.
  *
  * Returns: The title.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 const char *purple_conversation_get_title(PurpleConversation *conv);
 
 /**
@@ -277,7 +297,10 @@ const char *purple_conversation_get_titl
  *
  * This function takes OPT_IM_ALIAS_TAB into account, as well as the
  * user's alias.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversation_autoset_title(PurpleConversation *conv);
 
 /**
@@ -286,7 +309,10 @@ void purple_conversation_autoset_title(P
  * @name: The conversation's name.
  *
  * Sets the specified conversation's name.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversation_set_name(PurpleConversation *conv, const gchar *name);
 
 /**
@@ -297,7 +323,10 @@ void purple_conversation_set_name(Purple
  *
  * Returns: The conversation's name. If the conversation is an IM with a
  *          PurpleBuddy, then it's the name of the PurpleBuddy.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 const char *purple_conversation_get_name(PurpleConversation *conv);
 
 /**
@@ -358,7 +387,10 @@ void purple_conversation_send_with_flags
  * @features:  Bitset defining supported features
  *
  * Set the features as supported for the given conversation.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversation_set_features(PurpleConversation *conv, PurpleConnectionFlags features);
 
 /**
@@ -366,7 +398,10 @@ void purple_conversation_set_features(Pu
  * @conv:  The conversation
  *
  * Get the features supported by the given conversation.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 PurpleConnectionFlags purple_conversation_get_features(PurpleConversation *conv);
 
 /**
@@ -377,7 +412,10 @@ PurpleConnectionFlags purple_conversatio
  *
  * Returns: %TRUE if the conversation has focus, %FALSE if
  * it does not or the UI does not have a concept of conversation focus
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 gboolean purple_conversation_has_focus(PurpleConversation *conv);
 
 /**
@@ -386,7 +424,10 @@ gboolean purple_conversation_has_focus(P
  * @type: The update type.
  *
  * Updates the visual status and UI of a conversation.
+ *
+ * Since: 2.0.0
  */
+PURPLE_AVAILABLE_IN_ALL
 void purple_conversation_update(PurpleConversation *conv, PurpleConversationUpdateType type);
 
 /**
@@ -416,7 +457,10 @@ void purple_conversation_send_confirm(Pu
  * Returns: (element-type PurpleActionMenu) (transfer full): The extended menu
  *          items for a conversation, as harvested by the chat-extended-menu
  *          signal.
+ *
+ * Since: 2.1.0
  */
+PURPLE_AVAILABLE_IN_2_1
 GList * purple_conversation_get_extended_menu(PurpleConversation *conv);
 
 /**
