# HG changeset patch
# Node ID 24f38ea51a41
# Parent  648a1b5dd96a
diff --git a/libpurple/purpleroomlistroom.h b/libpurple/purpleroomlistroom.h
--- a/libpurple/purpleroomlistroom.h
+++ b/libpurple/purpleroomlistroom.h
@@ -43,7 +43,7 @@
  *
  * Returns: The #GType of #PurpleRoomlistRoom.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 
 /**
@@ -52,7 +52,7 @@
  * #PurpleRoomlistRoom keeps track of all #PurpleConversation's inside
  * of libpurple and allows searching of them.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 G_DECLARE_DERIVABLE_TYPE(PurpleRoomlistRoom, purple_roomlist_room, PURPLE,
@@ -72,7 +72,7 @@
  *
  * Creates a new room to be added to a [class@Purple.Roomlist].
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleRoomlistRoom *purple_roomlist_room_new(const gchar *name, const gchar *description);
@@ -85,7 +85,7 @@
  *
  * Returns: The name of @room.
  *
- * Since: 2.4.0
+ * Since: 2.4
  */
 PURPLE_AVAILABLE_IN_2_4
 const gchar *purple_roomlist_room_get_name(PurpleRoomlistRoom *room);
@@ -98,7 +98,7 @@
  *
  * Returns: The description of @room.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const gchar *purple_roomlist_room_get_description(PurpleRoomlistRoom *room);
@@ -112,7 +112,7 @@
  *
  * Returns: The category of @room if set otherwise %NULL.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const gchar *purple_roomlist_room_get_category(PurpleRoomlistRoom *room);
@@ -124,7 +124,7 @@
  *
  * Sets the category of @room.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_roomlist_room_set_category(PurpleRoomlistRoom *room, const gchar *category);
@@ -137,7 +137,7 @@
  *
  * Returns: The number of users in @room if set, otherwise 0.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 guint purple_roomlist_room_get_user_count(PurpleRoomlistRoom *room);
@@ -149,7 +149,7 @@
  *
  * Sets the user count of @room to @user_count.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_roomlist_room_set_user_count(PurpleRoomlistRoom *room, guint user_count);
@@ -162,7 +162,7 @@
  *
  * Adds a new field to @room with the name of @field and value of @value.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_roomlist_room_add_field(PurpleRoomlistRoom *room, const gchar *field, const gchar *value);
@@ -176,7 +176,7 @@
  *
  * Returns: The value of @field.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const gchar *purple_roomlist_room_get_field(PurpleRoomlistRoom *room, const gchar *field);
@@ -190,7 +190,7 @@
  *
  * Returns: (transfer none): The components used to join the room.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 GHashTable *purple_roomlist_room_get_components(PurpleRoomlistRoom *room);
