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