Hi,

Attached is a patch which documents API changes between libmpdclient versions,
making it easier to add client support for old versions of libmpdclient.

Regards,
Kim Tore Jensen
From bc7951bf857c1d8195eb576a9582ca1c9dbf9118 Mon Sep 17 00:00:00 2001
From: Kim Tore Jensen <k...@incendio.no>
Date: Thu, 27 Aug 2015 13:19:19 +0200
Subject: [PATCH] Document API changes between each libmpdclient version

---
 include/mpd/async.h        |  2 ++
 include/mpd/audio_format.h |  3 +++
 include/mpd/connection.h   |  9 +++++++++
 include/mpd/database.h     |  2 ++
 include/mpd/directory.h    |  2 ++
 include/mpd/idle.h         |  3 +++
 include/mpd/message.h      | 30 ++++++++++++++++++++++++++++++
 include/mpd/mixer.h        |  4 ++++
 include/mpd/output.h       |  4 ++++
 include/mpd/player.h       | 18 ++++++++++++++++++
 include/mpd/playlist.h     |  2 ++
 include/mpd/queue.h        | 28 ++++++++++++++++++++++++++++
 include/mpd/search.h       |  6 ++++++
 include/mpd/settings.h     | 12 ++++++++++++
 include/mpd/song.h         |  8 ++++++++
 include/mpd/status.h       | 10 ++++++++++
 include/mpd/sticker.h      | 20 ++++++++++++++++++++
 include/mpd/tag.h          |  4 ++++
 18 files changed, 167 insertions(+)

diff --git a/include/mpd/async.h b/include/mpd/async.h
index 1400589..9f6d24c 100644
--- a/include/mpd/async.h
+++ b/include/mpd/async.h
@@ -148,6 +148,8 @@ mpd_async_get_fd(const struct mpd_async *async);
  *
  * @param async the #mpd_async object
  * @param keepalive whether TCP keepalives should be enabled
+ *
+ * @since libmpdclient 2.10
  */
 void mpd_async_set_keepalive(struct mpd_async *async,
                              bool keepalive);
