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