libmpdclient 2.19 (2020/07/03) * fix off-by-one bug in MPD_HOST parser * add function mpd_lookup_replay_gain_mode() * identify messages with length over the buffer limit * support MPD protocol 0.16 - replay gain * support MPD protocol 0.19 - idle events "neighbor" and "mount" * support MPD protocol 0.20 - rangeid * support MPD protocol 0.21 - command "tagtypes all" libmpdclient 2.18 (2020/01/20) * more out-of-memory checks * partition: add mpd_recv_partition() * support MPD protocol 0.21 - "oneshot" single state * support MPD protocol 0.22 - status: add mpd_status_get_partition() - commands "delpartition", "moveoutput" libmpdclient 2.17 (2019/12/04) * search: add mpd_search_add_db_songs_to_playlist() * idle: support event "partition" * support MPD protocol 0.19 - "listneighbors" * support MPD protocol 0.22 - "getfingerprint" * support tags "MPD_TAG_LABEL", "MPD_TAG_MUSICBRAINZ_WORKID", "Grouping", "Work", "Conductor" * support MPD partitions * mpd_async_set_keepalive() returns bool * mpd_connection_set_keepalive() returns bool * fix build failure on Haiku libmpdclient 2.16 (2018/10/09) * support MPD protocol 0.19 - "mount", "unmount", "listmounts" * support MPD protocol 0.17 - "load" with range * add mpd_output_get_attribute() * use UINX_MAX instead of `(unsigned)-1` to avoid undefined behavior libmpdclient 2.15 (2018/09/02) * support MPD protocol 0.21 - search: support search expressions - search: descending sort - search: support sorting by "Last-Modified" - song: audio format * support MPD protocol 0.17 - player: command "seekcur" * fix `-Wrestrict` compiler warning libmpdclient 2.14 (2018/02/11) * support MPD protocol 0.21 - command "outputset" - mpd_output_get_plugin() - receive output attributes * MSVC compatibility * improved local and abstract socket support libmpdclient 2.13 (2017/07/25) * fix build with meson > 0.38.1 * fix connect error "Operation now in progress" libmpdclient 2.12 (2017/07/21) * support MPD protocol 0.21 - support tag "OriginalDate" - command "tagtypes" plus "disable", "enable", "clear" * support MPD protocol 0.20 - support "plchanges" and "plchangesposid" with range * support MPD protocol 0.19 - commands "addtagid", "cleartagid" - command "listfiles" - grouping for "list" and "count" - tag "AlbumSort" - "seekid" with float time * use relative #include paths to avoid clashes with other libmpdclient copies * build with Meson instead of autotools libmpdclient 2.11 (2017/03/20) * fix heap corruption with mpd_connection_new_async() * add space before "window" search argument * detect getaddrinfo() at configure time * add support for ArtistSort and AlbumArtistSort tags * support MPD protocol 0.21 - audio format specifications "dsd64" etc. - the "sort" parameter for commands "find"/"search" libmpdclient 2.10 (2015/02/23) * support abstract sockets with "@" prefix * support tag "MUSICBRAINZ_RELEASETRACKID" * add TCP keepalive internal and external APIs * support MPD protocol 0.19 - status: support sample formats "float" and "dsd" - song: report duration with milliseconds precision - search: support constraint "modified-since" * support MPD protocol 0.20 - the "window" parameter for commands "find"/"search" libmpdclient 2.9 (2013/10/29) * directory: support attribute "Last-Modified" * support MPD protocol 0.18 - command "readcomments" - command "toggleoutput" - command "volume" - the "base" constraint for commands "find"/"search" libmpdclient 2.8 (2013/04/09) * song: support attribute "Prio" * queue: fix the ranged "prio" command * queue: support open ranges libmpdclient 2.7 (2012/02/04) * status: add nextsong/nextsongid support libmpdclient 2.6 (2011/10/23) * mpd/client.h: include message.h * queue: support song priorities libmpdclient 2.5 (2011/07/06) * playlist: implement the command "listplaylists" * idle: support event "sticker" * support the client-to-client protocol (MPD 0.17) libmpdclient 2.4 (2011/01/03) * configure.ac, resolver: implement flag --disable-tcp * resolver: fix IPv4/IPv6 on the loopback device * player: support the command "clearerror" * connection: add function mpd_connection_get_server_error_location() * settings: expose connection settings * iso8601, send: format string workarounds for WIN32 * Makefile.am: fix doxygen in out-of-tree build libmpdclient 2.3 (2010/05/25) * get default timeout from environment variable MPD_TIMEOUT * fix assertion failures on malformed URI * song: support attribute "Range" libmpdclient 2.2 (2010/04/25) * MixRamp support * fix the LIBMPDCLIENT_CHECK_VERSION() macro libmpdclient 2.1 (2009/12/06) * status: added mpd_status_get_elapsed_ms() * sticker: added sticker support * song: copy last_modified value in mpd_song_dup() * socket, async: use WSAGetLastError() instead of errno on WIN32 * socket: connect in non-blocking mode * socket: set the close-on-exec flag * tag: support C++ * sync: optimistic write, reduce select() calls * Makefile.am: use --version-script only with GNU ld * added library version compile-time checks libmpdclient 2.0 (2009/10/03) * complete rewrite and API redesign * shared library with a documented stable API * asynchronous API * too many minor changes to list here libmpdclient 0.13 (2007/05/28) libmpdclient 0.12.1 (2007/03/21) libmpdclient 0.12 (2006/09/22) libmpdclient 0.11.1 (2004/06/18) libmpdclient 0.11 (2004/06/17) libmpdclient 0.10 (2004/03/03) * these versions were never actually released; its sources were copied into the C/C++ clients