diff --git a/include/mpd/audio_format.h b/include/mpd/audio_format.h
index eccb33a..f9d0936 100644
--- a/include/mpd/audio_format.h
+++ b/include/mpd/audio_format.h
@@ -65,6 +65,9 @@ struct mpd_audio_format {
 	 * currently always signed.  Supported values are 8, 16, 24,
 	 * 32 and the special values #MPD_SAMPLE_FORMAT_FLOAT,
 	 * #MPD_SAMPLE_FORMAT_DSD.
+	 *
+	 * @since libmpdclient 2.10 added support for #MPD_SAMPLE_FORMAT_FLOAT and
+	 * #MPD_SAMPLE_FORMAT_DSD.
 	 */
 	uint8_t bits;
 
diff --git a/include/mpd/connection.h b/include/mpd/connection.h
index 467e826..e1f1211 100644
--- a/include/mpd/connection.h
+++ b/include/mpd/connection.h
@@ -95,6 +95,9 @@ extern "C" {
  * mpd_connection_set_timeout()
  * @return a mpd_connection object (which may have failed to connect),
  * or NULL on out-of-memory
+ *
+ * @since libmpdclient 2.3 added support for #MPD_HOST, #MPD_PORT and
+ * #MPD_TIMEOUT.
  */
 mpd_malloc
 struct mpd_connection *
@@ -127,6 +130,8 @@ void mpd_connection_free(struct mpd_connection *connection);
 /**
  * Returns the settings which were used to connect to the server.  May
  * be NULL if the settings are not known.
+ *
+ * @since libmpdclient 2.4
  */
 const struct mpd_settings *
 mpd_connection_get_settings(const struct mpd_connection *connection);
@@ -142,6 +147,8 @@ mpd_connection_get_settings(const struct mpd_connection *connection);
  *
  * @param connection the connection to MPD
  * @param keepalive whether TCP keepalives should be enabled
+ *
+ * @since libmpdclient 2.10
  */
 void mpd_connection_set_keepalive(struct mpd_connection *connection,
                                   bool keepalive);
@@ -220,6 +227,8 @@ mpd_connection_get_server_error(const struct mpd_connection *connection);
  * command list.  Calling this function is only valid in a command
  * list response, and if mpd_connection_get_error() returned
  * #MPD_ERROR_SERVER.
+ *
+ * @since libmpdclient 2.4
  */
 mpd_pure
 unsigned
diff --git a/include/mpd/database.h b/include/mpd/database.h
index 2d7090a..c80c50a 100644
--- a/include/mpd/database.h
+++ b/include/mpd/database.h
@@ -95,6 +95,8 @@ mpd_send_list_meta(struct mpd_connection *connection, const char *path);
  * @param path the relative path of the song file within the music
  * directory or an arbitrary file path starting with file:///
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.9
  */
 bool
 mpd_send_read_comments(struct mpd_connection *connection, const char *path);
diff --git a/include/mpd/directory.h b/include/mpd/directory.h
index b883e10..1d93ff2 100644
--- a/include/mpd/directory.h
+++ b/include/mpd/directory.h
@@ -84,6 +84,8 @@ mpd_directory_get_path(const struct mpd_directory *directory);
 /**
  * @return the POSIX UTC time stamp of the last modification, or 0 if
  * that is unknown
+ *
+ * @since libmpdclient 2.9
  */
 mpd_pure
 time_t
diff --git a/include/mpd/idle.h b/include/mpd/idle.h
index c6da7ef..3a1aedf 100644
--- a/include/mpd/idle.h
+++ b/include/mpd/idle.h
@@ -48,6 +48,9 @@ struct mpd_connection;
 
 /**
  * This enum contains bit masks for all idle events.
+ *
+ * @since libmpdclient 2.5 added support for #MPD_IDLE_STICKER,
+ * #MPD_IDLE_SUBSCRIPTION and #MPD_IDLE_MESSAGE.
  */
 enum mpd_idle {
 	/** song database has been updated*/
diff --git a/include/mpd/message.h b/include/mpd/message.h
index de9eb5a..645998f 100644
--- a/include/mpd/message.h
+++ b/include/mpd/message.h
@@ -57,6 +57,8 @@ extern "C" {
  * @param pair the first pair in this message (name must be "channel")
  * @return the new #mpd_entity object, or NULL on error (out of
  * memory, or pair name is not "channel")
+ *
+ * @since libmpdclient 2.5
  */
 mpd_malloc
 struct mpd_message *
@@ -69,18 +71,24 @@ mpd_message_begin(const struct mpd_pair *pair);
  * @return true if the pair was parsed and added to the message (or if
  * the pair was not understood and ignored), false if this pair is the
  * beginning of the next message
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_message_feed(struct mpd_message *output, const struct mpd_pair *pair);
 
 /**
  * Frees a #mpd_message object.
+ *
+ * @since libmpdclient 2.5
  */
 void
 mpd_message_free(struct mpd_message *message);
 
 /**
  * Returns the channel name.
+ *
+ * @since libmpdclient 2.5
  */
 mpd_pure
 const char *
@@ -88,6 +96,8 @@ mpd_message_get_channel(const struct mpd_message *message);
 
 /**
  * Returns the message text.
+ *
+ * @since libmpdclient 2.5
  */
 mpd_pure
 const char *
@@ -99,6 +109,8 @@ mpd_message_get_text(const struct mpd_message *message);
  * @param connection the connection to MPD
  * @param channel the channel name
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_send_subscribe(struct mpd_connection *connection, const char *channel);
@@ -109,6 +121,8 @@ mpd_send_subscribe(struct mpd_connection *connection, const char *channel);
  * @param connection the connection to MPD
  * @param channel the channel name
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_run_subscribe(struct mpd_connection *connection, const char *channel);
@@ -120,6 +134,8 @@ mpd_run_subscribe(struct mpd_connection *connection, const char *channel);
  * @param connection the connection to MPD
  * @param channel the channel name
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_send_unsubscribe(struct mpd_connection *connection, const char *channel);
@@ -130,6 +146,8 @@ mpd_send_unsubscribe(struct mpd_connection *connection, const char *channel);
  * @param connection the connection to MPD
  * @param channel the channel name
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_run_unsubscribe(struct mpd_connection *connection, const char *channel);
@@ -141,6 +159,8 @@ mpd_run_unsubscribe(struct mpd_connection *connection, const char *channel);
  * @param channel the channel name
  * @param text the message text
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_send_send_message(struct mpd_connection *connection,
@@ -153,6 +173,8 @@ mpd_send_send_message(struct mpd_connection *connection,
  * @param channel the channel name
  * @param text the message text
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_run_send_message(struct mpd_connection *connection,
@@ -163,6 +185,8 @@ mpd_run_send_message(struct mpd_connection *connection,
  *
  * @param connection the connection to MPD
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_send_read_messages(struct mpd_connection *connection);
@@ -173,6 +197,8 @@ mpd_send_read_messages(struct mpd_connection *connection);
  *
  * @return a mpd_message object on success, NULL on error or
  * end-of-response
+ *
+ * @since libmpdclient 2.5
  */
 mpd_malloc
 struct mpd_message *
@@ -183,6 +209,8 @@ mpd_recv_message(struct mpd_connection *connection);
  *
  * @param connection the connection to MPD
  * @return true on success
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_send_channels(struct mpd_connection *connection);
@@ -196,6 +224,8 @@ mpd_send_channels(struct mpd_connection *connection);
  * @param connection a #mpd_connection
  * @returns a "channel" pair, or NULL on error or if the end of the
  * response is reached
+ *
+ * @since libmpdclient 2.5
  */
 mpd_malloc
 static inline struct mpd_pair *
diff --git a/include/mpd/mixer.h b/include/mpd/mixer.h
index a222f02..49521af 100644
--- a/include/mpd/mixer.h
+++ b/include/mpd/mixer.h
@@ -71,6 +71,8 @@ mpd_run_set_volume(struct mpd_connection *connection, unsigned volume);
  * @param connection the connection to MPD
  * @param relative_volume the relative volume, an integer between -100 and 100
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.9
  */
 bool
 mpd_send_change_volume(struct mpd_connection *connection, int relative_volume);
@@ -81,6 +83,8 @@ mpd_send_change_volume(struct mpd_connection *connection, int relative_volume);
  * @param connection the connection to MPD
  * @param relative_volume the relative volume, an integer between -100 and 100
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.9
  */
 bool
 mpd_run_change_volume(struct mpd_connection *connection, int relative_volume);
diff --git a/include/mpd/output.h b/include/mpd/output.h
index 37b9809..7dae7e6 100644
--- a/include/mpd/output.h
+++ b/include/mpd/output.h
@@ -178,6 +178,8 @@ mpd_run_disable_output(struct mpd_connection *connection, unsigned output_id);
  * @param output_id an identifier for the output device (see
  * mpd_recv_output())
  * @return true on success
+ *
+ * @since libmpdclient 2.9
  */
 bool
 mpd_send_toggle_output(struct mpd_connection *connection, unsigned output_id);
@@ -189,6 +191,8 @@ mpd_send_toggle_output(struct mpd_connection *connection, unsigned output_id);
  * @param output_id an identifier for the output device (see
  * mpd_recv_output())
  * @return true on success
+ *
+ * @since libmpdclient 2.9
  */
 bool
 mpd_run_toggle_output(struct mpd_connection *connection, unsigned output_id);
diff --git a/include/mpd/player.h b/include/mpd/player.h
index 0f7bb42..70b2eae 100644
--- a/include/mpd/player.h
+++ b/include/mpd/player.h
@@ -199,21 +199,39 @@ mpd_send_crossfade(struct mpd_connection *connection, unsigned seconds);
 bool
 mpd_run_crossfade(struct mpd_connection *connection, unsigned seconds);
 
+/**
+ * @since libmpdclient 2.2
+ */
 bool
 mpd_send_mixrampdb(struct mpd_connection *connection, float db);
 
+/**
+ * @since libmpdclient 2.2
+ */
 bool
 mpd_run_mixrampdb(struct mpd_connection *connection, float db);
 
+/**
+ * @since libmpdclient 2.2
+ */
 bool
 mpd_send_mixrampdelay(struct mpd_connection *connection, float seconds);
 
+/**
+ * @since libmpdclient 2.2
+ */
 bool
 mpd_run_mixrampdelay(struct mpd_connection *connection, float seconds);
 
+/**
+ * @since libmpdclient 2.4
+ */
 bool
 mpd_send_clearerror(struct mpd_connection *connection);
 
+/**
+ * @since libmpdclient 2.4
+ */
 bool
 mpd_run_clearerror(struct mpd_connection *connection);
 
diff --git a/include/mpd/playlist.h b/include/mpd/playlist.h
index 16381a3..07bb737 100644
--- a/include/mpd/playlist.h
+++ b/include/mpd/playlist.h
@@ -121,6 +121,8 @@ mpd_playlist_feed(struct mpd_playlist *playlist, const struct mpd_pair *pair);
  *
  * @param connection the connection to MPD
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.5
  */
 bool
 mpd_send_list_playlists(struct mpd_connection *connection);
diff --git a/include/mpd/queue.h b/include/mpd/queue.h
index ce2372d..357a8e0 100644
--- a/include/mpd/queue.h
+++ b/include/mpd/queue.h
@@ -62,6 +62,8 @@ mpd_send_list_queue_meta(struct mpd_connection *connection);
  * @param end the end position of the range (excluding); the special
  * value "(unsigned)-1" makes the end of the range open
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_send_list_queue_range_meta(struct mpd_connection *connection,
@@ -237,6 +239,8 @@ mpd_run_delete(struct mpd_connection *connection, unsigned pos);
  * @param end the end position of the range (excluding); the special
  * value "(unsigned)-1" makes the end of the range open
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_send_delete_range(struct mpd_connection *connection,
@@ -250,6 +254,8 @@ mpd_send_delete_range(struct mpd_connection *connection,
  * @param end the end position of the range (excluding); the special
  * value "(unsigned)-1" makes the end of the range open
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_run_delete_range(struct mpd_connection *connection,
@@ -297,6 +303,8 @@ mpd_run_shuffle(struct mpd_connection *connection);
  * @param start the start position of the range (including)
  * @param end the end position of the range (excluding); the special
  * value "(unsigned)-1" makes the end of the range open
+ *
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_send_shuffle_range(struct mpd_connection *connection, unsigned start, unsigned end);
@@ -308,6 +316,8 @@ mpd_send_shuffle_range(struct mpd_connection *connection, unsigned start, unsign
  * @param start the start position of the range (including)
  * @param end the end position of the range (excluding); the special
  * value "(unsigned)-1" makes the end of the range open
+ *
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_run_shuffle_range(struct mpd_connection *connection,
@@ -378,6 +388,8 @@ mpd_run_move_id(struct mpd_connection *connection, unsigned from, unsigned to);
  * value "(unsigned)-1" makes the end of the range open
  * @param to the new position of the song range
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_send_move_range(struct mpd_connection *connection,
@@ -392,6 +404,8 @@ mpd_send_move_range(struct mpd_connection *connection,
  * value "(unsigned)-1" makes the end of the range open
  * @param to the new position of the song range
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_run_move_range(struct mpd_connection *connection,
@@ -443,6 +457,8 @@ mpd_run_swap_id(struct mpd_connection *connection, unsigned id1, unsigned id2);
  * @param connection the connection to MPD
  * @param priority a number between 0 and 255
  * @param position the position of the song
+ *
+ * @since libmpdclient 2.6
  */
 bool
 mpd_send_prio(struct mpd_connection *connection, int priority,
@@ -454,6 +470,8 @@ mpd_send_prio(struct mpd_connection *connection, int priority,
  * @param connection the connection to MPD
  * @param priority a number between 0 and 255
  * @param position the position of the song
+ *
+ * @since libmpdclient 2.6
  */
 bool
 mpd_run_prio(struct mpd_connection *connection, int priority,
@@ -467,6 +485,9 @@ mpd_run_prio(struct mpd_connection *connection, int priority,
  * @param start the start position of the range (including)
  * @param end the end position of the range (excluding); the special
  * value "(unsigned)-1" makes the end of the range open
+ *
+ * @since libmpdclient 2.6
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_send_prio_range(struct mpd_connection *connection, int priority,
@@ -480,6 +501,9 @@ mpd_send_prio_range(struct mpd_connection *connection, int priority,
  * @param start the start position of the range (including)
  * @param end the end position of the range (excluding); the special
  * value "(unsigned)-1" makes the end of the range open
+ *
+ * @since libmpdclient 2.6
+ * @since libmpdclient 2.8 added support for "(unsigned)-1"
  */
 bool
 mpd_run_prio_range(struct mpd_connection *connection, int priority,
@@ -491,6 +515,8 @@ mpd_run_prio_range(struct mpd_connection *connection, int priority,
  * @param connection the connection to MPD
  * @param priority a number between 0 and 255
  * @param id the id of the song
+ *
+ * @since libmpdclient 2.6
  */
 bool
 mpd_send_prio_id(struct mpd_connection *connection, int priority,
@@ -502,6 +528,8 @@ mpd_send_prio_id(struct mpd_connection *connection, int priority,
  * @param connection the connection to MPD
  * @param priority a number between 0 and 255
  * @param id the id of the song
+ *
+ * @since libmpdclient 2.6
  */
 bool
 mpd_run_prio_id(struct mpd_connection *connection, int priority,
diff --git a/include/mpd/search.h b/include/mpd/search.h
index 430254c..bb137d2 100644
--- a/include/mpd/search.h
+++ b/include/mpd/search.h
@@ -135,6 +135,8 @@ bool mpd_count_db_songs(struct mpd_connection *connection);
  * @param oper reserved, pass #MPD_OPERATOR_DEFAULT
  * @param value the URI relative to the music directory
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.9
  */
 bool
 mpd_search_add_base_constraint(struct mpd_connection *connection,
@@ -189,6 +191,8 @@ mpd_search_add_any_tag_constraint(struct mpd_connection *connection,
  * @param oper reserved, pass #MPD_OPERATOR_DEFAULT
  * @param value the reference time stamp
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.10
  */
 bool
 mpd_search_add_modified_since_constraint(struct mpd_connection *connection,
@@ -203,6 +207,8 @@ mpd_search_add_modified_since_constraint(struct mpd_connection *connection,
  * @param type The tag type of the constraint
  * @param value The value of the constraint
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.10
  */
 bool
 mpd_search_add_window(struct mpd_connection *connection,
diff --git a/include/mpd/settings.h b/include/mpd/settings.h
index 99d13f0..10a2825 100644
--- a/include/mpd/settings.h
+++ b/include/mpd/settings.h
@@ -69,6 +69,8 @@ extern "C" {
  * @param password the password, or NULL to use the default (MPD_HOST
  * before "@")
  * @return a #mpd_settings object or NULL if out of memory
+ *
+ * @since libmpdclient 2.4
  */
 struct mpd_settings *
 mpd_settings_new(const char *host, unsigned port, unsigned timeout_ms,
@@ -76,30 +78,40 @@ mpd_settings_new(const char *host, unsigned port, unsigned timeout_ms,
 
 /**
  * Releases a #mpd_settings object.
+ *
+ * @since libmpdclient 2.4
  */
 void
 mpd_settings_free(struct mpd_settings *settings);
 
 /**
  * Returns the host name (without password/port), or NULL if unknown.
+ *
+ * @since libmpdclient 2.4
  */
 const char *
 mpd_settings_get_host(const struct mpd_settings *settings);
 
 /**
  * Returns the port number, or 0 if not applicable.
+ *
+ * @since libmpdclient 2.4
  */
 unsigned
 mpd_settings_get_port(const struct mpd_settings *settings);
 
 /**
  * Returns the timeout in milliseconds, or 0 if unknown.
+ *
+ * @since libmpdclient 2.4
  */
 unsigned
 mpd_settings_get_timeout_ms(const struct mpd_settings *settings);
 
 /**
  * Returns the password, or NULL if none was configured.
+ *
+ * @since libmpdclient 2.4
  */
 const char *
 mpd_settings_get_password(const struct mpd_settings *settings);
diff --git a/include/mpd/song.h b/include/mpd/song.h
index a1d1976..bc9f377 100644
--- a/include/mpd/song.h
+++ b/include/mpd/song.h
@@ -111,6 +111,8 @@ mpd_song_get_duration(const struct mpd_song *song);
 /**
  * Returns the duration of this song in milliseconds.  0 means the
  * duration is unknown.
+ *
+ * @since libmpdclient 2.10
  */
 mpd_pure
 unsigned
@@ -119,6 +121,8 @@ mpd_song_get_duration_ms(const struct mpd_song *song);
 /**
  * Returns the start of the virtual song within the physical file in
  * seconds.
+ *
+ * @since libmpdclient 2.3
  */
 mpd_pure
 unsigned
@@ -128,6 +132,8 @@ mpd_song_get_start(const struct mpd_song *song);
  * Returns the end of the virtual song within the physical file in
  * seconds.  Zero means that the physical song file is played to the
  * end.
+ *
+ * @since libmpdclient 2.3
  */
 mpd_pure
 unsigned
@@ -170,6 +176,8 @@ mpd_song_get_id(const struct mpd_song *song);
 /**
  * Returns the priority of this song in the playlist.  The value is
  * undefined if you did not obtain this song from the queue.
+ *
+ * @since libmpdclient 2.8
  */
 mpd_pure
 unsigned
diff --git a/include/mpd/status.h b/include/mpd/status.h
index 827cc66..24b3ad9 100644
--- a/include/mpd/status.h
+++ b/include/mpd/status.h
@@ -194,6 +194,8 @@ mpd_status_get_crossfade(const struct mpd_status *status);
 
 /**
  * Returns mixrampdb setting in db.
+ *
+ * @since libmpdclient 2.2
  */
 mpd_pure
 float
@@ -202,6 +204,8 @@ mpd_status_get_mixrampdb(const struct mpd_status *status);
 /**
  * Returns mixrampdelay setting in seconds.  Negative means mixramp is
  * disabled.
+ *
+ * @since libmpdclient 2.2
  */
 mpd_pure
 float
@@ -227,6 +231,8 @@ mpd_status_get_song_id(const struct mpd_status *status);
 /**
  * The same as mpd_status_get_next_song_pos, but for the next song to be
  * played.
+ *
+ * @since libmpdclient 2.7
  */
 mpd_pure
 int
@@ -235,6 +241,8 @@ mpd_status_get_next_song_pos(const struct mpd_status *status);
 /**
  * Returns the id of the next song to be played.  If it is not known, -1 is
  * returned.
+ *
+ * @since libmpdclient 2.7
  */
 mpd_pure
 int
@@ -251,6 +259,8 @@ mpd_status_get_elapsed_time(const struct mpd_status *status);
 /**
  * Returns time in milliseconds that have elapsed in the currently
  * playing/paused song.
+ *
+ * @since libmpdclient 2.1
  */
 mpd_pure
 unsigned
diff --git a/include/mpd/sticker.h b/include/mpd/sticker.h
index f9a1f1d..b11966f 100644
--- a/include/mpd/sticker.h
+++ b/include/mpd/sticker.h
@@ -57,6 +57,8 @@ extern "C" {
  * @param name the name of the sticker
  * @param value the value of the sticker
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.1
  */
 bool
 mpd_send_sticker_set(struct mpd_connection *connection, const char *type,
@@ -71,6 +73,8 @@ mpd_send_sticker_set(struct mpd_connection *connection, const char *type,
  * @param name the name of the sticker
  * @param value the value of the sticker
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.1
  */
 bool
 mpd_run_sticker_set(struct mpd_connection *connection, const char *type,
@@ -84,6 +88,8 @@ mpd_run_sticker_set(struct mpd_connection *connection, const char *type,
  * @param uri the URI of the object
  * @param name the name of the sticker
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.1
  */
 bool
 mpd_send_sticker_delete(struct mpd_connection *connection, const char *type,
@@ -97,6 +103,8 @@ mpd_send_sticker_delete(struct mpd_connection *connection, const char *type,
  * @param uri the URI of the object
  * @param name the name of the sticker
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.1
  */
 bool
 mpd_run_sticker_delete(struct mpd_connection *connection, const char *type,
@@ -110,6 +118,8 @@ mpd_run_sticker_delete(struct mpd_connection *connection, const char *type,
  * @param uri the URI of the object
  * @param name the name of the sticker
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.1
  */
 bool
 mpd_send_sticker_get(struct mpd_connection *connection, const char *type,
@@ -123,6 +133,8 @@ mpd_send_sticker_get(struct mpd_connection *connection, const char *type,
  * @param type the object type, e.g. "song"
  * @param uri the URI of the object
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.1
  */
 bool
 mpd_send_sticker_list(struct mpd_connection *connection, const char *type,
@@ -137,6 +149,8 @@ mpd_send_sticker_list(struct mpd_connection *connection, const char *type,
  * NULL to search for all objects of the specified type
  * @param name the name of the sticker
  * @return true on success, false on error
+ *
+ * @since libmpdclient 2.1
  */
 bool
 mpd_send_sticker_find(struct mpd_connection *connection, const char *type,
@@ -150,6 +164,8 @@ mpd_send_sticker_find(struct mpd_connection *connection, const char *type,
  * @param name_length_r the length of the name (starting at the
  * beginning of the input string) is returned here
  * @return a pointer to the sticker value, or NULL on error
+ *
+ * @since libmpdclient 2.1
  */
 const char *
 mpd_parse_sticker(const char *input, size_t *name_length_r);
@@ -161,6 +177,8 @@ mpd_parse_sticker(const char *input, size_t *name_length_r);
  * @param connection the connection to MPD
  * @return a #mpd_pair object on success, NULL on end of response or
  * error
+ *
+ * @since libmpdclient 2.1
  */
 mpd_malloc
 struct mpd_pair *
@@ -168,6 +186,8 @@ mpd_recv_sticker(struct mpd_connection *connection);
 
 /**
  * Free the pair returned by mpd_recv_sticker().
+ *
+ * @since libmpdclient 2.1
  */
 void
 mpd_return_sticker(struct mpd_connection *connection, struct mpd_pair *pair);
diff --git a/include/mpd/tag.h b/include/mpd/tag.h
index bd1eee7..181cfc5 100644
--- a/include/mpd/tag.h
+++ b/include/mpd/tag.h
@@ -33,6 +33,10 @@
 #ifndef LIBMPDCLIENT_TAG_H
 #define LIBMPDCLIENT_TAG_H
 
+/**
+ * @since libmpdclient 2.10 added support for #MPD_TAG_MUSICBRAINZ_RELEASETRACKID.
+ * @since libmpdclient 2.11 added support for #MPD_TAG_ARTIST_SORT and #MPD_TAG_ALBUM_ARTIST_SORT.
+ */
 enum mpd_tag_type
 {
 	/**
-- 
1.9.1

Attachment: signature.asc
Description: Digital signature

_______________________________________________
mpd-devel mailing list
mpd-devel@musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel

Reply via email to