diff --git a/libpurple/purplesavedpresence.h b/libpurple/purplesavedpresence.h
--- a/libpurple/purplesavedpresence.h
+++ b/libpurple/purplesavedpresence.h
@@ -46,7 +46,7 @@
  *
  * A data structure used to save a presence.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 
 /**
@@ -58,7 +58,7 @@
  * Returns: (transfer none) (nullable): The time @presence was last used or
  *          %NULL.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 GDateTime *purple_saved_presence_get_last_used(PurpleSavedPresence *presence);
@@ -71,7 +71,7 @@
  * Sets the last time @presence was used to @last_used. If @last_used is %NULL,
  * the time will be cleared.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_saved_presence_set_last_used(PurpleSavedPresence *presence, GDateTime *last_used);
@@ -84,7 +84,7 @@
  *
  * Returns: The number of times @presence has been used.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 guint64 purple_saved_presence_get_use_count(PurpleSavedPresence *presence);
@@ -96,7 +96,7 @@
  *
  * Sets the number of times @presence has been used to @use_count.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_saved_presence_set_use_count(PurpleSavedPresence *presence, guint64 use_count);
@@ -110,7 +110,7 @@
  *
  * Returns: The identifier for @presence.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_saved_presence_get_id(PurpleSavedPresence *presence);
@@ -123,7 +123,7 @@
  *
  * Returns: (nullable): The name of @presence.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_saved_presence_get_name(PurpleSavedPresence *presence);
@@ -136,7 +136,7 @@
  * Sets the name of @presence to @name. If @name is %NULL the name will be
  * cleared.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_saved_presence_set_name(PurpleSavedPresence *presence, const char *name);
@@ -150,7 +150,7 @@
  *
  * Returns: The escaped name.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_saved_presence_get_escaped_name(PurpleSavedPresence *presence);
@@ -163,7 +163,7 @@
  *
  * Returns: The [enum@PresencePrimitive] for @presence.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurplePresencePrimitive purple_saved_presence_get_primitive(PurpleSavedPresence *presence);
@@ -175,7 +175,7 @@
  *
  * Sets the [enum@PresencePrimitive] of @presence to @primitive.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_saved_presence_set_primitive(PurpleSavedPresence *presence, PurplePresencePrimitive primitive);
@@ -188,7 +188,7 @@
  *
  * Returns: (nullable): The message from @presence.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_saved_presence_get_message(PurpleSavedPresence *presence);
@@ -201,7 +201,7 @@
  * Sets the message of @presence to @message. If @message is %NULL the message
  * is cleared.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_saved_presence_set_message(PurpleSavedPresence *presence, const char *message);
@@ -214,7 +214,7 @@
  *
  * Returns: (nullable): The emoji for @presence.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_saved_presence_get_emoji(PurpleSavedPresence *presence);
@@ -227,7 +227,7 @@
  * Sets the emoji of @presence to @emoji. If @emoji is %NULL, the emoji will be
  * cleared.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_saved_presence_set_emoji(PurpleSavedPresence *presence, const char *emoji);
@@ -242,7 +242,7 @@
  *
  * Returns: %TRUE if @a is equal to @b, otherwise %FALSE.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_saved_presence_equal(PurpleSavedPresence *a, PurpleSavedPresence *b);
@@ -260,7 +260,7 @@
  *
  * Returns: %TRUE if @presence matches @needle in any way, otherwise %FALSE.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_saved_presence_matches(PurpleSavedPresence *presence, const char *needle);
diff --git a/libpurple/purplesavedpresence.c b/libpurple/purplesavedpresence.c
--- a/libpurple/purplesavedpresence.c
+++ b/libpurple/purplesavedpresence.c
@@ -331,7 +331,7 @@
 	 * When this is non-null, this saved presence will bind all of its
 	 * properties to the settings object.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_SETTINGS] = g_param_spec_object(
 		"settings", "settings",
@@ -344,7 +344,7 @@
 	 *
 	 * The [struct@GLib.DateTime] when this saved presence was last used.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_LAST_USED] = g_param_spec_boxed(
 		"last-used", "last-used",
@@ -357,7 +357,7 @@
 	 *
 	 * The number of times this saved presence has been used.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_USE_COUNT] = g_param_spec_uint64(
 		"use-count", "use-count",
@@ -371,7 +371,7 @@
 	 * The identifier of the saved presence. If not specified, one will be
 	 * randomly generated.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_ID] = g_param_spec_string(
 		"id", "id",
@@ -384,7 +384,7 @@
 	 *
 	 * The name of the saved presence.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_NAME] = g_param_spec_string(
 		"name", "name",
@@ -397,7 +397,7 @@
 	 *
 	 * The [enum@Purple.StatusPrimitive] for this saved presence.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_PRIMITIVE] = g_param_spec_enum(
 		"primitive", "primitive",
@@ -411,7 +411,7 @@
 	 *
 	 * The status message of this saved presence.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_MESSAGE] = g_param_spec_string(
 		"message", "message",
@@ -424,7 +424,7 @@
 	 *
 	 * The emoji or mood of the presence.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_EMOJI] = g_param_spec_string(
 		"emoji", "emoji",
diff --git a/libpurple/purplesqlite3.h b/libpurple/purplesqlite3.h
--- a/libpurple/purplesqlite3.h
+++ b/libpurple/purplesqlite3.h
@@ -39,7 +39,7 @@
  *
  * An error domain for sqlite3 errors.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_SQLITE3_DOMAIN \
 	g_quark_from_static_string("sqlite3") \
@@ -56,7 +56,7 @@
  * If that header is included first, this will be exactly equivalent, otherwise
  * it will be a generic `gpointer`, which you should cast to a `sqlite3`.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_TYPE_IN_3_0
 #ifdef SQLITE_API
@@ -75,7 +75,7 @@
  *
  * Returns: %TRUE on success, or %FALSE on error with @error set.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 int purple_sqlite3_get_schema_version(PurpleSqlite3 *db, GError **error);
@@ -117,7 +117,7 @@
  *
  * Returns: %TRUE on success, or %FALSE on error potentially with @error set.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_sqlite3_run_migrations_from_strings(PurpleSqlite3 *db, const char *migrations[], GError **error);
@@ -144,7 +144,7 @@
  *
  * Returns: %TRUE on success, or %FALSE on error potentially with @error set.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_sqlite3_run_migrations_from_resources(PurpleSqlite3 *db, const char *path, const char *migrations[], GError **error);
diff --git a/libpurple/purplesqlitehistoryadapter.h b/libpurple/purplesqlitehistoryadapter.h
--- a/libpurple/purplesqlitehistoryadapter.h
+++ b/libpurple/purplesqlitehistoryadapter.h
@@ -42,7 +42,7 @@
  * #PurpleSqliteHistoryAdapter is a class that allows interfacing with an
  * SQLite database to store history. It is a subclass of @PurpleHistoryAdapter.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 
 #define PURPLE_TYPE_SQLITE_HISTORY_ADAPTER (purple_sqlite_history_adapter_get_type())
@@ -59,7 +59,7 @@
  *
  * Returns: (transfer full): The new #PurpleSqliteHistoryAdapter instance.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleHistoryAdapter *purple_sqlite_history_adapter_new(const gchar *filename);
@@ -72,7 +72,7 @@
  *
  * Returns: The filename that the @adapter reads and writes to
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const gchar *purple_sqlite_history_adapter_get_filename(PurpleSqliteHistoryAdapter *adapter);
diff --git a/libpurple/purplesqlitehistoryadapter.c b/libpurple/purplesqlitehistoryadapter.c
--- a/libpurple/purplesqlitehistoryadapter.c
+++ b/libpurple/purplesqlitehistoryadapter.c
@@ -553,7 +553,7 @@
 	 *
 	 * The filename that the sqlite database will store data to.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_FILENAME] = g_param_spec_string(
 		"filename", "filename", "The filename of the sqlite database",
diff --git a/libpurple/purpletags.h b/libpurple/purpletags.h
--- a/libpurple/purpletags.h
+++ b/libpurple/purpletags.h
@@ -46,7 +46,7 @@
  * a tag with a name and value. Please note this distinction when the API calls
  * for a name versus a tag which would be the name and the value.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 
 G_BEGIN_DECLS
@@ -58,7 +58,7 @@
  *
  * Returns: (transfer full): The new tags object.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleTags *purple_tags_new(void);
@@ -77,7 +77,7 @@
  * Returns: The value of the first tag matching @name. If there is no value,
  *          %NULL is returned.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const gchar *purple_tags_lookup(PurpleTags *tags, const gchar *name, gboolean *found);
@@ -92,7 +92,7 @@
  * Returns: The value of the first tag matching @name. If there is no value,
  *          %NULL is returned.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const gchar *purple_tags_get(PurpleTags *tags, const gchar *name);
@@ -105,7 +105,7 @@
  * Adds @tag to @tags. If the tag already exists, the existing tag will be
  * replaced.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_tags_add(PurpleTags *tags, const gchar *tag);
@@ -119,7 +119,7 @@
  * Formats @name and @value into a tag and adds it to @tags. If the tag already
  * exists, the existing tag will be replaced.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_tags_add_with_value(PurpleTags *tags, const char *name, const char *value);
@@ -134,7 +134,7 @@
  *
  * Returns: %TRUE if @tag was found and removed, otherwise %FALSE.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_tags_remove(PurpleTags *tags, const gchar *tag);
@@ -150,7 +150,7 @@
  *
  * Returns: %TRUE if a tag was found and removed, otherwise %FALSE.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_tags_remove_with_value(PurpleTags *tags, const char *name, const char *value);
@@ -161,7 +161,7 @@
  *
  * Removes all tags from @tags.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_tags_remove_all(PurpleTags *tags);
@@ -174,7 +174,7 @@
  *
  * Returns: The number of tags that @tags is keeping track of.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 guint purple_tags_get_count(PurpleTags *tags);
@@ -187,7 +187,7 @@
  *
  * Returns: (transfer none) (element-type utf8): The list of all the tags.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 GList *purple_tags_get_all(PurpleTags *tags);
@@ -202,7 +202,7 @@
  * Returns: (transfer container) (element-type utf8): The list of matching
  *          tags.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 GList *purple_tags_get_all_with_name(PurpleTags *tags, const char *name);
@@ -216,7 +216,7 @@
  *
  * Returns: (transfer full): The string representation.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gchar *purple_tags_to_string(PurpleTags *tags, const gchar *separator);
@@ -231,7 +231,7 @@
  *
  * Splits a tag into its name and value parts.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_tag_parse(const char *tag, char **name, char **value);
diff --git a/libpurple/purpletags.c b/libpurple/purpletags.c
--- a/libpurple/purpletags.c
+++ b/libpurple/purpletags.c
@@ -114,7 +114,7 @@
 	 * > which will emit the [signal@Tags::removed] signal and then the new tag
 	 * > will be added which will emit [signal@Tags::added].
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	signals[SIG_ADDED] = g_signal_new_class_handler(
 		"added",
@@ -144,7 +144,7 @@
 	 * > which will emit the [signal@Tags::removed] signal and then the new tag
 	 * > will be added which will emit [signal@Tags::added].
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	signals[SIG_REMOVED] = g_signal_new_class_handler(
 		"removed",
diff --git a/libpurple/purpletyping.h b/libpurple/purpletyping.h
--- a/libpurple/purpletyping.h
+++ b/libpurple/purpletyping.h
@@ -37,7 +37,7 @@
  *
  * Defines the state of a user composing a message.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_TYPE_IN_3_0
 typedef enum {
diff --git a/libpurple/purpleui.h b/libpurple/purpleui.h
--- a/libpurple/purpleui.h
+++ b/libpurple/purpleui.h
@@ -47,7 +47,7 @@
  * An abstract class representing a user interface. All user interfaces must
  * create a subclass of this and pass it to [func@Purple.Core.init].
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 
 /**
@@ -65,7 +65,7 @@
  * The base class for all user interfaces which is used to identify themselves
  * to libpurple when calling [func@Purple.Core.init].
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 struct _PurpleUiClass {
 	/*< private >*/
