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.0 Thu Nov 29 20:10:18 CET 2007
23 - changed constructor api: using a hash for options instead of
25 - new conntype param for constructor to change the way connection is
27 - MPD_HOST env var supports password@host
28 - mpd-dynamic daemonizes after mpd connection to trap problems
32 0.18.3 Mon Nov 26 12:51:40 CET 2007
33 - kwalitee/cpants release
35 0.18.2 Tue Nov 13 20:20:59 CET 2007
36 - fixing bug 29232 (courtesy of David Bitseff)
38 0.18.1 Thu May 31 20:57:47 CEST 2007
39 - fixing mantis bug #556: support for multiple $path in playlist->add
41 0.18.0 Wed May 30 12:29:11 CEST 2007
42 - moved to perl license
43 - using common classes outsourced in audio::mpd::common, namely: item*,
44 stats, status and time.
45 - new methods AM::Collection::all_songs()
49 0.17.2 Sun Apr 8 15:35:43 CEST 2007
50 - introducing AM::Stats for better encapsulation
52 0.17.1 Sun Apr 8 12:23:53 CEST 2007
53 - introducing AM::Time for better encapsulation
54 - thus, removed get_time_info() and get_time_format()
55 - test coverage up to 100% \o/
57 0.17.0 Fri Apr 6 16:54:07 CEST 2007
58 - introducing AM::Playlist for better segregation of playlist handling
59 - completed tests to cover all playlist operations, AM is now 95.1% covered
63 0.16.2 Tue Apr 3 19:02:29 CEST 2007
64 - utf-8 support generalized
66 0.16.1 Mon Apr 2 18:26:17 CEST 2007
67 - new internal _cooked_command_*() methods, allowing for better code
68 factorization - and thus, better code coverage (100% achieved for
69 am::collection, 89.3% overall)
71 0.16.0 Thu Mar 29 19:04:34 CEST 2007
72 - script to listen your music endlessly: mpd-dynamic
76 0.15.4 Tue Mar 27 18:42:58 CEST 2007
77 - AM::Test more robust regarding fake mpd startup
78 - AM::Test quicker if no tests performed
79 - new methods in AM::Collection:
80 . songs_with_filename_partial()
81 . songs_by_artist_partial()
82 . songs_from_album_partial()
83 . songs_with_title_partial()
85 0.15.3 Wed Mar 21 18:08:06 CET 2007
86 - requiring perl 5.8.x minimum
88 0.15.2 Tue Mar 20 17:24:59 CET 2007
89 - fixed bug #25553 (on rt.cpan.org)
91 0.15.1 Sun Mar 18 19:06:57 CET 2007
92 - added Readonly as prereq
94 0.15.0 Sat Mar 17 17:49:50 CET 2007
95 - implementation of Audio::MPD::Collection: this class will act as the entry
96 point to look up in mpd's collection
97 - thus, following AM methods removed (see AM::Collection for the replacement):
104 - now that AM::Collection is here, AM's test coverage is up to 82.5% \o/
108 0.14.0 Sat Mar 17 13:29:57 CET 2007
109 - implementation of Audio::MPD::Item: instead of returning some random hash
110 reference, Audio::MPD now returns AMI objects.
112 . get_current_song() -> current()
113 . get_song_info() -> song()
114 . get_song_info_from_id() -> songid()
115 . get_title() -> AMI::Song::as_string()
116 . pl_changes() -> pl_changes()
117 - pl_changes() now return an array ref instead of a hash with positions as key
118 - test coverage of Audio::MPD up to 66.5%
122 0.13.5 Thu Mar 8 20:22:32 CET 2007
123 - get_urlhandlers() renamed to urlhandlers()
124 - seekid() defaults to current song
126 - test coverage of Audio::MPD up to 36.1%
128 0.13.4 Tue Mar 6 20:05:21 CET 2007
129 - new method password() to change mpd password
130 - bug fix in deleteid() (was issuing "delete") and crop() (should be done in
131 reverse order to keep mpd happy)
132 - test coverage of Audio::MPD up to 36.1%
134 0.13.3 Sun Mar 4 19:30:24 CET 2007
135 - bug fix on volume() method
137 0.13.2 Sun Mar 4 10:17:50 CET 2007
138 - Makefile.PL now uses ExtUtils::MakeMaker instead of perverting Module::Builder
139 - bugfix in play() / playid()
140 - testing Audio::MPD::Status up to 100%
141 - testing Audio::MPD = 24.5%
144 - status() now returns an Audio::MPD::Status object, for better encapsulation
145 - added dependancy on Class::Accessor
147 0.13.0 Fri Mar 2 12:55:38 CET 2007
148 - connection completely reworked to get rid of the most obvious problems
149 note: this does not mean that we're completely clean, but at least it's
150 better than what it was.
151 - is_connected() and close_connection() are no more needed, and thus removed
152 - error handling is now done via die - get_error() is gone
153 - play(), delete(), move(), get_song_info(), seek() & swap() do not accept a
154 third fromid parameter anymore
155 - pause() now toggle pause status if no parameter is sent
157 . kill_mpd() -> kill()
158 . get_server_version() -> version()
159 . set_fade() -> fade()
160 . set_random() -> random()
161 . set_repeat() -> repeat()
162 . set_volume() -> volume()
163 - new methods: stats(), status()
164 - delete() and deleteid() can take more than one song to delete
168 0.12.4 Thu Jan 25 21:52:05 CET 2007 [JQ]
169 - grouped pod in sections for easier reading
170 - corrected pod typos here and there
171 - added contact information
172 - new tests for pod correctness and pod coverage
173 - added missing pod for 3 subs
175 0.12.3 (Nicholas J Humfrey)
176 - Added Makefile.PL support
178 0.12.2 (Nicholas J Humfrey)
179 - Fixed bug in parsing parmeters in pause()
181 0.12.0-rc7+njh (Nicholas J Humfrey)
182 - Moved $sock and @playlists into object so that you can talk to
183 multiple MPDs in the same script.
184 - Added Module::Build based build/install system
185 - Changed namespace to Audio::MPD so that it can be added to CPAN
187 - Changing 'END' handler to 'DESTROY'
188 - Changed <$sock> to $sock->getline
189 - Changed print $sock "foo" to $sock->print("foo")
190 - Corrected pause() so that it didn't use depricated lack of argument
191 - Added optional path parameter to updatedb()
194 - better password-handling, including possibility to connect to
195 password@mpdhost (William Pettersson)
196 - made get_time_info work, and added more to the output
197 - made ALLOW_TOGGLE_STATES 1 by default
200 - get_song_info() now uses current song, if none is specified
201 - mpc.pl now says that 'seek' is in seconds instead of percentage
202 - Fixed bug in close()
203 - Removed warn() in _get_playlist()
204 - Made MPD.pm more backwards compatible (Martin Stolle)
205 - Added get_current_song_info() (Martin Stolle)
206 - Made internal sub _process_feedback() more robust (Martin Stolle)
207 - Update get_title() to be more flexible (Martin Stolle)
209 0.12.0-rc5 (No more fires!-release)
210 - Fixed bug in save() (Laurent Monrouzies)
211 - Removed annoying line in set_random() (Dale Francum)
212 - Added get_time_info (Thanks Dale Francum)
213 - Removed 'use Data::Dumper;' from mpc.pl and MPD.pm
214 - Added support for new MPD-functions:
215 'outputs', 'enableoutputs', 'disableoutputs', 'commands' and 'notcommands'
216 - Fixed bug in get_title() where old title would get returned
217 - Fixed bug where playlist was not updated (hannes)
218 - Added playlist_changes() so clients can update their playlist (hannes)
219 - Updated _get_playlist() (hannes)
222 - Old bug where $playlist[0] contained undef removed again :)
223 - crop() function added (removes all songs but the playing)
224 - Fixed some bugs and errorhandling in mpc.pl
227 - (almost) total rewrite of module
230 - Changed default port to 6600
231 - Removed UNPAUSE_ON_PLAY setting, as this is now default in MPD
232 - Added urlhandlers()
235 - Bugfixes in mpc.pl (playlist() and volume())
236 - Updated ACK-error handling (geterror() changed, seterror() added)
237 - Add 'plchanges'-support in getplaylist()
238 - Added $config{'ALLOW_TOGGLE_STATES'}
239 - Added deleteid() / moveid() / playid() / seekid() / swapid()
240 - Removed deprecated 'unpause-on-play'-code
248 - Major speedup. Playlist was fetched way too many times
249 - Another major speedup. Playlist is now only fetched when needed!
250 - Added %config, for changing default behavior
251 - Old $number-- in play() was removed.
252 - Stupid bug where last song was not saved in @playlist removed
253 - Rewrote searchadd() to utilize 'command_list_begin'/'command_list_end'
255 - Fixed bug where search() didn't return the last song found
256 - Small rewrite in setrepeat() and setrandom()
258 - Fixed bugs and bugs and bugs and bugs
260 - Rewrote all pod-documentation
262 - Removed 'unfinished subs' and 'todo'
263 - Probably more stuff
266 - Changed @playlist syntax ($pl[song-number]{info-to-get} eg. $pl[42]{'file'})
267 - Removed deprecated getsonginfo()
268 - Moved gettitle() and gettimeformat() to 'Custom subs'
269 - Altered gettitle()'s errorhandling a bit
272 - Made getsonginfo() return a hash instead of an array
273 - Streamlined add()/delete()/move()/swap()
274 - Made (almost) all functions undef on succes and 1 on error. Last error can
275 be retrieved by $self->geterror()
276 - search() now accepts filenames too (thanks sbh)
277 - delete() can take ranges (thanks sbh)
278 - Added the 'Custom functions'-part
279 - Added searchadd() (thanks sbh)
284 - Fixed bug where last song on playlist was not present
285 - Made getstatus() call playlistinfo if playlist had changed
286 - Implemented getsonginfo() for returning information from @playlist (Thanks msells)
287 - Added $self->{module_version}
288 - Empties @playlist, when renewing it
289 - A bit of optimizing and cleanup around getplaylist (Thanks msells)
292 - Fixed error in add()-comments
293 - Moved $host and $port parameter to new() - It finally works!
296 - Added nextinfo() and changed lsinfo() and listallinfo()
297 - Changed version-numbering to fit MPD standards