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