@@ -92,7 +92,7 @@
  *
  * Returns: id of the user interface.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_ui_get_id(PurpleUi *ui);
@@ -105,7 +105,7 @@
  *
  * Returns: The name of the user interface.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_ui_get_name(PurpleUi *ui);
@@ -118,7 +118,7 @@
  *
  * Returns: The version of the user interface.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_ui_get_version(PurpleUi *ui);
@@ -131,7 +131,7 @@
  *
  * Returns: (nullable): The website URI of the user interface or %NULL.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_ui_get_website(PurpleUi *ui);
@@ -144,7 +144,7 @@
  *
  * Returns: (nullable): The support website URI of the user interface or %NULL.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_ui_get_support_website(PurpleUi *ui);
@@ -157,7 +157,7 @@
  *
  * Returns: (transfer none): The client type of the user interface.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const char *purple_ui_get_client_type(PurpleUi *ui);
@@ -170,7 +170,7 @@
  *
  * Note: This should only be called by libpurple.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_ui_prefs_init(PurpleUi *ui);
@@ -190,7 +190,7 @@
  *
  * Returns: %TRUE if successful, otherwise %FALSE with @error optionally set.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_ui_start(PurpleUi *ui, GError **error);
@@ -203,7 +203,7 @@
  *
  * Note: This should only be called by libpurple.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_ui_stop(PurpleUi *ui);
