mpd version 0.15.10
[mpd-mk.git] / NEWS
blobca4e7ecc444960c815fdc6c9f82eb31af6890c98
1 ver 0.15.10 (2010/05/30)
2 * input:
3   - mms: fix memory leak in error handler
4   - mms: initialize the "eof" attribute
5 * decoders:
6   - mad: properly calculate ID3 size without libid3tag
9 ver 0.15.9 (2010/03/21)
10 * decoders:
11   - mad: fix crash when seeking at end of song
12   - mpcdec: fix negative shift on fixed-point samples
13   - mpcdec: fix replay gain formula with v8
14 * playlist: fix single+repeat in random mode
15 * player: postpone song tags during cross-fade
18 ver 0.15.8 (2010/01/17)
19 * input:
20   - curl: allow rewinding with Icy-Metadata
21 * decoders:
22   - ffmpeg, flac, vorbis: added more flac/vorbis MIME types
23   - ffmpeg: enabled libavformat's file name extension detection
24 * dbUtils: return empty tag value only if no value was found
25 * decoder_thread: fix CUE track playback
26 * queue: don't repeat current song in consume mode
29 ver 0.15.7 (2009/12/27)
30 * archive:
31   - close archive when stream is closed
32   - iso, zip: fixed memory leak in destructor
33 * input:
34   - file: don't fall back to parent directory
35   - archive: fixed memory leak in error handler
36 * tags:
37   - id3: fix ID3v1 charset conversion
38 * decoders:
39   - eliminate jitter after seek failure
40   - ffmpeg: don't try to force stereo
41   - wavpack: allow fine-grained seeking
42 * mixer: explicitly close all mixers on shutdown
43 * mapper: fix memory leak when playlist_directory is not set
44 * mapper: apply filesystem_charset to playlists
45 * command: verify playlist name in the "rm" command
46 * database: return multiple tag values per song
49 ver 0.15.6 (2009/11/18)
50 * input:
51   - lastfm: fixed variable name in GLib<2.16 code path
52   - input/mms: require libmms 0.4
53 * archive:
54   - zzip: require libzzip 0.13
55 * tags:
56   - id3: allow 4 MB RIFF/AIFF tags
57 * decoders:
58   - ffmpeg: convert metadata
59   - ffmpeg: align the output buffer
60   - oggflac: rewind stream after FLAC detection
61   - flac: fixed CUE seeking range check
62   - flac: fixed NULL pointer dereference in CUE code
63 * output_thread: check again if output is open on PAUSE
64 * update: delete ignored symlinks from database
65 * database: increased maximum line length to 32 kB
66 * sticker: added fallback for sqlite3_prepare_v2()
69 ver 0.15.5 (2009/10/18)
70 * input:
71   - curl: don't abort if a packet has only metadata
72   - curl: fixed endless loop during buffering
73 * tags:
74   - riff, aiff: fixed "limited range" gcc warning
75 * decoders:
76   - flac: fixed two memory leaks in the CUE tag loader
77 * decoder_thread: change the fallback decoder name to "mad"
78 * output_thread: check again if output is open on CANCEL
79 * update: fixed memory leak during container scan
82 ver 0.15.4 (2009/10/03)
83 * decoders:
84   - vorbis: revert "faster tag scanning with ov_test_callback()"
85   - faad: skip assertion failure on large ID3 tags
86   - ffmpeg: use the "artist" tag if "author" is not present
87 * output:
88   - osx: fix the OS X 10.6 build
91 ver 0.15.3 (2009/08/29)
92 * decoders:
93   - vorbis: faster tag scanning with ov_test_callback()
94 * output:
95   - fix stuttering due to uninitialized variable
96 * update: don't re-read unchanged container files
99 ver 0.15.2 (2009/08/15)
100 * tags:
101   - ape: check the tag size (fixes integer underflow)
102   - ape: added protection against large memory allocations
103 * decoders:
104   - mad: skip ID3 frames when libid3tag is disabled
105   - flac: parse all replaygain tags
106   - flac: don't allocate cuesheet twice (memleak)
107 * output:
108   - shout: fixed stuck pause bug
109   - shout: minimize the unpause latency
110 * update: free empty path string (memleak)
111 * update: free temporary string in container scan (memleak)
112 * directory: free empty directories after removing them (memleak)
115 ver 0.15.1 (2009/07/15)
116 * decoders:
117   - flac: fix assertion failure in tag_free() call
118 * output:
119   - httpd: include sys/types.h (fixes Mac OS X)
120 * commands:
121   - don't resume playback when stopping during pause
122 * database: fixed NULL pointer dereference after charset change
123 * log: fix double free() bug during shutdown
126 ver 0.15 (2009/06/23)
127 * input:
128   - parse Icy-Metadata
129   - added support for the MMS protocol
130   - hide HTTP password in playlist
131   - lastfm: new input plugin for last.fm radio (experimental and incomplete!)
132   - curl: moved proxy settings to "input" block
133 * tags:
134   - support the "album artist" tag
135   - support MusicBrainz tags
136   - parse RVA2 tags in mp3 files
137   - parse ID3 tags in AIFF/RIFF/WAV files
138   - ffmpeg: support new metadata API
139   - ffmpeg: added support for the tags comment, genre, year
140 * decoders:
141   - audiofile: streaming support added
142   - audiofile: added 24 bit support
143   - modplug: another MOD plugin, based on libmodplug
144   - mikmod disabled by default, due to severe security issues in libmikmod
145   - sidplay: new decoder plugin for C64 SID (using libsidplay2)
146   - fluidsynth: new decoder plugin for MIDI files (using libfluidsynth,
147     experimental due to shortcomings in libfluidsynth)
148   - wildmidi: another decoder plugin for MIDI files (using libwildmidi)
149   - flac: parse stream tags
150   - mpcdec: support the new libmpcdec SV8 API
151   - added configuration option to disable decoder plugins
152   - flac: support embedded cuesheets
153   - ffmpeg: updated list of supported formats
154 * audio outputs:
155   - added option to disable audio outputs by default
156   - wait 10 seconds before reopening after play failure
157   - shout: enlarged buffer size to 32 kB
158   - null: allow disabling synchronization
159   - mvp: fall back to stereo
160   - mvp: fall back to 16 bit audio samples
161   - mvp: check for reopen errors
162   - mvp: fixed default device detection
163   - pipe: new audio output plugin which runs a command
164   - alsa: better period_time default value for high sample rates
165   - solaris: new audio output plugin for Solaris /dev/audio
166   - httpd: new audio output plugin for web based streaming, similar to icecast
167      but built in.
168 * commands:
169   - "playlistinfo" and "move" supports a range now
170   - added "sticker database", command "sticker", which allows clients
171      to implement features like "song rating"
172   - added "consume" command which removes a song after play
173   - added "single" command, if activated, stops playback after current song or
174      repeats the song if "repeat" is active.
175 * mixers:
176   - rewritten mixer code to support multiple mixers
177   - new pulseaudio mixer
178   - alsa: new mixer_index option supports choosing between multiple
179     identically-named controls on a device.
180 * Add audio archive extraction support:
181   - bzip2
182   - iso9660
183   - zip
184 * the option "error_file" was removed, all messages are logged into
185    "log_file"
186 * support logging to syslog
187 * fall back to XDG music directory if no music_directory is configured
188 * failure to read the state file is non-fatal
189 * --create-db starts the MPD daemon instead of exiting
190 * playlist_directory and music_directory are optional
191 * playlist: recalculate the queued song after random is toggled
192 * playlist: don't unpause on delete
193 * pause when all audio outputs fail to play
194 * daemon: ignore "user" setting if already running as that user
195 * listen: fix broken client IP addresses in log
196 * listen: bind failure on secondary address is non-fatal
197 * 24/32 bit audio support
198 * print available protocols in --version
199 * fill buffer after seeking
200 * choose the fallback resampler at runtime
201 * steps taken towards win32 compatibility
202 * require glib 2.6 or greater
203 * built-in documentation using doxygen and docbook
206 ver 0.14.2 (2009/02/13)
207 * configure.ac:
208   - define HAVE_FFMPEG after all checks
209 * decoders:
210   - ffmpeg: added support for the tags comment, genre, year
211   - ffmpeg: don't warn of empty packet output
212   - ffmpeg: check if the time stamp is valid
213   - ffmpeg: fixed seek integer overflow
214   - ffmpeg: enable WAV streaming
215   - ffmpeg: added TTA support
216   - wavpack: pass NULL if the .wvc file fails to open
217   - mikmod: call MikMod_Exit() only in the finish() method
218   - aac: fix stream metadata
219 * audio outputs:
220   - jack: allocate ring buffers before connecting
221   - jack: clear "shutdown" flag on reconnect
222   - jack: reduced sleep time to 1ms
223   - shout: fixed memory leak in the mp3 encoder
224   - shout: switch to blocking mode
225   - shout: use libshout's synchronization
226   - shout: don't postpone metadata
227   - shout: clear buffer before calling the encoder
228 * mapper: remove trailing slashes from music_directory
229 * player: set player error when output device fails
230 * update: recursively purge deleted directories
231 * update: free deleted subdirectories
233 ver 0.14.1 (2009/01/17)
234 * decoders:
235   - mp4: support the writer/composer tag
236   - id3: strip leading and trailing whitespace from ID3 tags
237   - oggvorbis: fix tremor support
238   - oggvorbis: disable seeking on remote files
239 * audio outputs:
240   - jack: allocate default port names (fixes a crash)
241 * update:
242   - refresh stats after update
243   - save the database even if it is empty
244 * input_curl:
245   - use select() to eliminate busy loop during connect
246   - honour http_proxy_* config directives
247   - fix assertion failure on "connection refused"
248   - fix assertion failure with empty HTTP responses
249 * corrected the sample calculation in the fallback resampler
250 * log: automatically append newline
251 * fix setenv() conflict on Solaris
252 * configure.ac: check for pkg-config before using it
253 * fix minor memory leak in decoder_tag()
254 * fix cross-fading bug: it used to play some chunks of the new song twice
255 * playlist
256   - fix assertion failure during playlist load
257   - implement Fisher-Yates shuffle properly
258   - safely search the playlist for deleted song
259 * use custom PRNG for volume dithering (speedup)
260 * detect libid3tag without pkg-config
262 ver 0.14 (2008/12/25)
263 * audio outputs:
264   - wait 10 seconds before reopening a failed device
265   - fifo: new plugin
266   - null: new plugin
267   - shout: block while trying to connect instead of failing
268   - shout: new timeout parameter
269   - shout: support mp3 encoding and the shoutcast protocol
270   - shout: send silence during pause, so clients don't get disconnected
271 * decoders:
272   - ffmpeg: new plugin
273   - wavpack: new plugin
274   - aac: stream support added
275   - mod: disabled by default due to critical bugs in all libmikmod versions
276 * commands:
277   - "addid" takes optional second argument to specify position
278   - "idle" notifies the client when a notable change occurs
279 * Zeroconf support using Bonjour
280 * New zeroconf_enabled option so that Zeroconf support can be disabled
281 * Stop the player/decode processes when not playing to allow the CPU to sleep
282 * Fix a bug where closing an ALSA dmix device could cause MPD to hang
283 * Support for reading ReplayGain from LAME tags on MP3s
284 * MPD is now threaded, which greatly improves performance and stability
285 * memory usage reduced by merging duplicate tags in the database
286 * support connecting via unix domain socket
287 * allow authenticated local users to add any local file to the playlist
288 * 24 bit audio support
289 * optimized PCM conversions and dithering
290 * much code has been replaced by using GLib
291 * the HTTP client has been replaced with libcurl
292 * symbolic links in the music directory can be disabled; the default
293   is to ignore symlinks pointing outside the music directory
295 ver 0.13.0 (2007/5/28)
296 * New JACK audio output
297 * Support for "file" as an alternative to "filename" in search, find, and list
298 * FLAC 1.1.3 API support
299 * New playlistadd command for adding to stored playlists
300 * New playlistclear command for clearing stored playlists
301 * Fix a bug where "find any" and "list <type> any" wouldn't return any results
302 * Make "list any" return an error instead of no results and an OK
303 * New gapless_mp3_playback option to disable gapless MP3 playback
304 * Support for seeking HTTP streams
305 * Zeroconf support using Avahi
306 * libsamplerate support for high quality audio resampling
307 * ID3v2 "Original Artist/Performer" tag support
308 * New playlistsearch command for searching the playlist (similar to "search")
309 * New playlistfind command for finding songs in the playlist (similar to "find")
310 * libmikmod 3.2.0 beta support
311 * New tagtypes command for retrieving a list of available tag types
312 * Fix a bug where no ACK was returned if loading a playlist failed
313 * Fix a bug where db_update in stats would be 0 after initial database creation
314 * New count command for getting stats on found songs (similar to "find")
315 * New playlistmove command for moving songs in stored playlists
316 * New playlistdelete command for deleting songs from stored playlists
317 * New rename command for renaming stored playlists
318 * Increased default buffer_before_play from 0% to 10% to prevent skipping
319 * Lots of bug fixes, cleaned up code, and performance improvements
321 ver 0.12.2 (2007/3/20)
322 * Fix a bug where clients could cause MPD to segfault
324 ver 0.12.1 (2006/10/10)
325 * Fix segfault when scanning an MP3 that has a Xing tag with 0 frames
326 * Fix segfault when there's no audio output specified and one can't be detected
327 * Fix handling of escaping in quotes
328 * Allow a quality of -1 to be specified for shout outputs
329 * A few minor cleanups
331 ver 0.12.0 (2006/9/22)
332 * New audio output code which supports:
333   * A plugin-like architecture
334   * Non-libao ("native") outputs:
335     * ALSA
336     * OSS
337     * OS X
338     * Media MVP
339     * PulseAudio
340     * Shout (Icecast or Shoutcast)
341   * Playing through multiple outputs at once
342   * Enabling/disabling outputs while MPD is running
343   * Saving output state (enabled/disabled) to the state_file
344 * OggFLAC support
345 * Musepack support
346 * Gapless MP3 playback
347 * MP3 ReplayGain support (using ID3v2 tags only)
348 * Support for MP2 files if MP3 support is enabled
349 * Composer, Performer, Comment, and Disc metadata support
350 * New outputs command for listing available audio outputs
351 * New enableoutput and disableoutput commands for enabling/disabling outputs
352 * New plchangesposid command for a stripped down version of plchanges
353 * New addid command for adding to the playlist and returning a song ID
354 * New commands and notcommands commands for checking available commands
355 * Can now specify any supported metadata type or "any" in search, find, and list
356 * New volume_normalization parameter for enabling Audio Compress normalization
357 * New metadata_to_use parameter for choosing supported metadata types
358 * New pid_file parameter for saving the MPD process ID to the specified file
359 * The db_file parameter is now required
360 * The port parameter is now optional (defaults to 6600)
361 * Can specify bind_to_address multiple times
362 * New --kill argument for killing MPD if pid_file is specified
363 * Removed --update-db argument (use the update function in your client instead)
364 * New mpdconf.example
365 * New mpd.conf man page 
366 * Removed bundled libmad and libid3tag
367 * Lots of bug fixes, cleaned up code, and performance improvements
369 ver 0.11.5 (2004/11/1)
370 1) New id3v1_encoding config option to configure the id3v1 tag encoding (patch
371 from dottedmag)
372 2) Strip '\r' from m3u playlists (thank you windows)
373 3) Use random() instead of rand() for playlist randomizing
374 4) Fix a bug trying skipping some commented lines in m3u playlist files
375 5) Fix a bug when fetching metadata from streams that may cause certain
376 weirdnesses
377 6) Fix a bug where replaygain preamp was used on files w/o replaygain tags
378 7) Fix a busy loop when trying to prebuffer a nonexistant or missing stream
379 8) Fix a bug in forgetting to remove leading ' ' in content-type for http
380 streams
381 9) Check for ice-name in http headers
382 10) Be sure the strip all '\n' chars in tags
383 11) Set $HOME env variable when setuid'ing, this should fix the /root/.mcop
384 errors triggered by arts/libao
386 ver 0.11.4 (2004/7/26)
387 1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags
388 2) Fixed a memory leak when encountering id3v2 tags in mp3 decoder
390 ver 0.11.3 (2004/7/21)
391 1) Add support for http authentication for streams
392 2) Added replaygain pre-amp support
393 3) Better error handling for fread() in inputStream_file
394 4) Fixed a bug so that when a freeAllInterfaces is called, it sets
395 max_interface_connections to 0.  This prevents potential segfaults and other
396 nastiness for forked processes, like the player and update-er (do to
397 interfacePrintWithFD()).
398 5) Allow blockingWrite() to handle errors more gracefully (for example, if the
399 disc is full, and thus the write() fails or can't be completed, we just skip
400 this write() and continue, instead of getting stuck in an infinite loop until
401 the write() becomes successful)
402 6) Updated mpdconf.example from sbh/avuton
403 7) If "user" is specified, then convert ~ in paths to the user's home path
404 specified by "user" config paramter (not the actual current user running mpd).
406 ver 0.11.2 (2004/7/5) 
407 1) Work around in computing total time for mp3's whose first valid mpeg frame is
408 not layer III
409 2) Fix mp3 and mp4 decoders when seeking past the end of the file
410 3) Fix replaygain for flac and vorbis
411 4) Fix memory leaks in flac decoder (from normalperson)
412 5) Fix Several other bugs in playlist.c and directory.c (from normalperson)
414 ver 0.11.1 (2004/6/24)
415 1) Fix a bug that caused "popping" at the beginning of mp3's
416 2) Fix playlistid command
417 3) Fix move commands so they don't mess up the song id's
418 4) Added support for HTTP Proxy
419 5) Detect and skip recursive links in the music directory
420 6) Fix addPathToDB() so updating on a specific path doesn't exist correctly adds
421 the parent directories to the DB
423 ver 0.11.0 (2004/6/18)
424 1) Support for playing mp3 and Ogg Vorbis streams
425 2) Non-blocking Update
426 3) Replaygain support for Ogg Vorbis and FLAC (by Eric Moore aka AliasMrJones)
427 4) audio_output_format option that allows for all audio output to be converted
428 to a format compatible with any sound card
429 5) Own routines for to always support UTF-8 <-> ISO-8859-1 conversion
430 6) Added "Id" and "Pos" metadata for songs in playlist
431 7) Added commands: plchanges, currentsong, playid, seekid, playlistid, moveid,
432 swapid, deleteid
433 8) UTF-8 validation of all tags
434 9) Update specific files/directories (for fast, incremental updating)
435 10) Added ACK error codes
436 11) Mod file support
437 12) Added command_list_ok_begin
438 13) Play after stop resumes from last position in the playlist
439 14) Play while pause resumes playback
440 15) Better signal handling by mackstann
441 16) Cleanup decoder interface (now called InputPlugins)
442 17) --create-db no long starts the daemon
443 18) --no-daemon outputs to log files
444 19) --stdout sends output to stdout/stderr
445 20) Default port is now 6600
446 21) Lots of other cleanups and Bugfixes
448 ver 0.10.4 (2004/5/26)
449 1) Fix configure problems on OpenBSD with langinfo and iconv
450 2) Fix an infinte loop when writing to an interface and it has expired
451 3) Fix a segfault in decoding flac's
452 4) Ingore CRC stuff in mp3's since some encoders did not compute the CRC
453 correctly
454 5) Fix a segfault in processing faulty mp4 metadata
456 ver 0.10.3 (2004/4/2)
457 1) Fix a segfault when a blanck line is sent from a client
458 2) Fix for loading playlists on platforms where char is unsigned
459 3) When pausing, release audio device after we say pause is successful (this
460 makes pause appear to not lag)
461 4) When returning errors for unknown types by player, be sure to copy the
462 filename
463 5) add --disable-alsa for disabling alsa mixer support
464 6) Use select() for a portable usleep()
465 7) For alsa mixer, default to "Master' element, not first element
467 ver 0.10.2 (2004/3/25)
468 1) Add suport for AAC
469 2) Substitute '\n' with ' ' in tag info
470 3) Remove empty directories from db
471 4) Resume from current position in song when using state file
472 5) Pause now closes the music device, and reopens it on resuming
473 6) Fix unnecessary big endian byte swapping
474 7) If locale is "C" or "POSIX", then use ISO-8859-1 as the fs charset
475 8) Fix a bug where alsa mixer wasn't detecting volume changes
476 9) For alsa and software mixer, show volume to be the same as it was set (even
477 if its not the exact volume)
478 10) Report bitrate for wave files
479 11) Compute song length of CBR mp3's more accurately
481 ver 0.10.1 (2004/3/7)
482 1) Check to see if we need to add "-lm" when linking mpd
483 2) Fix issues with skipping bad frames in an mp3 (this way we get the correct
484 samplerate and such)
485 3) Fix crossfading bug with ogg's
486 4) Updated libmad and libid3tag included w/ source to 0.15.1b
488 ver 0.10.0 (2004/3/3)
489 1) Use UTF-8 for all client communications
490 2) Crossfading support
491 3) Password Authentication (all in plaintext)
492 4) Software mixer
493 5) Buffer Size is configurable
494 6) Reduced Memory consumption (use directory tree for search and find)
495 7) Bitrate support for Flac
496 8) setvol command (deprecates volume command)
497 9) add command takes directories
498 10) Path's in config file now work with ~
499 11) Add samplerate,bits, and channels to status
500 12) Reenable playTime in stats display
501 13) Fix a segfault when doing: add ""
502 14) Fix a segfault with flac vorbis comments simply being "="
503 15) Fix a segfault/bug in queueNextSong with repeat+random
504 16) Fix a bug, where one process may segfault, and cause more processes to spawn
505 w/o killing ones that lost their parent.
506 17) Fix a bug when the OSS device was unable to fetch the current volume,
507 it would close the device (when it maybe previously closed by the exact same
508 code)
509 18) command.c cleanup by mackstann
510 19) directory.c and command.c cleanup by tw-nym
512 ver 0.9.4 (2004/1/21)
513 1) Fix a bug where updated tag info wasn't being detected
514 2) Set the default audio write size to 1024 bytes (should decrease cpu load a
515 bit on some machines).
516 3) Make audio write size configurable via "audio_write_size" config option
517 4) Tweak output buffer size for connections by detecting the kernel output
518 buffer size.
520 ver 0.9.3 (2003/10/31)
521 1) Store total time/length of songs in db and display in *info commands
522 2) Display instantaneous bitrate in status command
523 3) Add Wave Support using libaudiofile (Patch from normalperson)
524 4) Command code cleanup (Patch from tw-nym)
525 5) Optimize listing of playlists (10-100x faster)
526 6) Optimize interface output (write in 4kB chunks instead of on every '\n')
527 7) Fix bug that prevented rm command from working
528 8) Fix bug where deleting current song skips the next song
529 9) Use iconv to convert vorbis comments from UTF-8 to Latin1
531 ver 0.9.2 (2003/10/6)
532 1) Fix FreeBSD Compilation Problems
533 2) Fix bug in move command
534 3) Add mixer_control options to configure which mixer control/device mpd
535 controls
536 4) Randomize on play -1
537 5) Fix a bug in toggling repeat off and at the end of the playlist
539 ver 0.9.1 (2003/9/30)
540 1) Fix a statement in the middle of declarations in listen.c, causes error for
541 gcc 2.7
543 ver 0.9.0 (2003/9/30)
544 1) Random play mode
545 2) Alsa Mixer Support
546 3) Save and Restore "state"
547 4) Default config file locations (.mpdconf and /etc/mpd.conf)
548 5) Make db file locations configurable
549 6) Move songs around in the playlist
550 7) Gapless playback
551 8) Use Xing tags for mp3's
552 9) Remove stop_on_error
553 10) Seeking support
554 11) Playlists can be loaded and deleted from subdirectories
555 12) Complete rewrite of player layer (fork()'s only once, opens and closes
556 audio device as needed).
557 13) Eliminate use and dependence of SIGIO
558 14) IPv6 support
559 15) Solaris compilations fixes
560 16) Support for different log levels
561 17) Timestamps for log entries
562 18) "user" config parameter for setuid (patch from Nagilum)
563 19) Other misc features and bug fixes
565 ver 0.8.7 (2003/9/3)
566 1) Fix a memory leak.  When closing a interface, was called close() on the fd
567 instead of calling fclose() on the fp that was opened with fdopen().
569 ver 0.8.6 (2003/8/25)
570 1) Fix a memory leak when a buffered existed, and a connection was unexpectedly
571 closed, and i wasn't free'ing the buffer apropriatly.
573 ver 0.8.5 (2003/8/17)
574 1) Fix a bug where an extra end of line is returned when attempting to play a
575 non existing file.  This causes parsing errors for clients.
577 ver 0.8.4 (2003/8/13)
578 1) Fix a bug where garbage is returned with errors in "list" command
580 ver 0.8.3 (2003/8/12) 
581 1) Fix a compilation error on older linux systems
582 2) Fix a bug in searching by title
583 3) Add "list" command
584 4) Add config options for specifying libao driver/plugin and options
585 5) Add config option to specify which address to bind to
586 6) Add support for loading and saving absolute pathnames in saved playlists
587 7) Playlist no longer creates duplicate entries for song data (more me
588 efficient)
589 8) Songs deleted from the db are now removed for the playlist as well
591 ver 0.8.2 (2003/7/22)
592 1) Increased the connection que for listen() from 0 to 5
593 2) Cleanup configure makefiles so that mpd uses MPD_LIBS and MPD_CFLAGS
594 rather than LIBS and CFLAGS
595 3) Put a cap on the number of commands per command list
596 4) Put a cap on the maximum number of buffered output lines
597 5) Get rid of TIME_WAIT/EADDRINUSE socket problem
598 6) Use asynchronious IO (i.e. trigger SIGIO instead so we can sleep in
599 select() calls longer)
601 ver 0.8.1 (2003/7/11)
602 1) FreeBSD fixes
603 2) Fix for rare segfault when updating
604 3) Fix bug where client was being hungup on when done playing current song
605 4) Fix bug when playing flac's where it incorrectly reports an error
606 5) Make stop playlist on error configurable
607 6) Configure checks for installed libmad and libid3tag and uses those if found
608 7) Use buffer->finished in *_decode's instead of depending on catching signals
610 ver 0.8.0 (2003/7/6)
611 1) Flac support
612 2) Make playlist max length configurable
613 3) New backward compatible status (backward compatible for 0.8.0 on)
614 4) listall command now can take a directory as an argument
615 5) Buffer rewritten to use shared memory instead of sockets
616 6) Playlist adding done using db
617 7) Add sort to list, and use binary search for finding
618 8) New "stats" command
619 9) Command list (for faster adding of large batches of files)
620 10) Add buffered chunks before play
621 11) Useful error reporting to clients (part of status command)
622 12) Use libid3tag for reading id3 tags (more stable)
623 13) Non-blocking output to clients
624 14) Fix bug when removing items from directory
625 15) Fix bug when playing mono mp3's
626 16) Fix bug when attempting to delete files when using samba
627 17) Lots of other bug fixes I can't remember
629 ver 0.7.0 (2003/6/20)
630 1) use mad instead of mpg123 for mp3 decoding
631 2) volume support
632 3) repeate playlist support
633 4) use autoconf/automake (i.e. "configure")
634 5) configurable max connections
636 ver 0.6.2 (2003/6/11)
637 1) Buffer support for ogg
638 2) new config file options: "connection_timeout" and "mpg123_ignore_junk"
639 3) new commands: "next", "previous", and "listall"
640 Thanks to Niklas Hofer for "next" and "previous" patches!
641 4) Search by filename
642 5) bug fix for pause when playing mp3's
644 ver 0.6.1 (2003/5/29)
645 1) Add conf file support
646 2) Fix a bug when doing mp3stop (do wait3(NULL,WNOHANG|WUNTRACED,NULL))
647 3) Fix a bug when fork'ing, fflush file buffers before forking so the
648 child doesn't print the same stuff in the buffer.
650 ver 0.6.0 (2003/5/25)
651 1) Add ogg vorbis support
652 2) Fix two bugs relating to tables, one for search by title, and one where we
653 freed the tables before directories, causing a segfault
654 3) The info command has been removed.
656 ver 0.5.0-0.5.2
657 Initial release(s).  Support for MP3 via mpg123