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