@@ -218,7 +218,7 @@
  *
  * Returns: (transfer full): The settings that @ui is using.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gpointer purple_ui_get_settings_backend(PurpleUi *ui);
@@ -235,7 +235,7 @@
  * Returns: (transfer full) (nullable): The [class@HistoryAdapter] to use or
  *          %NULL.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleHistoryAdapter *purple_ui_get_history_adapter(PurpleUi *ui);
@@ -251,7 +251,7 @@
  *
  * Returns: (transfer full) (nullable): The new presence manager or %NULL.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurplePresenceManager *purple_ui_get_presence_manager(PurpleUi *ui);
diff --git a/libpurple/purpleui.c b/libpurple/purpleui.c
--- a/libpurple/purpleui.c
+++ b/libpurple/purpleui.c
@@ -229,7 +229,7 @@
 	 * The identifier of the user interface. This is used in places where a
 	 * constant string is need to represent the user interface.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_ID] = g_param_spec_string(
 		"id", "id",
@@ -243,7 +243,7 @@
 	 * The name of the user interface. This is used in places where it will be
 	 * displayed to users, so it should be translated.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_NAME] = g_param_spec_string(
 		"name", "name",
@@ -256,7 +256,7 @@
 	 *
 	 * The version number of the user interface.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_VERSION] = g_param_spec_string(
 		"version", "version",
@@ -269,7 +269,7 @@
 	 *
 	 * The website of the user interface. This should be the main website.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_WEBSITE] = g_param_spec_string(
 		"website", "website",
@@ -284,7 +284,7 @@
 	 * that specifically directs users how to get support for your user
 	 * interface.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_SUPPORT_WEBSITE] = g_param_spec_string(
 		"support-website", "support-website",
@@ -298,7 +298,7 @@
 	 * The client type of the user interface. Common values include `bot`,
 	 * `console`, `mobile`, `pc`, `web`, etc.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	properties[PROP_CLIENT_TYPE] = g_param_spec_string(
 		"client-type", "client-type",
diff --git a/libpurple/purpleversion.h b/libpurple/purpleversion.h
--- a/libpurple/purpleversion.h
+++ b/libpurple/purpleversion.h
@@ -72,7 +72,7 @@
  * A macro that evaluates to the current stable version of libpurple, in a format
  * that can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_CUR_STABLE \
 	(G_ENCODE_VERSION(PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION))
@@ -113,7 +113,7 @@
  * A macro that evaluates to the 2.0 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_0 (G_ENCODE_VERSION(2, 0))
 
@@ -129,7 +129,7 @@
  * A macro that evaluates to the 2.1 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_1 (G_ENCODE_VERSION(2, 1))
 
@@ -147,7 +147,7 @@
  * A macro that evaluates to the 2.2 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_2 (G_ENCODE_VERSION(2, 2))
 
@@ -165,7 +165,7 @@
  * A macro that evaluates to the 2.3 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_3 (G_ENCODE_VERSION(2, 3))
 
@@ -183,7 +183,7 @@
  * A macro that evaluates to the 2.4 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_4 (G_ENCODE_VERSION(2, 4))
 
@@ -199,7 +199,7 @@
  * A macro that evaluates to the 2.5 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_5 (G_ENCODE_VERSION(2, 5))
 
@@ -215,7 +215,7 @@
  * A macro that evaluates to the 2.6 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_6 (G_ENCODE_VERSION(2, 6))
 
@@ -235,7 +235,7 @@
  * A macro that evaluates to the 2.7 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_7 (G_ENCODE_VERSION(2, 7))
 
@@ -251,7 +251,7 @@
  * A macro that evaluates to the 2.8 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_8 (G_ENCODE_VERSION(2, 8))
 
@@ -269,7 +269,7 @@
  * A macro that evaluates to the 2.9 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_9 (G_ENCODE_VERSION(2, 9))
 
@@ -285,7 +285,7 @@
  * A macro that evaluates to the 2.10 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_10 (G_ENCODE_VERSION(2, 10))
 
@@ -301,7 +301,7 @@
  * A macro that evaluates to the 2.11 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_11 (G_ENCODE_VERSION(2, 11))
 
@@ -317,7 +317,7 @@
  * A macro that evaluates to the 2.12 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_12 (G_ENCODE_VERSION(2, 12))
 
@@ -335,7 +335,7 @@
  * A macro that evaluates to the 2.13 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_13 (G_ENCODE_VERSION(2, 13))
 
@@ -351,7 +351,7 @@
  * A macro that evaluates to the 2.14 version of libpurple, in a format that
  * can be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_2_14 (G_ENCODE_VERSION(2, 14))
 
@@ -367,7 +367,7 @@
  * A macro that evaluates to the 3.0 version of libpurple, in a format that can
  * be used by the C pre-processor.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_VERSION_3_0 (G_ENCODE_VERSION(3, 0))
 
diff --git a/libpurple/purplewhiteboard.h b/libpurple/purplewhiteboard.h
--- a/libpurple/purplewhiteboard.h
+++ b/libpurple/purplewhiteboard.h
@@ -39,7 +39,7 @@
  *
  * A abstract whiteboard object.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 
 G_BEGIN_DECLS
@@ -52,7 +52,7 @@
  * Right now this is empty but it will be filled out with the function from
  * PurpleWhiteboardOps in a future review request.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 struct _PurpleWhiteboardClass {
 	/*< private >*/
@@ -68,7 +68,7 @@
  *
  * Returns: The #GType for the #PurpleWhiteboard object.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 G_DECLARE_DERIVABLE_TYPE(PurpleWhiteboard, purple_whiteboard, PURPLE,
@@ -81,7 +81,7 @@
  *
  * Sets the protocol operations for @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_set_protocol_ops(PurpleWhiteboard *whiteboard, PurpleWhiteboardOps *ops);
@@ -96,7 +96,7 @@
  *
  * Returns: (transfer full): The new #PurpleWhiteboard instance.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleWhiteboard *purple_whiteboard_new(PurpleAccount *account, const gchar *id, gint state);
@@ -109,7 +109,7 @@
  *
  * Returns: (transfer none): The #PurpleAccount for @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleAccount *purple_whiteboard_get_account(PurpleWhiteboard *whiteboard);
@@ -122,7 +122,7 @@
  *
  * Returns: The id of @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 const gchar *purple_whiteboard_get_id(PurpleWhiteboard *whiteboard);
@@ -134,7 +134,7 @@
  *
  * Set the state of @whiteboard to @state.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_set_state(PurpleWhiteboard *whiteboard, gint state);
@@ -147,7 +147,7 @@
  *
  * Returns: The state of the @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gint purple_whiteboard_get_state(PurpleWhiteboard *whiteboard);
@@ -158,7 +158,7 @@
  *
  * Puts @whiteboard into the started state if it wasn't already.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_start(PurpleWhiteboard *whiteboard);
@@ -169,7 +169,7 @@
  *
  * Destroys a drawing list for a whiteboard
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_draw_list_destroy(GList *draw_list);
@@ -184,7 +184,7 @@
  *
  * Returns: %TRUE if the values of @width and @height were set.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 gboolean purple_whiteboard_get_dimensions(PurpleWhiteboard *whiteboard, gint *width, gint *height);
@@ -197,7 +197,7 @@
  *
  * Sets the dimensions for @whiteboard.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_set_dimensions(PurpleWhiteboard *whiteboard, gint width, gint height);
@@ -212,7 +212,7 @@
  *
  * Draws a point on @whiteboard with the given parameters.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_draw_point(PurpleWhiteboard *whiteboard, gint x, gint y, gint color, gint size);
@@ -224,7 +224,7 @@
  *
  * Send a list of points to draw.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_send_draw_list(PurpleWhiteboard *whiteboard, GList *list);
@@ -241,7 +241,7 @@
  *
  * Draws a line on @whiteboard with the given parameters.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_draw_line(PurpleWhiteboard *whiteboard, gint x1, gint y1, gint x2, gint y2, gint color, gint size);
@@ -252,7 +252,7 @@
  *
  * Clears the contents of @whiteboard.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_clear(PurpleWhiteboard *whiteboard);
@@ -263,7 +263,7 @@
  *
  * Sends a request to the buddy to clear @whiteboard.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_send_clear(PurpleWhiteboard *whiteboard);
@@ -276,7 +276,7 @@
  *
  * Sends a request to change the size and color of the brush.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_send_brush(PurpleWhiteboard *whiteboard, gint size, gint color);
@@ -291,7 +291,7 @@
  *
  * Returns:	%TRUE if the size and color were set.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 gboolean purple_whiteboard_get_brush(PurpleWhiteboard *whiteboard, gint *size, gint *color);
@@ -304,7 +304,7 @@
  *
  * Sets the size and color of the brush.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_set_brush(PurpleWhiteboard *whiteboard, gint size, gint color);
@@ -317,7 +317,7 @@
  *
  * Returns: (transfer none) (element-type gint): The drawing list.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 GList *purple_whiteboard_get_draw_list(PurpleWhiteboard *whiteboard);
@@ -329,7 +329,7 @@
  *
  * Sets the drawing list.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_set_draw_list(PurpleWhiteboard *whiteboard, GList* draw_list);
@@ -341,7 +341,7 @@
  *
  * Sets the protocol data for @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_set_protocol_data(PurpleWhiteboard *whiteboard, gpointer proto_data);
@@ -354,7 +354,7 @@
  *
  * Returns: The protocol data for the whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gpointer purple_whiteboard_get_protocol_data(PurpleWhiteboard *whiteboard);
@@ -369,7 +369,7 @@
  *
  * Returns: %TRUE if the id's of @whiteboard1 and @whiteboard2 are equal.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_whiteboard_equal(PurpleWhiteboard *whiteboard1, PurpleWhiteboard *whiteboard2);
diff --git a/libpurple/purplewhiteboardmanager.h b/libpurple/purplewhiteboardmanager.h
--- a/libpurple/purplewhiteboardmanager.h
+++ b/libpurple/purplewhiteboardmanager.h
@@ -40,7 +40,7 @@
  *
  * A #GError domain for errors from #PurpleWhiteboardManager.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 #define PURPLE_WHITEBOARD_MANAGER_DOMAIN \
 	g_quark_from_static_string("purple-whiteboard-manager") \
@@ -54,7 +54,7 @@
  * #PurpleWhiteboardManager keeps track of all whiteboards and emits signals
  * when whiteboards are registered and unregistered.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 G_DECLARE_FINAL_TYPE(PurpleWhiteboardManager, purple_whiteboard_manager,
@@ -67,7 +67,7 @@
  *
  * Returns: (transfer none): The default #PurpleWhiteboardManager instance.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleWhiteboardManager *purple_whiteboard_manager_get_default(void);
@@ -80,7 +80,7 @@
  * Returns: (transfer none): The default manager cast to a
  *          [iface@Gio.ListModel].
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 GListModel *purple_whiteboard_manager_get_default_as_model(void);
@@ -96,7 +96,7 @@
  * Returns: %TRUE if @whiteboard was successfully registered with @manager,
  *          %FALSE otherwise.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_whiteboard_manager_register(PurpleWhiteboardManager *manager, PurpleWhiteboard *whiteboard, GError **error);
@@ -112,7 +112,7 @@
  * Returns: %TRUE if @whiteboard was successfully unregistered from @manager,
  *          %FALSE otherwise.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_whiteboard_manager_unregister(PurpleWhiteboardManager *manager, PurpleWhiteboard *whiteboard, GError **error);
@@ -126,7 +126,7 @@
  *
  * Returns: (transfer none): The #PurpleWhiteboard identified by @id or %NULL.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleWhiteboard *purple_whiteboard_manager_find(PurpleWhiteboardManager *manager, const gchar *id);
diff --git a/libpurple/purplewhiteboardmanager.c b/libpurple/purplewhiteboardmanager.c
--- a/libpurple/purplewhiteboardmanager.c
+++ b/libpurple/purplewhiteboardmanager.c
@@ -114,7 +114,7 @@
 	 *
 	 * Emitted after @whiteboard has been registered in @manager.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	signals[SIG_REGISTERED] = g_signal_new_class_handler(
 		"registered",
@@ -135,7 +135,7 @@
 	 *
 	 * Emitted after @whiteboard has been unregistered from @manager.
 	 *
-	 * Since: 3.0.0
+	 * Since: 3.0
 	 */
 	signals[SIG_UNREGISTERED] = g_signal_new_class_handler(
 		"unregistered",
diff --git a/libpurple/purplewhiteboarduiops.h b/libpurple/purplewhiteboarduiops.h
--- a/libpurple/purplewhiteboarduiops.h
+++ b/libpurple/purplewhiteboarduiops.h
@@ -50,7 +50,7 @@
  *
  * The PurpleWhiteboard UI Operations
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 struct _PurpleWhiteboardUiOps
 {
@@ -78,7 +78,7 @@
  *
  * Sets the UI operations
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_whiteboard_set_ui_ops(PurpleWhiteboardUiOps *ops);
@@ -89,7 +89,7 @@
  *
  * Creates a user interface for @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_ui_ops_create(PurpleWhiteboard *whiteboard);
@@ -100,7 +100,7 @@
  *
  * Destroys the user interface for @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_ui_ops_destroy(PurpleWhiteboard *whiteboard);
@@ -113,7 +113,7 @@
  *
  * Sets the user interface dimensions for @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_ui_ops_set_dimensions(PurpleWhiteboard *whiteboard, gint width, gint height);
@@ -126,7 +126,7 @@
  *
  * Sets the size and color of the active brush for @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_ui_ops_set_brush(PurpleWhiteboard *whiteboard, gint size, gint color);
@@ -141,7 +141,7 @@
  *
  * Draws a point on @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_ui_ops_draw_point(PurpleWhiteboard *whiteboard, gint x, gint y, gint color, gint size);
@@ -158,7 +158,7 @@
  *
  * Draws a line on @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_ui_ops_draw_line(PurpleWhiteboard *whiteboard, gint x1, gint y1, gint x2, gint y2, gint color, gint size);
@@ -169,7 +169,7 @@
  *
  * Clears all the contents of @whiteboard.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_whiteboard_ui_ops_clear(PurpleWhiteboard *whiteboard);
diff --git a/libpurple/roomlist.h b/libpurple/roomlist.h
--- a/libpurple/roomlist.h
+++ b/libpurple/roomlist.h
@@ -47,7 +47,7 @@
  *
  * The types of fields.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 typedef enum
 {
@@ -75,7 +75,7 @@
  *
  * The room list ops to be filled out by the UI.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 struct _PurpleRoomlistUiOps {
 	void (*show_with_account)(PurpleAccount *account);
@@ -95,7 +95,7 @@
  *
  * Represents a list of rooms for a given connection on a given protocol.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 struct _PurpleRoomlist {
 	GObject gparent;
@@ -114,7 +114,7 @@
  *
  * Returns: The #GType for the Room List object.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 G_DECLARE_FINAL_TYPE(PurpleRoomlist, purple_roomlist, PURPLE, ROOMLIST, GObject)
@@ -129,7 +129,7 @@
  * While we're pretending, predend I didn't say anything about dialogs
  * or buttons, since this is the core.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_roomlist_show_with_account(PurpleAccount *account);
@@ -142,7 +142,7 @@
  *
  * Returns: The new room list handle.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 PurpleRoomlist *purple_roomlist_new(PurpleAccount *account);
@@ -156,7 +156,7 @@
  *
  * Returns: (transfer none): The PurpleAccount tied to this room list.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 PurpleAccount *purple_roomlist_get_account(PurpleRoomlist *list);
@@ -171,7 +171,7 @@
  *
  * This must be called before purple_roomlist_room_add().
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_roomlist_set_fields(PurpleRoomlist *list, GList *fields);
@@ -186,7 +186,7 @@
  * The UI is encouraged to somehow hint to the user
  * whether or not we're busy downloading a room list or not.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_roomlist_set_in_progress(PurpleRoomlist *list, gboolean in_progress);
@@ -202,7 +202,7 @@
  *
  * Returns: True if we're downloading it, or false if we're not.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 gboolean purple_roomlist_get_in_progress(PurpleRoomlist *list);
@@ -215,7 +215,7 @@
  *
  * Adds a room to the list of them.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_roomlist_room_add(PurpleRoomlist *list, PurpleRoomlistRoom *room);
@@ -230,7 +230,7 @@
  * Returns: (transfer full): A PurpleRoomlist* or %NULL if the protocol doesn't
  *          support that.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 PurpleRoomlist *purple_roomlist_get_list(PurpleConnection *gc);
@@ -244,7 +244,7 @@
  * call set_in_progress with %FALSE and possibly
  * unref the list if it took a reference.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_roomlist_cancel_get_list(PurpleRoomlist *list);
@@ -256,7 +256,7 @@
  *
  * Create a new conversation for @room.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 void purple_roomlist_join_room(PurpleRoomlist *list, PurpleRoomlistRoom *room);
@@ -272,7 +272,7 @@
  *
  * Returns: The #GType for the #PurpleRoomlistUiOps boxed structure.
  *
- * Since: 3.0.0
+ * Since: 3.0
  */
 PURPLE_AVAILABLE_IN_3_0
 GType purple_roomlist_ui_ops_get_type(void);
@@ -283,7 +283,7 @@
  *
  * Sets the UI operations structure to be used in all purple room lists.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 void purple_roomlist_set_ui_ops(PurpleRoomlistUiOps *ops);
@@ -296,7 +296,7 @@
  *
  * Returns: A filled-out PurpleRoomlistUiOps structure.
  *
- * Since: 2.0.0
+ * Since: 2.0
  */
 PURPLE_AVAILABLE_IN_ALL
 PurpleRoomlistUiOps *purple_roomlist_get_ui_ops(void);
