4 0.19.x possibility to change connection scheme
5 0.18.x using common classes in audio::mpd::common
6 0.17.x introducing AM::Playlist + AM::Time
7 0.16.x utf-8 support + introducing mpd-dynamic script
8 0.15.x introducing AM::Collection
9 0.14.x introducing AM::Items
10 0.13.x rewrote connection mechanism
11 0.12.4 adoption by jerome quelin & quick fixes
12 0.12.0 adoption by nicholas j humphrey & first release on cpan
13 0.10.0 adapting to evolving mpd
14 [...] ? (no information)
15 0.1.0 initial release by tue abrahamsen
22 0.19.6 Sat Feb 14 13:03:22 CET 2009
23 - doc update (catched by streamingmeemee)
25 0.19.5 Mon Jan 5 15:31:29 CET 2009
26 - updated to match mpd 0.14 behaviour
29 0.19.4 Sat Aug 16 10:38:12 CEST 2008
31 - listing mpd-dynamic script prereqs as module prereqs
33 0.19.3 Tue Aug 12 19:04:23 CEST 2008
34 - version() reports *protocol* version, not real mpd version
35 - fix some tests that failed because of detection method not precise
36 enough (timing issues)
38 0.19.2 Tue Jun 17 19:24:16 CEST 2008
39 - mpd-dynamic should lookup ratings with utf8 encoded pathes
41 0.19.1 Mon Dec 3 18:23:58 CET 2007
42 - new method all_playlists() (courtesy of Joey Hess)
43 - fix for filenames / playlists beginning with a space (courtesy of
46 0.19.0 Thu Nov 29 20:10:18 CET 2007
47 - changed constructor api: using a hash for options instead of
49 - new conntype param for constructor to change the way connection is
51 - MPD_HOST env var supports password@host
52 - mpd-dynamic daemonizes after mpd connection to trap problems
56 0.18.3 Mon Nov 26 12:51:40 CET 2007
57 - kwalitee/cpants release
59 0.18.2 Tue Nov 13 20:20:59 CET 2007
60 - fixing bug 29232 (courtesy of David Bitseff)
62 0.18.1 Thu May 31 20:57:47 CEST 2007
63 - fixing mantis bug #556: support for multiple $path in playlist->add
65 0.18.0 Wed May 30 12:29:11 CEST 2007
66 - moved to perl license
67 - using common classes outsourced in audio::mpd::common, namely: item*,
68 stats, status and time.
69 - new methods AM::Collection::all_songs()
73 0.17.2 Sun Apr 8 15:35:43 CEST 2007
74 - introducing AM::Stats for better encapsulation
76 0.17.1 Sun Apr 8 12:23:53 CEST 2007
77 - introducing AM::Time for better encapsulation
78 - thus, removed get_time_info() and get_time_format()
79 - test coverage up to 100% \o/
81 0.17.0 Fri Apr 6 16:54:07 CEST 2007
82 - introducing AM::Playlist for better segregation of playlist handling
83 - completed tests to cover all playlist operations, AM is now 95.1% covered
87 0.16.2 Tue Apr 3 19:02:29 CEST 2007
88 - utf-8 support generalized
90 0.16.1 Mon Apr 2 18:26:17 CEST 2007
91 - new internal _cooked_command_*() methods, allowing for better code
92 factorization - and thus, better code coverage (100% achieved for
93 am::collection, 89.3% overall)
95 0.16.0 Thu Mar 29 19:04:34 CEST 2007
96 - script to listen your music endlessly: mpd-dynamic
100 0.15.4 Tue Mar 27 18:42:58 CEST 2007
101 - AM::Test more robust regarding fake mpd startup
102 - AM::Test quicker if no tests performed
103 - new methods in AM::Collection:
104 . songs_with_filename_partial()
105 . songs_by_artist_partial()
106 . songs_from_album_partial()
107 . songs_with_title_partial()
109 0.15.3 Wed Mar 21 18:08:06 CET 2007
110 - requiring perl 5.8.x minimum
112 0.15.2 Tue Mar 20 17:24:59 CET 2007
113 - fixed bug #25553 (on rt.cpan.org)
115 0.15.1 Sun Mar 18 19:06:57 CET 2007
116 - added Readonly as prereq
118 0.15.0 Sat Mar 17 17:49:50 CET 2007
119 - implementation of Audio::MPD::Collection: this class will act as the entry
120 point to look up in mpd's collection
121 - thus, following AM methods removed (see AM::Collection for the replacement):
128 - now that AM::Collection is here, AM's test coverage is up to 82.5% \o/
132 0.14.0 Sat Mar 17 13:29:57 CET 2007
133 - implementation of Audio::MPD::Item: instead of returning some random hash
134 reference, Audio::MPD now returns AMI objects.
136 . get_current_song() -> current()
137 . get_song_info() -> song()
138 . get_song_info_from_id() -> songid()
139 . get_title() -> AMI::Song::as_string()
140 . pl_changes() -> pl_changes()
141 - pl_changes() now return an array ref instead of a hash with positions as key
142 - test coverage of Audio::MPD up to 66.5%
146 0.13.5 Thu Mar 8 20:22:32 CET 2007
147 - get_urlhandlers() renamed to urlhandlers()
148 - seekid() defaults to current song
150 - test coverage of Audio::MPD up to 36.1%
152 0.13.4 Tue Mar 6 20:05:21 CET 2007
153 - new method password() to change mpd password
154 - bug fix in deleteid() (was issuing "delete") and crop() (should be done in
155 reverse order to keep mpd happy)
156 - test coverage of Audio::MPD up to 36.1%
158 0.13.3 Sun Mar 4 19:30:24 CET 2007
159 - bug fix on volume() method
161 0.13.2 Sun Mar 4 10:17:50 CET 2007
162 - Makefile.PL now uses ExtUtils::MakeMaker instead of perverting Module::Builder
163 - bugfix in play() / playid()
164 - testing Audio::MPD::Status up to 100%
165 - testing Audio::MPD = 24.5%
168 - status() now returns an Audio::MPD::Status object, for better encapsulation
169 - added dependancy on Class::Accessor
171 0.13.0 Fri Mar 2 12:55:38 CET 2007
172 - connection completely reworked to get rid of the most obvious problems
173 note: this does not mean that we're completely clean, but at least it's
174 better than what it was.
175 - is_connected() and close_connection() are no more needed, and thus removed
176 - error handling is now done via die - get_error() is gone
177 - play(), delete(), move(), get_song_info(), seek() & swap() do not accept a
178 third fromid parameter anymore
179 - pause() now toggle pause status if no parameter is sent
181 . kill_mpd() -> kill()
182 . get_server_version() -> version()
183 . set_fade() -> fade()
184 . set_random() -> random()
185 . set_repeat() -> repeat()
186 . set_volume() -> volume()
187 - new methods: stats(), status()
188 - delete() and deleteid() can take more than one song to delete
192 0.12.4 Thu Jan 25 21:52:05 CET 2007 [JQ]
193 - grouped pod in sections for easier reading
194 - corrected pod typos here and there
195 - added contact information
196 - new tests for pod correctness and pod coverage
197 - added missing pod for 3 subs
199 0.12.3 (Nicholas J Humfrey)
200 - Added Makefile.PL support
202 0.12.2 (Nicholas J Humfrey)
203 - Fixed bug in parsing parmeters in pause()
205 0.12.0-rc7+njh (Nicholas J Humfrey)
206 - Moved $sock and @playlists into object so that you can talk to
207 multiple MPDs in the same script.
208 - Added Module::Build based build/install system
209 - Changed namespace to Audio::MPD so that it can be added to CPAN
211 - Changing 'END' handler to 'DESTROY'
212 - Changed <$sock> to $sock->getline
213 - Changed print $sock "foo" to $sock->print("foo")
214 - Corrected pause() so that it didn't use depricated lack of argument
215 - Added optional path parameter to updatedb()
218 - better password-handling, including possibility to connect to
219 password@mpdhost (William Pettersson)
220 - made get_time_info work, and added more to the output
221 - made ALLOW_TOGGLE_STATES 1 by default
224 - get_song_info() now uses current song, if none is specified
225 - mpc.pl now says that 'seek' is in seconds instead of percentage
226 - Fixed bug in close()
227 - Removed warn() in _get_playlist()
228 - Made MPD.pm more backwards compatible (Martin Stolle)
229 - Added get_current_song_info() (Martin Stolle)
230 - Made internal sub _process_feedback() more robust (Martin Stolle)
231 - Update get_title() to be more flexible (Martin Stolle)
233 0.12.0-rc5 (No more fires!-release)
234 - Fixed bug in save() (Laurent Monrouzies)
235 - Removed annoying line in set_random() (Dale Francum)
236 - Added get_time_info (Thanks Dale Francum)
237 - Removed 'use Data::Dumper;' from mpc.pl and MPD.pm
238 - Added support for new MPD-functions:
239 'outputs', 'enableoutputs', 'disableoutputs', 'commands' and 'notcommands'
240 - Fixed bug in get_title() where old title would get returned
241 - Fixed bug where playlist was not updated (hannes)
242 - Added playlist_changes() so clients can update their playlist (hannes)
243 - Updated _get_playlist() (hannes)
246 - Old bug where $playlist[0] contained undef removed again :)
247 - crop() function added (removes all songs but the playing)
248 - Fixed some bugs and errorhandling in mpc.pl
251 - (almost) total rewrite of module
254 - Changed default port to 6600
255 - Removed UNPAUSE_ON_PLAY setting, as this is now default in MPD
256 - Added urlhandlers()
259 - Bugfixes in mpc.pl (playlist() and volume())
260 - Updated ACK-error handling (geterror() changed, seterror() added)
261 - Add 'plchanges'-support in getplaylist()
262 - Added $config{'ALLOW_TOGGLE_STATES'}
263 - Added deleteid() / moveid() / playid() / seekid() / swapid()
264 - Removed deprecated 'unpause-on-play'-code
272 - Major speedup. Playlist was fetched way too many times
273 - Another major speedup. Playlist is now only fetched when needed!
274 - Added %config, for changing default behavior
275 - Old $number-- in play() was removed.
276 - Stupid bug where last song was not saved in @playlist removed
277 - Rewrote searchadd() to utilize 'command_list_begin'/'command_list_end'
279 - Fixed bug where search() didn't return the last song found
280 - Small rewrite in setrepeat() and setrandom()
282 - Fixed bugs and bugs and bugs and bugs
284 - Rewrote all pod-documentation
286 - Removed 'unfinished subs' and 'todo'
287 - Probably more stuff
290 - Changed @playlist syntax ($pl[song-number]{info-to-get} eg. $pl[42]{'file'})
291 - Removed deprecated getsonginfo()
292 - Moved gettitle() and gettimeformat() to 'Custom subs'
293 - Altered gettitle()'s errorhandling a bit
296 - Made getsonginfo() return a hash instead of an array
297 - Streamlined add()/delete()/move()/swap()
298 - Made (almost) all functions undef on succes and 1 on error. Last error can
299 be retrieved by $self->geterror()
300 - search() now accepts filenames too (thanks sbh)
301 - delete() can take ranges (thanks sbh)
302 - Added the 'Custom functions'-part
303 - Added searchadd() (thanks sbh)
308 - Fixed bug where last song on playlist was not present
309 - Made getstatus() call playlistinfo if playlist had changed
310 - Implemented getsonginfo() for returning information from @playlist (Thanks msells)
311 - Added $self->{module_version}
312 - Empties @playlist, when renewing it
313 - A bit of optimizing and cleanup around getplaylist (Thanks msells)
316 - Fixed error in add()-comments
317 - Moved $host and $port parameter to new() - It finally works!
320 - Added nextinfo() and changed lsinfo() and listallinfo()
321 - Changed version-numbering to fit MPD standards