input/tidal/Error: add method IsInvalidSession()
[mpd-mirror.git] / NEWS
blob5b222be3c0f9e9a3e14b2c4aeda5ded09e2bae3f
1 ver 0.21 (not yet released)
2 * protocol
3   - "tagtypes" can be used to hide tags
4   - "find" and "search" can sort
5   - "outputs" prints the plugin name
6   - "outputset" sets runtime attributes
7   - close connection when client sends HTTP request
8 * input
9   - qobuz: new plugin to play Qobuz streams
10   - tidal: new plugin to play Tidal streams
11 * tags
12   - new tags "OriginalDate", "MUSICBRAINZ_WORKID"
13 * decoder
14   - gme: try loading m3u sidecar files
15   - pcm: support audio/L24 (RFC 3190)
16 * resampler
17   - soxr: flush resampler at end of song
18 * output
19   - alsa: non-blocking mode
20   - alsa: change "dop" and "allowed_formats" settings at runtime
21   - ao: fix crash bug due to partial frames
22   - shout: support the Shine encoder plugin
23   - sndio: remove support for the broken RoarAudio sndio emulation
24 * mixer
25   - sndio: new mixer plugin
26 * require GCC 5.0
28 ver 0.20.16 (not yet released)
29 * database
30   - simple: fix search within mount points
31 * fix crash in debug build on Haiku and other operating systems
33 ver 0.20.15 (2018/01/05)
34 * queue: fix crash after seek failure
35 * resampler
36   - soxr: clear internal state after manual song change
37 * state file
38   - make mount point restore errors non-fatal
39   - fix crash when restoring mounts with incompatible database plugin
40 * Android
41   - build without Ant
42   - fix for SIGSYS crash
44 ver 0.20.14 (2018/01/01)
45 * database
46   - simple: fix file corruption in the presence of mount points
47 * archive
48   - bz2: fix deadlock
49   - reduce lock contention, fixing lots of xrun problems
50 * fix Solaris build failure
52 ver 0.20.13 (2017/12/18)
53 * output
54   - osx: set up ring buffer to hold at least 100ms
55 * mixer
56   - alsa: fix rounding errors
57 * database
58   - simple: don't purge mount points on update/rescan
59   - simple: fix "mount" bug caused by bad compiler optimization
60   - simple: fix "lsinfo" into mount points
61   - upnp: work around libupnp 1.6.24 API breakage
62 * queue: fix spuriously misplaced prioritized songs
63 * save and restore mountpoints within the state file
64 * include Windows cross-build script in source tarball
65 * fix Windows build failures
67 ver 0.20.12 (2017/11/25)
68 * database
69   - upnp: adapt to libupnp 1.8 API changes
70 * input
71   - cdio_paranoia, ffmpeg, file, smbclient: reduce lock contention,
72     fixing lots of xrun problems
73   - curl: fix seeking
74 * decoder
75   - ffmpeg: fix GCC 8 warning
76   - vorbis: fix Tremor support
77 * player
78   - log message when decoder is too slow
79 * encoder
80   - vorbis: default to quality 3
81 * output
82   - fix hanging playback with soxr resampler
83   - httpd: flush encoder after tag; fixes corrupt Vorbis stream
85 ver 0.20.11 (2017/10/18)
86 * storage
87   - curl: support Content-Type application/xml
88 * decoder
89   - ffmpeg: more reliable song duration
90   - gme: fix track numbering
91 * improve random song order when switching songs manually
92 * fix case insensitive search without libicu
93 * fix Unicode file names in playlists on Windows
94 * fix endless loop when accessing malformed file names in ZIP files
96 ver 0.20.10 (2017/08/24)
97 * decoder
98   - ffmpeg: support MusicBrainz ID3v2 tags
99 * tags
100   - aiff: fix FORM chunk size endianess (is big-endian)
101 * mixer
102   - osx: add a mixer for OSX.
103 * fix crash when resuming playback before decoder is ready
104 * fix crash on Windows
106 ver 0.20.9 (2017/06/04)
107 * decoder
108   - ffmpeg: support *.adx
109 * fix byte order detection on FreeBSD/aarch64
110 * fix more random crashes when compiled with clang
112 ver 0.20.8 (2017/05/19)
113 * output
114   - osx: fix build failure due to missing "noexcept"
115 * playlist
116   - m3u: support MIME type `audio/mpegurl`
117 * fix build failure with GCC 4.x
119 ver 0.20.7 (2017/05/15)
120 * database
121   - simple: fix false positive directory loop detection with NFS
122 * enforce a reasonable minimum audio_buffer_size setting
123 * cap buffer_before_play at 80% to prevent deadlock
124 * fix random crashes when compiled with clang
126 ver 0.20.6 (2017/03/10)
127 * input
128   - curl: fix headers after HTTP redirect to Shoutcast server
129 * decoder
130   - ffmpeg: re-enable as fallback
131   - mpcdec: fix crash (division by zero) after seeking
132   - sidplay: make compatible with libsidplayfp < 1.8
133 * fix stream tags after automatic song change
134 * workaround for GCC 4.9.4 / libstdc++ bug (build failure)
136 ver 0.20.5 (2017/02/20)
137 * tags
138   - id3: fix memory leak on corrupt ID3 tags
139 * decoder
140   - sidplay: don't require libsidutils when building with libsidplayfp
141 * output
142   - httpd: fix two buffer overflows in IcyMetaData length calculation
143 * mixer
144   - alsa: fix crash bug
146 ver 0.20.4 (2017/02/01)
147 * input
148   - nfs: fix freeze after reconnect
149 * output
150   - sndio: work around a libroar C++ incompatibility
151 * workaround for GCC 4.9 "constexpr" bug
152 * fix FreeBSD build failure
154 ver 0.20.3 (2017/01/25)
155 * protocol
156   - "playlistadd" creates new playlist if it does not exist, as documented
157 * database
158   - proxy: fix error "terminate called after throwing ..."
159   - proxy: make connect errors during startup non-fatal
160 * neighbor
161   - upnp: fix premature expiry
162 * replay gain: don't reset ReplayGain levels when unpausing playback
163 * silence surround channels when converting from stereo
164 * use shortcuts such as "dsd64" in log messages
166 ver 0.20.2 (2017/01/15)
167 * input
168   - alsa: fix crash bug
169   - alsa: fix buffer overruns
170 * decoder
171   - flac: add options "probesize" and "analyzeduration"
172 * resampler
173   - libsamplerate: reset state after seeking
174 * output
175   - fix static noise after changing to a different audio format
176   - alsa: fix the DSD_U32 sample rate
177   - alsa: fix the DSD_U32 byte order
178   - alsa: support DSD_U16
179   - recorder: fix error "Failed to create : No such file or directory"
180 * playlist
181   - cue: fix skipping songs
183 ver 0.20.1 (2017/01/09)
184 * input
185   - curl: fix crash bug
186   - curl: fix freeze bug
187 * decoder
188   - wavpack: fix crash bug
189 * storage
190   - curl: new storage plugin for WebDAV (work in progress)
191 * mixer
192   - alsa: normalize displayed volume according to human perception
193 * fix crash with volume_normalization enabled
195 ver 0.20 (2017/01/04)
196 * protocol
197   - "commands" returns playlist commands only if playlist_directory configured
198   - "search"/"find" have a "window" parameter
199   - report song duration with milliseconds precision
200   - "sticker find" can match sticker values
201   - drop the "file:///" prefix for absolute file paths
202   - add range parameter to command "plchanges" and "plchangesposid"
203   - send verbose error message to client
204 * input
205   - curl: fix memory leak
206 * tags
207   - ape, ogg: drop support for non-standard tag "album artist"
208     affected filetypes: vorbis, flac, opus & all files with ape2 tags
209     (most importantly some mp3s)
210   - id3: remove the "id3v1_encoding" setting; by definition, all ID3v1 tags
211     are ISO-Latin-1
212   - ape: support APE replay gain on remote files
213   - read ID3 tags from NFS/SMB
214 * decoder
215   - improved error logging
216   - report I/O errors to clients
217   - ffmpeg: support ReplayGain and MixRamp
218   - ffmpeg: support stream tags
219   - gme: add option "accuracy"
220   - gme: provide the TRACK tag
221   - gme: faster scanning
222   - mad: reduce memory usage while scanning tags
223   - mpcdec: read the bit rate
224   - pcm: support audio/L16 (RFC 2586) and audio/x-mpd-float
225   - sidplay: faster scanning
226   - wavpack: large file support
227   - wavpack: support DSD (WavPack 5)
228   - wavpack: archive support
229 * playlist
230   - cue: don't skip pregap
231   - embcue: fix last track
232   - flac: new plugin which reads the "CUESHEET" metadata block
233 * output
234   - alsa: fix multi-channel order
235   - alsa: remove option "use_mmap"
236   - alsa: support DSD_U32
237   - alsa: disable DoP if it fails
238   - jack: reduce CPU usage
239   - pulse: set channel map to WAVE-EX
240   - recorder: record tags
241   - recorder: allow dynamic file names
242   - sndio: new output plugin
243 * mixer
244   - null: new plugin
245 * resampler
246   - new block "resampler" in configuration file
247     replacing the old "samplerate_converter" setting
248   - soxr: allow multi-threaded resampling
249 * player
250   - reset song priority on playback
251   - reduce xruns
252 * write database and state file atomically
253 * always write UTF-8 to the log file.
254 * remove dependency on GLib
255 * support libsystemd (instead of the older libsystemd-daemon)
256 * database
257   - proxy: add TCP keepalive option
258 * update
259   - apply .mpdignore matches to subdirectories
260 * switch the code base to C++14
261   - GCC 4.9 or clang 3.4 (or newer) recommended
263 ver 0.19.21 (2016/12/13)
264 * decoder
265   - ffmpeg: fix crash bug
266 * fix unit test failure after recent "setprio" change
267 * systemd: add user unit
269 ver 0.19.20 (2016/12/09)
270 * protocol
271   - "setprio" re-enqueues old song if priority has been raised
272 * decoder
273   - ffmpeg: ignore empty packets
274   - pcm: fix corruption bug with partial frames (after short read)
275   - sidplay: fix playback speed with libsidplayfp
276 * output
277   - winmm: fix 8 bit playback
278 * fix gcc 7.0 -Wimplicit-fallthrough
279 * systemd: paranoid security settings
281 ver 0.19.19 (2016/08/23)
282 * decoder
283   - ffmpeg: bug fix for FFmpeg 3.1 support
284   - wildmidi: support libWildMidi 0.4
285 * output
286   - pulse: support 32 bit, 24 bit and floating point playback
287 * support non-x86 NetBSD
288 * fix clang 3.9 warnings
290 ver 0.19.18 (2016/08/05)
291 * decoder
292   - ffmpeg: fix crash with older FFmpeg versions (< 3.0)
293   - ffmpeg: log detailed error message
294   - ffmpeg: support FFmpeg 3.1
295   - sidplay: detect libsidplay2 with pkg-config
296   - sidplay: log detailed error message
297   - sidplay: read the "date" tag
298   - sidplay: allow building with libsidplayfp instead of libsidplay2
299 * output
300   - shout: recognize setting "encoder" instead of "encoding"
301 * fix memory leak after stream failure
302 * fix build failure with Boost 1.61
303 * require gcc 4.7 or newer
305 ver 0.19.17 (2016/07/09)
306 * decoder
307   - flac: fix assertion failure while seeking
308   - flac: fix stream duration indicator
309   - fix seek problems in several plugins
310 * fix spurious seek error "Failed to allocate silence buffer"
311 * replay gain: fix "replay_gain_handler mixer" setting
312 * DSD: use 0x69 as silence pattern
313 * fix use-after-free bug on "close" and "kill"
315 ver 0.19.16 (2016/06/13)
316 * faster seeking
317 * fix system include path order
318 * add missing DocBook file to tarball
320 ver 0.19.15 (2016/04/30)
321 * decoder
322   - ffmpeg: support FFmpeg 3.0
323   - ffmpeg: use as fallback instead of "mad" if no plugin matches
324   - opus: support bigger OpusTags packets
325 * fix more build failures on non-glibc builds due to constexpr Mutex
326 * fix build failure due to missing include
327 * fix unit test on Alpha
329 ver 0.19.14 (2016/03/18)
330 * decoder
331   - dsdiff: fix off-by-one buffer overflow
332   - opus: limit tag size to 64 kB
333 * archive
334   - iso9660: fix buffer overflow
335 * fix quadratic runtime bug in the tag pool
336 * fix build failures on non-glibc builds due to constexpr Mutex
338 ver 0.19.13 (2016/02/23)
339 * tags
340   - aiff, riff: fix ID3 chunk padding
341 * decoder
342   - ffmpeg: support the TAK codec
343 * fix disappearing duration of remote songs during playback
344 * initialize supplementary groups with glibc 2.19+
346 ver 0.19.12 (2015/12/15)
347 * fix assertion failure on malformed UTF-8 tag
348 * fix build failure on non-Linux systems
349 * fix LimitRTTIME in systemd unit file
351 ver 0.19.11 (2015/10/27)
352 * tags
353   - ape: fix buffer overflow
354 * decoder
355   - ffmpeg: fix crash due to wrong avio_alloc_context() call
356   - gme: don't loop forever, fall back to GME's default play length
357 * encoder
358   - flac: fix crash with 32 bit playback
359 * mixer
360   - fix mixer lag after enabling/disabling output
362 ver 0.19.10 (2015/06/21)
363 * input
364   - curl: fix deadlock on small responses
365   - smbclient: fix DFF playback
366 * decoder
367   - ffmpeg: improve seeking accuracy
368   - fix stuck stream tags
369 * encoder
370   - opus: fix bogus granulepos
371 * output
372   - fix failure to open device right after booting
373 * neighbor
374   - nfs: fix deadlock when connecting
375 * fix "single" mode breakage due to queue edits
377 ver 0.19.9 (2015/02/06)
378 * decoder
379   - dsdiff, dsf: raise ID3 tag limit to 1 MB
380 * playlist: fix loading duplicate tag types from state file
381 * despotify: remove defunct plugin
382 * fix clock integer overflow on OS X
383 * fix gcc 5.0 warnings
384 * fix build failure with uClibc
385 * fix build failure on non-POSIX operating systems
386 * fix dependency issue on parallel Android build
387 * fix database/state file saving on Windows
389 ver 0.19.8 (2015/01/14)
390 * input
391   - curl: fix bug after rewinding from end-of-file
392   - mms: reduce delay at the beginning of playback
393 * decoder
394   - dsdiff, dsf: allow ID3 tags larger than 4 kB
395   - ffmpeg: support interleaved floating point
396 * fix clang 3.6 warnings
397 * fix build failure on NetBSD
399 ver 0.19.7 (2014/12/17)
400 * input
401   - nfs: fix crash while canceling a failing file open operation
402   - nfs: fix memory leak on connection failure
403   - nfs: fix reconnect after mount failure
404   - nfs: implement mount timeout (60 seconds)
405 * storage
406   - nfs: implement I/O timeout (60 seconds)
407 * playlist
408   - embcue: fix filename suffix detection
409   - don't skip non-existent songs in "listplaylist"
410 * decoder
411   - ffmpeg: fix time stamp underflow
412 * fix memory allocator bug on Windows
414 ver 0.19.6 (2014/12/08)
415 * decoder
416   - ffmpeg: support FFmpeg 2.5
417 * fix build failure with musl
418 * android
419   - update libFLAC to 1.3.1
420   - update FFmpeg to 2.5
422 ver 0.19.5 (2014/11/26)
423 * input
424   - nfs: fix crash on connection failure
425 * archive
426   - zzip: fix crash after seeking
427 * decoder
428   - dsdiff, dsf, opus: fix deadlock while seeking
429   - mp4v2: remove because of incompatible license
431 ver 0.19.4 (2014/11/18)
432 * protocol
433   - workaround for buggy clients that send "add /"
434 * decoder
435   - ffmpeg: support opus
436   - opus: add MIME types audio/ogg and application/ogg
437 * fix crash on failed filename charset conversion
438 * fix local socket detection from uid=0 (root)
440 ver 0.19.3 (2014/11/11)
441 * protocol
442   - fix "(null)" result string to "list" when AlbumArtist is disabled
443 * database
444   - upnp: fix breakage due to malformed URIs
445 * input
446   - curl: another fix for redirected streams
447 * decoder
448   - audiofile: fix crash while playing streams
449   - audiofile: fix bit rate calculation
450   - ffmpeg: support opus
451   - opus: fix bogus duration on streams
452   - opus: support chained streams
453   - opus: improved error logging
454 * fix distorted audio with soxr resampler
455 * fix build failure on Mac OS X with non-Apple compilers
457 ver 0.19.2 (2014/11/02)
458 * input
459   - curl: fix redirected streams
460 * playlist
461   - don't allow empty playlist name
462   - m3u: don't ignore unterminated last line
463   - m3u: recognize the file suffix ".m3u8"
464 * decoder
465   - ignore URI query string for plugin detection
466   - faad: remove workaround for ancient libfaad2 ABI bug
467   - ffmpeg: recognize MIME type audio/aacp
468   - mad: fix negative replay gain values
469 * output
470   - fix memory leak after filter initialization error
471   - fall back to PCM if given DSD sample rate is not supported
472 * fix assertion failure on unsupported PCM conversion
473 * auto-disable plugins that require GLib when --disable-glib is used
475 ver 0.19.1 (2014/10/19)
476 * input
477   - mms: fix deadlock bug
478 * playlist
479   - extm3u: fix Extended M3U detection
480   - m3u, extm3u, cue: fix truncated lines
481 * fix build failure on Mac OS X
482 * add missing file systemd/mpd.socket to tarball
484 ver 0.19 (2014/10/10)
485 * protocol
486   - new commands "addtagid", "cleartagid", "listfiles", "listmounts",
487     "listneighbors", "mount", "rangeid", "unmount"
488   - "lsinfo" and "readcomments" allowed for remote files
489   - "listneighbors" lists file servers on the local network
490   - "playlistadd" supports file:///
491   - "idle" with unrecognized event name fails
492   - "list" on album artist falls back to the artist tag
493   - "list" and "count" allow grouping
494   - new "search"/"find" filter "modified-since"
495   - "seek*" allows fractional position
496   - close connection after syntax error
497 * database
498   - proxy: forward "idle" events
499   - proxy: forward the "update" command
500   - proxy: copy "Last-Modified" from remote directories
501   - simple: compress the database file using gzip
502   - upnp: new plugin
503   - cancel the update on shutdown
504 * storage
505   - music_directory can point to a remote file server
506   - nfs: new plugin
507   - smbclient: new plugin
508 * playlist
509   - cue: fix bogus duration of the last track
510   - cue: restore CUE tracks from state file
511   - soundcloud: use https instead of http
512   - soundcloud: add default API key
513 * archive
514   - read tags from songs in an archive
515 * input
516   - alsa: new input plugin
517   - curl: options "verify_peer" and "verify_host"
518   - ffmpeg: update offset after seeking
519   - ffmpeg: improved error messages
520   - mms: non-blocking I/O
521   - nfs: new input plugin
522   - smbclient: new input plugin
523 * filter
524   - volume: improved software volume dithering
525 * decoder:
526   - vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based files as a comment to the song
527   - audiofile: support scanning remote files
528   - audiofile: log libaudiofile errors
529   - dsdiff, dsf: report bit rate
530   - dsdiff, dsf: implement seeking
531   - dsf: support DSD512
532   - dsf: support multi-channel files
533   - dsf: fix big-endian bugs
534   - dsf: fix noise at end of malformed file
535   - mpg123: support ID3v2, ReplayGain and MixRamp
536   - sndfile: support scanning remote files
537   - sndfile: support tags "comment", "album", "track", "genre"
538   - sndfile: native floating point playback
539   - sndfile: optimized 16 bit playback
540   - mp4v2: support playback of MP4 files.
541 * encoder:
542   - shine: new encoder plugin
543 * output
544   - alsa: support native DSD playback
545   - alsa: rename "DSD over USB" to "DoP"
546   - osx: fix hang after (un)plugging headphones
547 * threads:
548   - the update thread runs at "idle" priority
549   - the output thread runs at "real-time" priority
550   - increase kernel timer slack on Linux
551   - name each thread (for debugging)
552 * configuration
553   - allow playlist directory without music directory
554   - use XDG to auto-detect "music_directory" and "db_file"
555 * add tags "AlbumSort", "MUSICBRAINZ_RELEASETRACKID"
556 * disable global Latin-1 fallback for tag values
557 * new resampler option using libsoxr
558 * ARM NEON optimizations
559 * install systemd unit for socket activation
560 * Android port
562 ver 0.18.23 (2015/02/06)
563 * despotify: remove defunct plugin
564 * fix clock integer overflow on OS X
565 * fix gcc 5.0 warnings
567 ver 0.18.22 (2015/01/14)
568 * fix clang 3.6 warnings
570 ver 0.18.21 (2014/12/17)
571 * playlist
572   - embcue: fix filename suffix detection
573 * decoder
574   - ffmpeg: fix time stamp underflow
576 ver 0.18.20 (2014/12/08)
577 * decoder
578   - ffmpeg: support FFmpeg 2.5
579 * fix build failure with musl
581 ver 0.18.19 (2014/11/26)
582 * archive
583   - zzip: fix crash after seeking
585 ver 0.18.18 (2014/11/18)
586 * decoder
587   - ffmpeg: support opus
588 * fix crash on failed filename charset conversion
589 * fix local socket detection from uid=0 (root)
591 ver 0.18.17 (2014/11/02)
592 * playlist
593   - don't allow empty playlist name
594   - m3u: recognize the file suffix ".m3u8"
595 * decoder
596   - ignore URI query string for plugin detection
597   - faad: remove workaround for ancient libfaad2 ABI bug
598   - ffmpeg: recognize MIME type audio/aacp
600 ver 0.18.16 (2014/09/26)
601 * fix DSD breakage due to typo in configure.ac
603 ver 0.18.15 (2014/09/26)
604 * command
605   - list: reset used size after the list has been processed
606 * fix MixRamp
607 * work around build failure on NetBSD
609 ver 0.18.14 (2014/09/11)
610 * protocol
611   - fix range parser bug on certain 32 bit architectures
612 * decoder
613   - audiofile: fix crash after seeking
614   - ffmpeg: fix crash with ffmpeg/libav version 11
615   - fix assertion failure after seeking
617 ver 0.18.13 (2014/08/31)
618 * protocol
619   - don't change song on "seekcur" in random mode
621 * decoder
622   - dsdiff, dsf: fix endless loop on malformed file
623   - ffmpeg: support ffmpeg/libav version 11
624   - gme: fix song duration
625 * output
626   - alsa: fix endless loop at end of file in dsd_usb mode
627 * fix state file saver
628 * fix build failure on Darwin
630 ver 0.18.12 (2014/07/30)
631 * database
632   - proxy: fix build failure with libmpdclient 2.2
633   - proxy: fix add/search and other commands with libmpdclient < 2.9
634 * decoder
635   - audiofile: improve responsiveness
636   - audiofile: fix WAV stream playback
637   - dsdiff, dsf: fix stream playback
638   - dsdiff: fix metadata parser bug (uninitialized variables)
639   - faad: estimate song duration for remote files
640   - sndfile: improve responsiveness
641 * randomize next song when enabling "random" mode while not playing
642 * randomize next song when adding to single-song queue
644 ver 0.18.11 (2014/05/12)
645 * decoder
646   - opus: fix missing song length on high-latency files
647 * fix race condition when using GLib event loop (non-Linux)
649 ver 0.18.10 (2014/04/10)
650 * decoder
651   - ffmpeg: fix seeking bug
652   - ffmpeg: handle unknown stream start time
653   - gme: fix memory leak
654   - sndfile: work around libsndfile bug on partial read
655 * don't interrupt playback when current song gets deleted
657 ver 0.18.9 (2014/03/02)
658 * protocol
659   - "findadd" requires the "add" permission
660 * output
661   - alsa: improved workaround for noise after manual song change
662 * decoder
663   - vorbis: fix linker failure when libvorbis/libogg are static
664 * encoder
665   - vorbis: fix another linker failure
666 * output
667   - pipe: fix hanging child process due to blocked signals
668 * fix build failure due to missing signal.h include
670 ver 0.18.8 (2014/02/07)
671 * decoder
672   - ffmpeg: support libav v10_alpha1
673 * encoder
674   - vorbis: fix linker failure
675 * output
676   - roar: documentation
677 * more robust Icy-Metadata parser
678 * fix Solaris build failure
680 ver 0.18.7 (2014/01/13)
681 * playlist
682   - pls: fix crash after parser error
683   - soundcloud: fix build failure with libyajl 2.0.1
684 * decoder
685   - faad: fix memory leak
686   - mpcdec: reject libmpcdec SV7 in configure script
687 * daemon: don't initialize supplementary groups when already running
688   as the configured user
690 ver 0.18.6 (2013/12/24)
691 * input
692   - cdio_paranoia: support libcdio-paranoia 0.90
693 * tags
694   - riff: recognize upper-case "ID3" chunk name
695 * decoder
696   - ffmpeg: use relative timestamps
697 * output
698   - openal: fix build failure on Mac OS X
699   - osx: fix build failure
700 * mixer
701   - alsa: fix build failure with uClibc
702 * fix replay gain during cross-fade
703 * accept files without metadata
705 ver 0.18.5 (2013/11/23)
706 * configuration
707   - fix crash when db_file is configured without music_directory
708   - fix crash on "stats" without db_file/music_directory
709 * database
710   - proxy: auto-reload statistics
711   - proxy: provide "db_update" in "stats" response
712 * input
713   - curl: work around stream resume bug (fixed in libcurl 7.32.0)
714 * decoder
715   - fluidsynth: auto-detect by default
716 * clip 24 bit data from libsamplerate
717 * fix ia64, mipsel and other little-endian architectures
718 * fix build failures due to missing includes
719 * fix build failure with static libmpdclient
721 ver 0.18.4 (2013/11/13)
722 * decoder
723   - dsdiff: fix byte order bug
724 * fix build failures due to missing includes
725 * libc++ compatibility
727 ver 0.18.3 (2013/11/08)
728 * fix stuck MPD after song change (0.18.2 regression)
730 ver 0.18.2 (2013/11/07)
731 * protocol:
732   - "close" flushes the output buffer
733 * input:
734   - cdio_paranoia: add setting "default_byte_order"
735   - curl: fix bug with redirected streams
736 * playlist:
737   - pls: fix reversed song order
738 * decoder:
739   - audiofile: require libaudiofile 0.3 due to API breakage
740   - dsf: enable DSD128
741 * enable buffering when starting playback (regression fix)
742 * fix build failures due to missing includes
743 * fix big-endian support
745 ver 0.18.1 (2013/11/04)
746 * protocol:
747   - always ignore whitespace at the end of the line
748 * networking:
749   - log UNIX domain path names instead of "localhost"
750   - open listener sockets in the order they were configured
751   - don't abort if IPv6 is not available
752 * output:
753   - alsa: avoid endless loop in Raspberry Pi workaround
754 * filter:
755   - autoconvert: fix "volume_normalization" with mp3 files
756 * add missing files to source tarball
758 ver 0.18 (2013/10/31)
759 * configuration:
760   - allow tilde paths for socket
761   - default filesystem charset is UTF-8 instead of ISO-8859-1
762   - increase default buffer size to 4 MB
763 * protocol:
764   - new command "readcomments" lists arbitrary file tags
765   - new command "toggleoutput"
766   - "find"/"search" with "any" does not match file name
767   - "search" and "find" with base URI (keyword "base")
768   - search for album artist falls back to the artist tag
769   - re-add the "volume" command
770 * input:
771   - curl: enable https
772   - soup: plugin removed
773 * playlist:
774   - lastfm: remove defunct Last.fm support
775 * decoder:
776   - adplug: new decoder plugin using libadplug
777   - dsf: don't play junk at the end of the "data" chunk
778   - ffmpeg: drop support for pre-0.8 ffmpeg
779   - flac: require libFLAC 1.2 or newer
780   - flac: support FLAC files inside archives
781   - opus: new decoder plugin for the Opus codec
782   - vorbis: skip 16 bit quantisation, provide float samples
783   - mikmod: add "loop" configuration parameter
784   - modplug: add "loop_count" configuration parameter
785   - mp4ff: obsolete plugin removed
786 * encoder:
787   - opus: new encoder plugin for the Opus codec
788   - vorbis: accept floating point input samples
789 * output:
790   - new option "tags" may be used to disable sending tags to output
791   - alsa: workaround for noise after manual song change
792   - ffado: remove broken plugin
793   - httpd: support HEAD requests
794   - mvp: remove obsolete plugin
795   - osx: disabled by default because it's unmaintained and unsupported
796 * improved decoder/output error reporting
797 * eliminate timer wakeup on idle MPD
798 * fix unresponsive MPD while waiting for stream
799 * port of the source code to C++11
801 ver 0.17.6 (2013/10/14)
802 * mixer:
803   - alsa: fix busy loop when USB sound device gets unplugged
804 * decoder:
805   - modplug: fix build with Debian package 1:0.8.8.4-4
806 * stored playlists:
807   - fix loading playlists with references to local files
808   - obey filesystem_charset for URLs
810 ver 0.17.5 (2013/08/04)
811 * protocol:
812   - fix "playlistadd" with URI
813   - fix "move" relative to current when there is no current song
814 * decoder:
815   - ffmpeg: support "application/flv"
816   - mikmod: adapt to libmikmod 3.2
817 * configure.ac:
818   - detect system "ar"
820 ver 0.17.4 (2013/04/08)
821 * protocol:
822   - allow to omit END in ranges (START:END)
823   - don't emit IDLE_PLAYER before audio format is known
824 * decoder:
825   - ffmpeg: support float planar audio (ffmpeg 1.1)
826   - ffmpeg: fix AVFrame allocation
827 * player:
828   - implement missing "idle" events on output errors
829 * clock: fix build failure
831 ver 0.17.3 (2013/01/06)
832 * output:
833   - osx: fix pops during playback
834   - recorder: fix I/O error check
835   - shout: fix memory leak in error handler
836   - recorder, shout: support Ogg packets that span more than one page
837 * decoder:
838   - ffmpeg: ignore negative time stamps
839   - ffmpeg: support planar audio
840 * playlist:
841   - cue: fix memory leak
842   - cue: fix CUE files with only one track
844 ver 0.17.2 (2012/09/30)
845 * protocol:
846   - fix crash in local file check
847 * decoder:
848   - fluidsynth: remove throttle (requires libfluidsynth 1.1)
849   - fluidsynth: stop playback at end of file
850   - fluidsynth: check MIDI file format while scanning
851   - fluidsynth: add sample rate setting
852   - wavpack: support all APEv2 tags
853 * output:
854   - httpd: use monotonic clock, avoid hiccups after system clock adjustment
855   - httpd: fix throttling bug after resuming playback
856 * playlist:
857   - cue: map "PERFORMER" to "artist" or "album artist"
858 * mapper: fix non-UTF8 music directory name
859 * mapper: fix potential crash in file permission check
860 * playlist: fix use-after-free bug
861 * playlist: fix memory leak
862 * state_file: save song priorities
863 * player: disable cross-fading in "single" mode
864 * update: fix unsafe readlink() usage
865 * configure.ac:
866   - don't auto-detect the vorbis encoder when Tremor is enabled
868 ver 0.17.1 (2012/07/31)
869 * protocol:
870   - require appropriate permissions for searchadd{,pl}
871 * tags:
872   - aiff: support the AIFC format
873   - ape: check for ID3 if no usable APE tag was found
874 * playlist:
875   - cue: support file types "MP3", "AIFF"
876 * output:
877   - fix noisy playback with conversion and software volume
879 ver 0.17 (2012/06/27)
880 * protocol:
881   - support client-to-client communication
882   - "update" and "rescan" need only "CONTROL" permission
883   - new command "seekcur" for simpler seeking within current song
884   - new command "config" dumps location of music directory
885   - add range parameter to command "load"
886   - print extra "playlist" object for embedded CUE sheets
887   - new commands "searchadd", "searchaddpl"
888 * input:
889   - cdio_paranoia: new input plugin to play audio CDs
890   - curl: enable CURLOPT_NETRC
891   - curl: non-blocking I/O
892   - soup: new input plugin based on libsoup
893 * tags:
894   - RVA2: support separate album/track replay gain
895 * decoder:
896   - mpg123: implement seeking
897   - ffmpeg: drop support for pre-0.5 ffmpeg
898   - ffmpeg: support WebM
899   - oggflac: delete this obsolete plugin
900   - dsdiff: new decoder plugin
901 * output:
902   - alsa: support DSD-over-USB (dCS suggested standard)
903   - httpd: support for streaming to a DLNA client
904   - openal: improve buffer cancellation
905   - osx: allow user to specify other audio devices
906   - osx: implement 32 bit playback
907   - shout: add possibility to set url
908   - roar: new output plugin for RoarAudio
909   - winmm: fail if wrong device specified instead of using default device
910 * mixer:
911   - alsa: listen for external volume changes
912 * playlist:
913   - allow references to songs outside the music directory
914   - new CUE parser, without libcue
915   - soundcloud: new plugin for accessing soundcloud.com
916 * state_file: add option "restore_paused"
917 * cue: show CUE track numbers
918 * allow port specification in "bind_to_address" settings
919 * support floating point samples
920 * systemd socket activation
921 * improve --version output
922 * WIN32: fix renaming of stored playlists with non-ASCII names
925 ver 0.16.8 (2012/04/04)
926 * fix for libsamplerate assertion failure
927 * decoder:
928   - vorbis (and others): fix seeking at startup
929   - ffmpeg: read the "year" tag
930 * encoder:
931   - vorbis: generate end-of-stream packet before tag
932   - vorbis: generate end-of-stream packet when playback ends
933 * output:
934   - jack: check for connection failure before starting playback
935   - jack: workaround for libjack1 crash bug
936   - osx: fix stuttering due to buffering bug
937 * fix endless loop in text file reader
938 * update: skip symlinks in path that is to be updated
941 ver 0.16.7 (2012/02/04)
942 * input:
943   - ffmpeg: support libavformat 0.7
944 * decoder:
945   - ffmpeg: support libavformat 0.8, libavcodec 0.9
946   - ffmpeg: support all MPD tags
947 * output:
948   - httpd: fix excessive buffering
949   - openal: force 16 bit playback, as 8 bit doesn't work
950   - osx: remove sleep call from render callback
951   - osx: clear render buffer when there's not enough data
952 * fix moving after current song
955 ver 0.16.6 (2011/12/01)
956 * decoder:
957   - fix assertion failure when resuming streams
958   - ffmpeg: work around bogus channel count
959 * encoder:
960   - flac, null, wave: fix buffer corruption bug
961   - wave: support packed 24 bit samples
962 * mapper: fix the bogus "not a directory" error message
963 * mapper: check "x" and "r" permissions on music directory
964 * log: print reason for failure
965 * event_pipe: fix WIN32 regression
966 * define WINVER in ./configure
967 * WIN32: autodetect filesystem encoding
970 ver 0.16.5 (2011/10/09)
971 * configure.ac
972   - disable assertions in the non-debugging build
973   - show solaris plugin result correctly
974   - add option --enable-solaris-output
975 * pcm_format: fix 32-to-24 bit conversion (the "silence" bug)
976 * input:
977   - rewind: reduce heap usage
978 * decoder:
979   - ffmpeg: higher precision timestamps
980   - ffmpeg: don't require key frame for seeking
981   - fix CUE track seeking
982 * output:
983   - openal: auto-fallback to mono if channel count is unsupported
984 * player:
985   - make seeking to CUE track more reliable
986   - the "seek" command works when MPD is stopped
987   - restore song position from state file (bug fix)
988   - fix crash that sometimes occurred when audio device fails on startup
989   - fix absolute path support in playlists
990 * WIN32: close sockets properly
991 * install systemd service file if systemd is available
994 ver 0.16.4 (2011/09/01)
995 * don't abort configure when avahi is not found
996 * auto-detect libmad without pkg-config
997 * fix memory leaks
998 * don't resume playback when seeking to another song while paused
999 * apply follow_inside_symlinks to absolute symlinks
1000 * fix playback discontinuation after seeking
1001 * input:
1002   - curl: limit the receive buffer size
1003   - curl: implement a hard-coded timeout of 10 seconds
1004 * decoder:
1005   - ffmpeg: workaround for semantic API change in recent ffmpeg versions
1006   - flac: validate the sample rate when scanning the tag
1007   - wavpack: obey all decoder commands, stop at CUE track border
1008 * encoder:
1009   - vorbis: don't send end-of-stream on flush
1010 * output:
1011   - alsa: fix SIGFPE when alsa announces a period size of 0
1012   - httpd: don't warn on client disconnect
1013   - osx: don't drain the buffer when closing
1014   - pulse: fix deadlock when resuming the stream
1015   - pulse: fix deadlock when the stream was suspended
1018 ver 0.16.3 (2011/06/04)
1019 * fix assertion failure in audio format mask parser
1020 * fix NULL pointer dereference in playlist parser
1021 * fix playlist files in base music directory
1022 * database: allow directories with just playlists
1023 * decoder:
1024   - ffmpeg: support libavcodec 0.7
1027 ver 0.16.2 (2011/03/18)
1028 * configure.ac:
1029   - fix bashism in tremor test
1030 * decoder:
1031   - tremor: fix configure test
1032   - gme: detect end of song
1033 * encoder:
1034   - vorbis: reset the Ogg stream after flush
1035 * output:
1036   - httpd: fix uninitialized variable
1037   - httpd: include sys/socket.h
1038   - oss: AFMT_S24_PACKED is little-endian
1039   - oss: disable 24 bit playback on FreeBSD
1042 ver 0.16.1 (2011/01/09)
1043 * audio_check: fix parameter in prototype
1044 * add void casts to suppress "result unused" warnings (clang)
1045 * input:
1046   - ffado: disable by default
1047 * decoder:
1048   - mad: work around build failure on Solaris
1049   - resolve modplug vs. libsndfile cflags/headers conflict
1050 * output:
1051   - solaris: add missing parameter to open_cloexec() cal
1052   - osx: fix up audio format first, then apply it to device
1053 * player_thread: discard empty chunks while cross-fading
1054 * player_thread: fix assertion failure due to early seek
1055 * output_thread: fix double lock
1058 ver 0.16 (2010/12/11)
1059 * protocol:
1060   - send song modification time to client
1061   - added "update" idle event
1062   - removed the deprecated "volume" command
1063   - added the "findadd" command
1064   - range support for "delete"
1065   - "previous" really plays the previous song
1066   - "addid" with negative position is deprecated
1067   - "load" supports remote playlists (extm3u, pls, asx, xspf, lastfm://)
1068   - allow changing replay gain mode on-the-fly
1069   - omitting the range end is possible
1070   - "update" checks if the path is malformed
1071 * archive:
1072   - iso: renamed plugin to "iso9660"
1073   - zip: renamed plugin to "zzip"
1074 * input:
1075   - lastfm: obsolete plugin removed
1076   - ffmpeg: new input plugin using libavformat's "avio" library
1077 * tags:
1078   - added tags "ArtistSort", "AlbumArtistSort"
1079   - id3: revised "performer" tag support
1080   - id3: support multiple values
1081   - ape: MusicBrainz tags
1082   - ape: support multiple values
1083 * decoders:
1084   - don't try a plugin twice (MIME type & suffix)
1085   - don't fall back to "mad" unless no plugin matches
1086   - ffmpeg: support multiple tags
1087   - ffmpeg: convert metadata to generic format
1088   - ffmpeg: implement the libavutil log callback
1089   - sndfile: new decoder plugin based on libsndfile
1090   - flac: moved CUE sheet support to a playlist plugin
1091   - flac: support streams without STREAMINFO block
1092   - mikmod: sample rate is configurable
1093   - mpg123: new decoder plugin based on libmpg123
1094   - sidplay: support sub-tunes
1095   - sidplay: implemented songlength database
1096   - sidplay: support seeking
1097   - sidplay: play monaural SID tunes in mono
1098   - sidplay: play mus, str, prg, x00 files
1099   - wavpack: activate 32 bit support
1100   - wavpack: allow more than 2 channels
1101   - mp4ff: rename plugin "mp4" to "mp4ff"
1102 * encoders:
1103   - twolame: new encoder plugin based on libtwolame
1104   - flac: new encoder plugin based on libFLAC
1105   - wave: new encoder plugin for PCM WAV format
1106 * output:
1107   - recorder: new output plugin for recording radio streams
1108   - alsa: don't recover on CANCEL
1109   - alsa: fill period buffer with silence before draining
1110   - openal: new output plugin
1111   - pulse: announce "media.role=music"
1112   - pulse: renamed context to "Music Player Daemon"
1113   - pulse: connect to server on MPD startup, implement pause
1114   - jack: require libjack 0.100
1115   - jack: don't disconnect during pause
1116   - jack: connect to server on MPD startup
1117   - jack: added options "client_name", "server_name"
1118   - jack: clear ring buffers before activating
1119   - jack: renamed option "ports" to "destination_ports"
1120   - jack: support more than two audio channels
1121   - httpd: bind port when output is enabled
1122   - httpd: added name/genre/website configuration
1123   - httpd: implement "pause"
1124   - httpd: bind_to_address support (including IPv6)
1125   - oss: 24 bit support via OSS4
1126   - win32: new output plugin for Windows Wave
1127   - shout, httpd: more responsive to control commands
1128   - wildcards allowed in audio_format configuration
1129   - consistently lock audio output objects
1130 * player:
1131   - drain audio outputs at the end of the playlist
1132 * mixers:
1133   - removed support for legacy mixer configuration
1134   - reimplemented software volume as mixer+filter plugin
1135   - per-device software/hardware mixer setting
1136 * commands:
1137   - added new "status" line with more precise "elapsed time"
1138 * update:
1139   - automatically update the database with Linux inotify
1140   - support .mpdignore files in the music directory
1141   - sort songs by album name first, then disc/track number
1142   - rescan after metadata_to_use change
1143 * normalize: upgraded to AudioCompress 2.0
1144   - automatically convert to 16 bit samples
1145 * replay gain:
1146   - reimplemented as a filter plugin
1147   - fall back to track gain if album gain is unavailable
1148   - optionally use hardware mixer to apply replay gain
1149   - added mode "auto"
1150   - parse replay gain from APE tags
1151 * log unused/unknown block parameters
1152 * removed the deprecated "error_file" option
1153 * save state when stopped
1154 * renamed option "--stdout" to "--stderr"
1155 * removed options --create-db and --no-create-db
1156 * state_file: save only if something has changed
1157 * database: eliminated maximum line length
1158 * log: redirect stdout/stderr to /dev/null if syslog is used
1159 * set the close-on-exec flag on all file descriptors
1160 * pcm_volume, pcm_mix: implemented 32 bit support
1161 * support packed 24 bit samples
1162 * CUE sheet support
1163 * support for MixRamp tags
1164 * obey $(sysconfdir) for default mpd.conf location
1165 * build with large file support by default
1166 * added test suite ("make check")
1167 * require GLib 2.12
1168 * added libwrap support
1169 * make single mode 'sticky'
1172 ver 0.15.17 (2011/??/??)
1173 * encoder:
1174   - vorbis: reset the Ogg stream after flush
1175 * decoders:
1176   - vorbis: fix tremor support
1179 ver 0.15.16 (2011/03/13)
1180 * output:
1181   - ao: initialize the ao_sample_format struct
1182   - jack: fix crash with mono playback
1183 * encoders:
1184   - lame: explicitly configure the output sample rate
1185 * update: log all file permission problems
1188 ver 0.15.15 (2010/11/08)
1189 * input:
1190   - rewind: fix assertion failure
1191 * output:
1192   - shout: artist comes first in stream title
1195 ver 0.15.14 (2010/11/06)
1196 * player_thread: fix assertion failure due to wrong music pipe on seek
1197 * output_thread: fix assertion failure due to race condition in OPEN
1198 * input:
1199   - rewind: fix double free bug
1200 * decoders:
1201   - mp4ff, ffmpeg: add extension ".m4b" (audio book)
1204 ver 0.15.13 (2010/10/10)
1205 * output_thread: fix race condition after CANCEL command
1206 * output:
1207   - httpd: fix random data in stream title
1208   - httpd: MIME type audio/ogg for Ogg Vorbis
1209 * input:
1210   - rewind: update MIME not only once
1211   - rewind: enable for MMS
1214 ver 0.15.12 (2010/07/20)
1215 * input:
1216   - curl: remove assertion after curl_multi_fdset()
1217 * tags:
1218   - rva2: set "gain", not "peak"
1219 * decoders:
1220   - wildmidi: support version 0.2.3
1223 ver 0.15.11 (2010/06/14)
1224 * tags:
1225   - ape: support album artist
1226 * decoders:
1227   - mp4ff: support tags "album artist", "albumartist", "band"
1228   - mikmod: fix memory leak
1229   - vorbis: handle uri==NULL
1230   - ffmpeg: fix memory leak
1231   - ffmpeg: free AVFormatContext on error
1232   - ffmpeg: read more metadata
1233   - ffmpeg: fix libavformat 0.6 by using av_open_input_stream()
1234 * playlist: emit IDLE_OPTIONS when resetting single mode
1235 * listen: make get_remote_uid() work on BSD
1238 ver 0.15.10 (2010/05/30)
1239 * input:
1240   - mms: fix memory leak in error handler
1241   - mms: initialize the "eof" attribute
1242 * decoders:
1243   - mad: properly calculate ID3 size without libid3tag
1246 ver 0.15.9 (2010/03/21)
1247 * decoders:
1248   - mad: fix crash when seeking at end of song
1249   - mpcdec: fix negative shift on fixed-point samples
1250   - mpcdec: fix replay gain formula with v8
1251 * playlist: fix single+repeat in random mode
1252 * player: postpone song tags during cross-fade
1255 ver 0.15.8 (2010/01/17)
1256 * input:
1257   - curl: allow rewinding with Icy-Metadata
1258 * decoders:
1259   - ffmpeg, flac, vorbis: added more flac/vorbis MIME types
1260   - ffmpeg: enabled libavformat's file name extension detection
1261 * dbUtils: return empty tag value only if no value was found
1262 * decoder_thread: fix CUE track playback
1263 * queue: don't repeat current song in consume mode
1266 ver 0.15.7 (2009/12/27)
1267 * archive:
1268   - close archive when stream is closed
1269   - iso, zip: fixed memory leak in destructor
1270 * input:
1271   - file: don't fall back to parent directory
1272   - archive: fixed memory leak in error handler
1273 * tags:
1274   - id3: fix ID3v1 charset conversion
1275 * decoders:
1276   - eliminate jitter after seek failure
1277   - ffmpeg: don't try to force stereo
1278   - wavpack: allow fine-grained seeking
1279 * mixer: explicitly close all mixers on shutdown
1280 * mapper: fix memory leak when playlist_directory is not set
1281 * mapper: apply filesystem_charset to playlists
1282 * command: verify playlist name in the "rm" command
1283 * database: return multiple tag values per song
1286 ver 0.15.6 (2009/11/18)
1287 * input:
1288   - lastfm: fixed variable name in GLib<2.16 code path
1289   - input/mms: require libmms 0.4
1290 * archive:
1291   - zzip: require libzzip 0.13
1292 * tags:
1293   - id3: allow 4 MB RIFF/AIFF tags
1294 * decoders:
1295   - ffmpeg: convert metadata
1296   - ffmpeg: align the output buffer
1297   - oggflac: rewind stream after FLAC detection
1298   - flac: fixed CUE seeking range check
1299   - flac: fixed NULL pointer dereference in CUE code
1300 * output_thread: check again if output is open on PAUSE
1301 * update: delete ignored symlinks from database
1302 * database: increased maximum line length to 32 kB
1303 * sticker: added fallback for sqlite3_prepare_v2()
1306 ver 0.15.5 (2009/10/18)
1307 * input:
1308   - curl: don't abort if a packet has only metadata
1309   - curl: fixed endless loop during buffering
1310 * tags:
1311   - riff, aiff: fixed "limited range" gcc warning
1312 * decoders:
1313   - flac: fixed two memory leaks in the CUE tag loader
1314 * decoder_thread: change the fallback decoder name to "mad"
1315 * output_thread: check again if output is open on CANCEL
1316 * update: fixed memory leak during container scan
1319 ver 0.15.4 (2009/10/03)
1320 * decoders:
1321   - vorbis: revert "faster tag scanning with ov_test_callback()"
1322   - faad: skip assertion failure on large ID3 tags
1323   - ffmpeg: use the "artist" tag if "author" is not present
1324 * output:
1325   - osx: fix the OS X 10.6 build
1328 ver 0.15.3 (2009/08/29)
1329 * decoders:
1330   - vorbis: faster tag scanning with ov_test_callback()
1331 * output:
1332   - fix stuttering due to uninitialized variable
1333 * update: don't re-read unchanged container files
1336 ver 0.15.2 (2009/08/15)
1337 * tags:
1338   - ape: check the tag size (fixes integer underflow)
1339   - ape: added protection against large memory allocations
1340 * decoders:
1341   - mad: skip ID3 frames when libid3tag is disabled
1342   - flac: parse all replaygain tags
1343   - flac: don't allocate cuesheet twice (memleak)
1344 * output:
1345   - shout: fixed stuck pause bug
1346   - shout: minimize the unpause latency
1347 * update: free empty path string (memleak)
1348 * update: free temporary string in container scan (memleak)
1349 * directory: free empty directories after removing them (memleak)
1352 ver 0.15.1 (2009/07/15)
1353 * decoders:
1354   - flac: fix assertion failure in tag_free() call
1355 * output:
1356   - httpd: include sys/types.h (fixes Mac OS X)
1357 * commands:
1358   - don't resume playback when stopping during pause
1359 * database: fixed NULL pointer dereference after charset change
1360 * log: fix double free() bug during shutdown
1363 ver 0.15 (2009/06/23)
1364 * input:
1365   - parse Icy-Metadata
1366   - added support for the MMS protocol
1367   - hide HTTP password in playlist
1368   - lastfm: new input plugin for last.fm radio (experimental and incomplete!)
1369   - curl: moved proxy settings to "input" block
1370 * tags:
1371   - support the "album artist" tag
1372   - support MusicBrainz tags
1373   - parse RVA2 tags in mp3 files
1374   - parse ID3 tags in AIFF/RIFF/WAV files
1375   - ffmpeg: support new metadata API
1376   - ffmpeg: added support for the tags comment, genre, year
1377 * decoders:
1378   - audiofile: streaming support added
1379   - audiofile: added 24 bit support
1380   - modplug: another MOD plugin, based on libmodplug
1381   - mikmod disabled by default, due to severe security issues in libmikmod
1382   - sidplay: new decoder plugin for C64 SID (using libsidplay2)
1383   - fluidsynth: new decoder plugin for MIDI files (using libfluidsynth,
1384     experimental due to shortcomings in libfluidsynth)
1385   - wildmidi: another decoder plugin for MIDI files (using libwildmidi)
1386   - flac: parse stream tags
1387   - mpcdec: support the new libmpcdec SV8 API
1388   - added configuration option to disable decoder plugins
1389   - flac: support embedded cuesheets
1390   - ffmpeg: updated list of supported formats
1391 * audio outputs:
1392   - added option to disable audio outputs by default
1393   - wait 10 seconds before reopening after play failure
1394   - shout: enlarged buffer size to 32 kB
1395   - null: allow disabling synchronization
1396   - mvp: fall back to stereo
1397   - mvp: fall back to 16 bit audio samples
1398   - mvp: check for reopen errors
1399   - mvp: fixed default device detection
1400   - pipe: new audio output plugin which runs a command
1401   - alsa: better period_time default value for high sample rates
1402   - solaris: new audio output plugin for Solaris /dev/audio
1403   - httpd: new audio output plugin for web based streaming, similar to icecast
1404      but built in.
1405 * commands:
1406   - "playlistinfo" and "move" supports a range now
1407   - added "sticker database", command "sticker", which allows clients
1408      to implement features like "song rating"
1409   - added "consume" command which removes a song after play
1410   - added "single" command, if activated, stops playback after current song or
1411      repeats the song if "repeat" is active.
1412 * mixers:
1413   - rewritten mixer code to support multiple mixers
1414   - new pulseaudio mixer
1415   - alsa: new mixer_index option supports choosing between multiple
1416     identically-named controls on a device.
1417 * Add audio archive extraction support:
1418   - bzip2
1419   - iso9660
1420   - zip
1421 * the option "error_file" was removed, all messages are logged into
1422    "log_file"
1423 * support logging to syslog
1424 * fall back to XDG music directory if no music_directory is configured
1425 * failure to read the state file is non-fatal
1426 * --create-db starts the MPD daemon instead of exiting
1427 * playlist_directory and music_directory are optional
1428 * playlist: recalculate the queued song after random is toggled
1429 * playlist: don't unpause on delete
1430 * pause when all audio outputs fail to play
1431 * daemon: ignore "user" setting if already running as that user
1432 * listen: fix broken client IP addresses in log
1433 * listen: bind failure on secondary address is non-fatal
1434 * 24/32 bit audio support
1435 * print available protocols in --version
1436 * fill buffer after seeking
1437 * choose the fallback resampler at runtime
1438 * steps taken towards win32 compatibility
1439 * require glib 2.6 or greater
1440 * built-in documentation using doxygen and docbook
1443 ver 0.14.2 (2009/02/13)
1444 * configure.ac:
1445   - define HAVE_FFMPEG after all checks
1446 * decoders:
1447   - ffmpeg: added support for the tags comment, genre, year
1448   - ffmpeg: don't warn of empty packet output
1449   - ffmpeg: check if the time stamp is valid
1450   - ffmpeg: fixed seek integer overflow
1451   - ffmpeg: enable WAV streaming
1452   - ffmpeg: added TTA support
1453   - wavpack: pass NULL if the .wvc file fails to open
1454   - mikmod: call MikMod_Exit() only in the finish() method
1455   - aac: fix stream metadata
1456 * audio outputs:
1457   - jack: allocate ring buffers before connecting
1458   - jack: clear "shutdown" flag on reconnect
1459   - jack: reduced sleep time to 1ms
1460   - shout: fixed memory leak in the mp3 encoder
1461   - shout: switch to blocking mode
1462   - shout: use libshout's synchronization
1463   - shout: don't postpone metadata
1464   - shout: clear buffer before calling the encoder
1465 * mapper: remove trailing slashes from music_directory
1466 * player: set player error when output device fails
1467 * update: recursively purge deleted directories
1468 * update: free deleted subdirectories
1470 ver 0.14.1 (2009/01/17)
1471 * decoders:
1472   - mp4: support the writer/composer tag
1473   - id3: strip leading and trailing whitespace from ID3 tags
1474   - oggvorbis: fix tremor support
1475   - oggvorbis: disable seeking on remote files
1476 * audio outputs:
1477   - jack: allocate default port names (fixes a crash)
1478 * update:
1479   - refresh stats after update
1480   - save the database even if it is empty
1481 * input_curl:
1482   - use select() to eliminate busy loop during connect
1483   - honour http_proxy_* config directives
1484   - fix assertion failure on "connection refused"
1485   - fix assertion failure with empty HTTP responses
1486 * corrected the sample calculation in the fallback resampler
1487 * log: automatically append newline
1488 * fix setenv() conflict on Solaris
1489 * configure.ac: check for pkg-config before using it
1490 * fix minor memory leak in decoder_tag()
1491 * fix cross-fading bug: it used to play some chunks of the new song twice
1492 * playlist
1493   - fix assertion failure during playlist load
1494   - implement Fisher-Yates shuffle properly
1495   - safely search the playlist for deleted song
1496 * use custom PRNG for volume dithering (speedup)
1497 * detect libid3tag without pkg-config
1499 ver 0.14 (2008/12/25)
1500 * audio outputs:
1501   - wait 10 seconds before reopening a failed device
1502   - fifo: new plugin
1503   - null: new plugin
1504   - shout: block while trying to connect instead of failing
1505   - shout: new timeout parameter
1506   - shout: support mp3 encoding and the shoutcast protocol
1507   - shout: send silence during pause, so clients don't get disconnected
1508 * decoders:
1509   - ffmpeg: new plugin
1510   - wavpack: new plugin
1511   - aac: stream support added
1512   - mod: disabled by default due to critical bugs in all libmikmod versions
1513 * commands:
1514   - "addid" takes optional second argument to specify position
1515   - "idle" notifies the client when a notable change occurs
1516 * Zeroconf support using Bonjour
1517 * New zeroconf_enabled option so that Zeroconf support can be disabled
1518 * Stop the player/decode processes when not playing to allow the CPU to sleep
1519 * Fix a bug where closing an ALSA dmix device could cause MPD to hang
1520 * Support for reading ReplayGain from LAME tags on MP3s
1521 * MPD is now threaded, which greatly improves performance and stability
1522 * memory usage reduced by merging duplicate tags in the database
1523 * support connecting via unix domain socket
1524 * allow authenticated local users to add any local file to the playlist
1525 * 24 bit audio support
1526 * optimized PCM conversions and dithering
1527 * much code has been replaced by using GLib
1528 * the HTTP client has been replaced with libcurl
1529 * symbolic links in the music directory can be disabled; the default
1530   is to ignore symlinks pointing outside the music directory
1532 ver 0.13.0 (2007/5/28)
1533 * New JACK audio output
1534 * Support for "file" as an alternative to "filename" in search, find, and list
1535 * FLAC 1.1.3 API support
1536 * New playlistadd command for adding to stored playlists
1537 * New playlistclear command for clearing stored playlists
1538 * Fix a bug where "find any" and "list <type> any" wouldn't return any results
1539 * Make "list any" return an error instead of no results and an OK
1540 * New gapless_mp3_playback option to disable gapless MP3 playback
1541 * Support for seeking HTTP streams
1542 * Zeroconf support using Avahi
1543 * libsamplerate support for high quality audio resampling
1544 * ID3v2 "Original Artist/Performer" tag support
1545 * New playlistsearch command for searching the playlist (similar to "search")
1546 * New playlistfind command for finding songs in the playlist (similar to "find")
1547 * libmikmod 3.2.0 beta support
1548 * New tagtypes command for retrieving a list of available tag types
1549 * Fix a bug where no ACK was returned if loading a playlist failed
1550 * Fix a bug where db_update in stats would be 0 after initial database creation
1551 * New count command for getting stats on found songs (similar to "find")
1552 * New playlistmove command for moving songs in stored playlists
1553 * New playlistdelete command for deleting songs from stored playlists
1554 * New rename command for renaming stored playlists
1555 * Increased default buffer_before_play from 0% to 10% to prevent skipping
1556 * Lots of bug fixes, cleaned up code, and performance improvements
1558 ver 0.12.2 (2007/3/20)
1559 * Fix a bug where clients could cause MPD to segfault
1561 ver 0.12.1 (2006/10/10)
1562 * Fix segfault when scanning an MP3 that has a Xing tag with 0 frames
1563 * Fix segfault when there's no audio output specified and one can't be detected
1564 * Fix handling of escaping in quotes
1565 * Allow a quality of -1 to be specified for shout outputs
1566 * A few minor cleanups
1568 ver 0.12.0 (2006/9/22)
1569 * New audio output code which supports:
1570   * A plugin-like architecture
1571   * Non-libao ("native") outputs:
1572     * ALSA
1573     * OSS
1574     * OS X
1575     * Media MVP
1576     * PulseAudio
1577     * Shout (Icecast or Shoutcast)
1578   * Playing through multiple outputs at once
1579   * Enabling/disabling outputs while MPD is running
1580   * Saving output state (enabled/disabled) to the state_file
1581 * OggFLAC support
1582 * Musepack support
1583 * Gapless MP3 playback
1584 * MP3 ReplayGain support (using ID3v2 tags only)
1585 * Support for MP2 files if MP3 support is enabled
1586 * Composer, Performer, Comment, and Disc metadata support
1587 * New outputs command for listing available audio outputs
1588 * New enableoutput and disableoutput commands for enabling/disabling outputs
1589 * New plchangesposid command for a stripped down version of plchanges
1590 * New addid command for adding to the playlist and returning a song ID
1591 * New commands and notcommands commands for checking available commands
1592 * Can now specify any supported metadata type or "any" in search, find, and list
1593 * New volume_normalization parameter for enabling Audio Compress normalization
1594 * New metadata_to_use parameter for choosing supported metadata types
1595 * New pid_file parameter for saving the MPD process ID to the specified file
1596 * The db_file parameter is now required
1597 * The port parameter is now optional (defaults to 6600)
1598 * Can specify bind_to_address multiple times
1599 * New --kill argument for killing MPD if pid_file is specified
1600 * Removed --update-db argument (use the update function in your client instead)
1601 * New mpdconf.example
1602 * New mpd.conf man page 
1603 * Removed bundled libmad and libid3tag
1604 * Lots of bug fixes, cleaned up code, and performance improvements
1606 ver 0.11.5 (2004/11/1)
1607 1) New id3v1_encoding config option to configure the id3v1 tag encoding (patch
1608 from dottedmag)
1609 2) Strip '\r' from m3u playlists (thank you windows)
1610 3) Use random() instead of rand() for playlist randomizing
1611 4) Fix a bug trying skipping some commented lines in m3u playlist files
1612 5) Fix a bug when fetching metadata from streams that may cause certain
1613 weirdnesses
1614 6) Fix a bug where replaygain preamp was used on files w/o replaygain tags
1615 7) Fix a busy loop when trying to prebuffer a nonexistant or missing stream
1616 8) Fix a bug in forgetting to remove leading ' ' in content-type for http
1617 streams
1618 9) Check for ice-name in http headers
1619 10) Be sure the strip all '\n' chars in tags
1620 11) Set $HOME env variable when setuid'ing, this should fix the /root/.mcop
1621 errors triggered by arts/libao
1623 ver 0.11.4 (2004/7/26)
1624 1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags
1625 2) Fixed a memory leak when encountering id3v2 tags in mp3 decoder
1627 ver 0.11.3 (2004/7/21)
1628 1) Add support for http authentication for streams
1629 2) Added replaygain pre-amp support
1630 3) Better error handling for fread() in inputStream_file
1631 4) Fixed a bug so that when a freeAllInterfaces is called, it sets
1632 max_interface_connections to 0.  This prevents potential segfaults and other
1633 nastiness for forked processes, like the player and update-er (do to
1634 interfacePrintWithFD()).
1635 5) Allow blockingWrite() to handle errors more gracefully (for example, if the
1636 disc is full, and thus the write() fails or can't be completed, we just skip
1637 this write() and continue, instead of getting stuck in an infinite loop until
1638 the write() becomes successful)
1639 6) Updated mpdconf.example from sbh/avuton
1640 7) If "user" is specified, then convert ~ in paths to the user's home path
1641 specified by "user" config paramter (not the actual current user running mpd).
1643 ver 0.11.2 (2004/7/5) 
1644 1) Work around in computing total time for mp3's whose first valid mpeg frame is
1645 not layer III
1646 2) Fix mp3 and mp4 decoders when seeking past the end of the file
1647 3) Fix replaygain for flac and vorbis
1648 4) Fix memory leaks in flac decoder (from normalperson)
1649 5) Fix Several other bugs in playlist.c and directory.c (from normalperson)
1651 ver 0.11.1 (2004/6/24)
1652 1) Fix a bug that caused "popping" at the beginning of mp3's
1653 2) Fix playlistid command
1654 3) Fix move commands so they don't mess up the song id's
1655 4) Added support for HTTP Proxy
1656 5) Detect and skip recursive links in the music directory
1657 6) Fix addPathToDB() so updating on a specific path doesn't exist correctly adds
1658 the parent directories to the DB
1660 ver 0.11.0 (2004/6/18)
1661 1) Support for playing mp3 and Ogg Vorbis streams
1662 2) Non-blocking Update
1663 3) Replaygain support for Ogg Vorbis and FLAC (by Eric Moore aka AliasMrJones)
1664 4) audio_output_format option that allows for all audio output to be converted
1665 to a format compatible with any sound card
1666 5) Own routines for to always support UTF-8 <-> ISO-8859-1 conversion
1667 6) Added "Id" and "Pos" metadata for songs in playlist
1668 7) Added commands: plchanges, currentsong, playid, seekid, playlistid, moveid,
1669 swapid, deleteid
1670 8) UTF-8 validation of all tags
1671 9) Update specific files/directories (for fast, incremental updating)
1672 10) Added ACK error codes
1673 11) Mod file support
1674 12) Added command_list_ok_begin
1675 13) Play after stop resumes from last position in the playlist
1676 14) Play while pause resumes playback
1677 15) Better signal handling by mackstann
1678 16) Cleanup decoder interface (now called InputPlugins)
1679 17) --create-db no long starts the daemon
1680 18) --no-daemon outputs to log files
1681 19) --stdout sends output to stdout/stderr
1682 20) Default port is now 6600
1683 21) Lots of other cleanups and Bugfixes
1685 ver 0.10.4 (2004/5/26)
1686 1) Fix configure problems on OpenBSD with langinfo and iconv
1687 2) Fix an infinte loop when writing to an interface and it has expired
1688 3) Fix a segfault in decoding flac's
1689 4) Ingore CRC stuff in mp3's since some encoders did not compute the CRC
1690 correctly
1691 5) Fix a segfault in processing faulty mp4 metadata
1693 ver 0.10.3 (2004/4/2)
1694 1) Fix a segfault when a blanck line is sent from a client
1695 2) Fix for loading playlists on platforms where char is unsigned
1696 3) When pausing, release audio device after we say pause is successful (this
1697 makes pause appear to not lag)
1698 4) When returning errors for unknown types by player, be sure to copy the
1699 filename
1700 5) add --disable-alsa for disabling alsa mixer support
1701 6) Use select() for a portable usleep()
1702 7) For alsa mixer, default to "Master' element, not first element
1704 ver 0.10.2 (2004/3/25)
1705 1) Add suport for AAC
1706 2) Substitute '\n' with ' ' in tag info
1707 3) Remove empty directories from db
1708 4) Resume from current position in song when using state file
1709 5) Pause now closes the music device, and reopens it on resuming
1710 6) Fix unnecessary big endian byte swapping
1711 7) If locale is "C" or "POSIX", then use ISO-8859-1 as the fs charset
1712 8) Fix a bug where alsa mixer wasn't detecting volume changes
1713 9) For alsa and software mixer, show volume to be the same as it was set (even
1714 if its not the exact volume)
1715 10) Report bitrate for wave files
1716 11) Compute song length of CBR mp3's more accurately
1718 ver 0.10.1 (2004/3/7)
1719 1) Check to see if we need to add "-lm" when linking mpd
1720 2) Fix issues with skipping bad frames in an mp3 (this way we get the correct
1721 samplerate and such)
1722 3) Fix crossfading bug with ogg's
1723 4) Updated libmad and libid3tag included w/ source to 0.15.1b
1725 ver 0.10.0 (2004/3/3)
1726 1) Use UTF-8 for all client communications
1727 2) Crossfading support
1728 3) Password Authentication (all in plaintext)
1729 4) Software mixer
1730 5) Buffer Size is configurable
1731 6) Reduced Memory consumption (use directory tree for search and find)
1732 7) Bitrate support for Flac
1733 8) setvol command (deprecates volume command)
1734 9) add command takes directories
1735 10) Path's in config file now work with ~
1736 11) Add samplerate,bits, and channels to status
1737 12) Reenable playTime in stats display
1738 13) Fix a segfault when doing: add ""
1739 14) Fix a segfault with flac vorbis comments simply being "="
1740 15) Fix a segfault/bug in queueNextSong with repeat+random
1741 16) Fix a bug, where one process may segfault, and cause more processes to spawn
1742 w/o killing ones that lost their parent.
1743 17) Fix a bug when the OSS device was unable to fetch the current volume,
1744 it would close the device (when it maybe previously closed by the exact same
1745 code)
1746 18) command.c cleanup by mackstann
1747 19) directory.c and command.c cleanup by tw-nym
1749 ver 0.9.4 (2004/1/21)
1750 1) Fix a bug where updated tag info wasn't being detected
1751 2) Set the default audio write size to 1024 bytes (should decrease cpu load a
1752 bit on some machines).
1753 3) Make audio write size configurable via "audio_write_size" config option
1754 4) Tweak output buffer size for connections by detecting the kernel output
1755 buffer size.
1757 ver 0.9.3 (2003/10/31)
1758 1) Store total time/length of songs in db and display in *info commands
1759 2) Display instantaneous bitrate in status command
1760 3) Add Wave Support using libaudiofile (Patch from normalperson)
1761 4) Command code cleanup (Patch from tw-nym)
1762 5) Optimize listing of playlists (10-100x faster)
1763 6) Optimize interface output (write in 4kB chunks instead of on every '\n')
1764 7) Fix bug that prevented rm command from working
1765 8) Fix bug where deleting current song skips the next song
1766 9) Use iconv to convert vorbis comments from UTF-8 to Latin1
1768 ver 0.9.2 (2003/10/6)
1769 1) Fix FreeBSD Compilation Problems
1770 2) Fix bug in move command
1771 3) Add mixer_control options to configure which mixer control/device mpd
1772 controls
1773 4) Randomize on play -1
1774 5) Fix a bug in toggling repeat off and at the end of the playlist
1776 ver 0.9.1 (2003/9/30)
1777 1) Fix a statement in the middle of declarations in listen.c, causes error for
1778 gcc 2.7
1780 ver 0.9.0 (2003/9/30)
1781 1) Random play mode
1782 2) Alsa Mixer Support
1783 3) Save and Restore "state"
1784 4) Default config file locations (.mpdconf and /etc/mpd.conf)
1785 5) Make db file locations configurable
1786 6) Move songs around in the playlist
1787 7) Gapless playback
1788 8) Use Xing tags for mp3's
1789 9) Remove stop_on_error
1790 10) Seeking support
1791 11) Playlists can be loaded and deleted from subdirectories
1792 12) Complete rewrite of player layer (fork()'s only once, opens and closes
1793 audio device as needed).
1794 13) Eliminate use and dependence of SIGIO
1795 14) IPv6 support
1796 15) Solaris compilations fixes
1797 16) Support for different log levels
1798 17) Timestamps for log entries
1799 18) "user" config parameter for setuid (patch from Nagilum)
1800 19) Other misc features and bug fixes
1802 ver 0.8.7 (2003/9/3)
1803 1) Fix a memory leak.  When closing a interface, was called close() on the fd
1804 instead of calling fclose() on the fp that was opened with fdopen().
1806 ver 0.8.6 (2003/8/25)
1807 1) Fix a memory leak when a buffered existed, and a connection was unexpectedly
1808 closed, and i wasn't free'ing the buffer apropriatly.
1810 ver 0.8.5 (2003/8/17)
1811 1) Fix a bug where an extra end of line is returned when attempting to play a
1812 non existing file.  This causes parsing errors for clients.
1814 ver 0.8.4 (2003/8/13)
1815 1) Fix a bug where garbage is returned with errors in "list" command
1817 ver 0.8.3 (2003/8/12) 
1818 1) Fix a compilation error on older linux systems
1819 2) Fix a bug in searching by title
1820 3) Add "list" command
1821 4) Add config options for specifying libao driver/plugin and options
1822 5) Add config option to specify which address to bind to
1823 6) Add support for loading and saving absolute pathnames in saved playlists
1824 7) Playlist no longer creates duplicate entries for song data (more me
1825 efficient)
1826 8) Songs deleted from the db are now removed for the playlist as well
1828 ver 0.8.2 (2003/7/22)
1829 1) Increased the connection que for listen() from 0 to 5
1830 2) Cleanup configure makefiles so that mpd uses MPD_LIBS and MPD_CFLAGS
1831 rather than LIBS and CFLAGS
1832 3) Put a cap on the number of commands per command list
1833 4) Put a cap on the maximum number of buffered output lines
1834 5) Get rid of TIME_WAIT/EADDRINUSE socket problem
1835 6) Use asynchronious IO (i.e. trigger SIGIO instead so we can sleep in
1836 select() calls longer)
1838 ver 0.8.1 (2003/7/11)
1839 1) FreeBSD fixes
1840 2) Fix for rare segfault when updating
1841 3) Fix bug where client was being hungup on when done playing current song
1842 4) Fix bug when playing flac's where it incorrectly reports an error
1843 5) Make stop playlist on error configurable
1844 6) Configure checks for installed libmad and libid3tag and uses those if found
1845 7) Use buffer->finished in *_decode's instead of depending on catching signals
1847 ver 0.8.0 (2003/7/6)
1848 1) Flac support
1849 2) Make playlist max length configurable
1850 3) New backward compatible status (backward compatible for 0.8.0 on)
1851 4) listall command now can take a directory as an argument
1852 5) Buffer rewritten to use shared memory instead of sockets
1853 6) Playlist adding done using db
1854 7) Add sort to list, and use binary search for finding
1855 8) New "stats" command
1856 9) Command list (for faster adding of large batches of files)
1857 10) Add buffered chunks before play
1858 11) Useful error reporting to clients (part of status command)
1859 12) Use libid3tag for reading id3 tags (more stable)
1860 13) Non-blocking output to clients
1861 14) Fix bug when removing items from directory
1862 15) Fix bug when playing mono mp3's
1863 16) Fix bug when attempting to delete files when using samba
1864 17) Lots of other bug fixes I can't remember
1866 ver 0.7.0 (2003/6/20)
1867 1) use mad instead of mpg123 for mp3 decoding
1868 2) volume support
1869 3) repeate playlist support
1870 4) use autoconf/automake (i.e. "configure")
1871 5) configurable max connections
1873 ver 0.6.2 (2003/6/11)
1874 1) Buffer support for ogg
1875 2) new config file options: "connection_timeout" and "mpg123_ignore_junk"
1876 3) new commands: "next", "previous", and "listall"
1877 Thanks to Niklas Hofer for "next" and "previous" patches!
1878 4) Search by filename
1879 5) bug fix for pause when playing mp3's
1881 ver 0.6.1 (2003/5/29)
1882 1) Add conf file support
1883 2) Fix a bug when doing mp3stop (do wait3(NULL,WNOHANG|WUNTRACED,NULL))
1884 3) Fix a bug when fork'ing, fflush file buffers before forking so the
1885 child doesn't print the same stuff in the buffer.
1887 ver 0.6.0 (2003/5/25)
1888 1) Add ogg vorbis support
1889 2) Fix two bugs relating to tables, one for search by title, and one where we
1890 freed the tables before directories, causing a segfault
1891 3) The info command has been removed.
1893 ver 0.5.0-0.5.2
1894 Initial release(s).  Support for MP3 via mpg123