 c7b0c46d9f
			
		
	
	c7b0c46d9f
	
	
	
		
			
			Fixes the dreaded error "Failed to create : No such file or directory". https://bugs.musicpd.org/view.php?id=4625
		
			
				
	
	
		
			1724 lines
		
	
	
		
			60 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1724 lines
		
	
	
		
			60 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ver 0.20.2 (not yet released)
 | |
| * decoder
 | |
|   - flac: add options "probesize" and "analyzeduration"
 | |
| * resampler
 | |
|   - libsamplerate: reset state after seeking
 | |
| * output
 | |
|   - alsa: fix the DSD_U32 sample rate
 | |
|   - alsa: fix the DSD_U32 byte order
 | |
|   - alsa: support DSD_U16
 | |
|   - recorder: fix error "Failed to create : No such file or directory"
 | |
| 
 | |
| ver 0.20.1 (2017/01/09)
 | |
| * input
 | |
|   - curl: fix crash bug
 | |
|   - curl: fix freeze bug
 | |
| * decoder
 | |
|   - wavpack: fix crash bug
 | |
| * storage
 | |
|   - curl: new storage plugin for WebDAV (work in progress)
 | |
| * mixer
 | |
|   - alsa: normalize displayed volume according to human perception
 | |
| * fix crash with volume_normalization enabled
 | |
| 
 | |
| ver 0.20 (2017/01/04)
 | |
| * protocol
 | |
|   - "commands" returns playlist commands only if playlist_directory configured
 | |
|   - "search"/"find" have a "window" parameter
 | |
|   - report song duration with milliseconds precision
 | |
|   - "sticker find" can match sticker values
 | |
|   - drop the "file:///" prefix for absolute file paths
 | |
|   - add range parameter to command "plchanges" and "plchangesposid"
 | |
|   - send verbose error message to client
 | |
| * input
 | |
|   - curl: fix memory leak
 | |
| * tags
 | |
|   - ape, ogg: drop support for non-standard tag "album artist"
 | |
|     affected filetypes: vorbis, flac, opus & all files with ape2 tags
 | |
|     (most importantly some mp3s)
 | |
|   - id3: remove the "id3v1_encoding" setting; by definition, all ID3v1 tags
 | |
|     are ISO-Latin-1
 | |
|   - ape: support APE replay gain on remote files
 | |
|   - read ID3 tags from NFS/SMB
 | |
| * decoder
 | |
|   - improved error logging
 | |
|   - report I/O errors to clients
 | |
|   - ffmpeg: support ReplayGain and MixRamp
 | |
|   - ffmpeg: support stream tags
 | |
|   - gme: add option "accuracy"
 | |
|   - gme: provide the TRACK tag
 | |
|   - gme: faster scanning
 | |
|   - mad: reduce memory usage while scanning tags
 | |
|   - mpcdec: read the bit rate
 | |
|   - pcm: support audio/L16 (RFC 2586) and audio/x-mpd-float
 | |
|   - sidplay: faster scanning
 | |
|   - wavpack: large file support
 | |
|   - wavpack: support DSD (WavPack 5)
 | |
|   - wavpack: archive support
 | |
| * playlist
 | |
|   - cue: don't skip pregap
 | |
|   - embcue: fix last track
 | |
|   - flac: new plugin which reads the "CUESHEET" metadata block
 | |
| * output
 | |
|   - alsa: fix multi-channel order
 | |
|   - alsa: remove option "use_mmap"
 | |
|   - alsa: support DSD_U32
 | |
|   - alsa: disable DoP if it fails
 | |
|   - jack: reduce CPU usage
 | |
|   - pulse: set channel map to WAVE-EX
 | |
|   - recorder: record tags
 | |
|   - recorder: allow dynamic file names
 | |
|   - sndio: new output plugin
 | |
| * mixer
 | |
|   - null: new plugin
 | |
| * resampler
 | |
|   - new block "resampler" in configuration file
 | |
|     replacing the old "samplerate_converter" setting
 | |
|   - soxr: allow multi-threaded resampling
 | |
| * player
 | |
|   - reset song priority on playback
 | |
|   - reduce xruns
 | |
| * write database and state file atomically
 | |
| * always write UTF-8 to the log file.
 | |
| * remove dependency on GLib
 | |
| * support libsystemd (instead of the older libsystemd-daemon)
 | |
| * database
 | |
|   - proxy: add TCP keepalive option
 | |
| * update
 | |
|   - apply .mpdignore matches to subdirectories
 | |
| * switch the code base to C++14
 | |
|   - GCC 4.9 or clang 3.4 (or newer) recommended
 | |
| 
 | |
| ver 0.19.21 (2016/12/13)
 | |
| * decoder
 | |
|   - ffmpeg: fix crash bug
 | |
| * fix unit test failure after recent "setprio" change
 | |
| * systemd: add user unit
 | |
| 
 | |
| ver 0.19.20 (2016/12/09)
 | |
| * protocol
 | |
|   - "setprio" re-enqueues old song if priority has been raised
 | |
| * decoder
 | |
|   - ffmpeg: ignore empty packets
 | |
|   - pcm: fix corruption bug with partial frames (after short read)
 | |
|   - sidplay: fix playback speed with libsidplayfp
 | |
| * output
 | |
|   - winmm: fix 8 bit playback
 | |
| * fix gcc 7.0 -Wimplicit-fallthrough
 | |
| * systemd: paranoid security settings
 | |
| 
 | |
| ver 0.19.19 (2016/08/23)
 | |
| * decoder
 | |
|   - ffmpeg: bug fix for FFmpeg 3.1 support
 | |
|   - wildmidi: support libWildMidi 0.4
 | |
| * output
 | |
|   - pulse: support 32 bit, 24 bit and floating point playback
 | |
| * support non-x86 NetBSD
 | |
| * fix clang 3.9 warnings
 | |
| 
 | |
| ver 0.19.18 (2016/08/05)
 | |
| * decoder
 | |
|   - ffmpeg: fix crash with older FFmpeg versions (< 3.0)
 | |
|   - ffmpeg: log detailed error message
 | |
|   - ffmpeg: support FFmpeg 3.1
 | |
|   - sidplay: detect libsidplay2 with pkg-config
 | |
|   - sidplay: log detailed error message
 | |
|   - sidplay: read the "date" tag
 | |
|   - sidplay: allow building with libsidplayfp instead of libsidplay2
 | |
| * output
 | |
|   - shout: recognize setting "encoder" instead of "encoding"
 | |
| * fix memory leak after stream failure
 | |
| * fix build failure with Boost 1.61
 | |
| * require gcc 4.7 or newer
 | |
| 
 | |
| ver 0.19.17 (2016/07/09)
 | |
| * decoder
 | |
|   - flac: fix assertion failure while seeking
 | |
|   - flac: fix stream duration indicator
 | |
|   - fix seek problems in several plugins
 | |
| * fix spurious seek error "Failed to allocate silence buffer"
 | |
| * replay gain: fix "replay_gain_handler mixer" setting
 | |
| * DSD: use 0x69 as silence pattern
 | |
| * fix use-after-free bug on "close" and "kill"
 | |
| 
 | |
| ver 0.19.16 (2016/06/13)
 | |
| * faster seeking
 | |
| * fix system include path order
 | |
| * add missing DocBook file to tarball
 | |
| 
 | |
| ver 0.19.15 (2016/04/30)
 | |
| * decoder
 | |
|   - ffmpeg: support FFmpeg 3.0
 | |
|   - ffmpeg: use as fallback instead of "mad" if no plugin matches
 | |
|   - opus: support bigger OpusTags packets
 | |
| * fix more build failures on non-glibc builds due to constexpr Mutex
 | |
| * fix build failure due to missing include
 | |
| * fix unit test on Alpha
 | |
| 
 | |
| ver 0.19.14 (2016/03/18)
 | |
| * decoder
 | |
|   - dsdiff: fix off-by-one buffer overflow
 | |
|   - opus: limit tag size to 64 kB
 | |
| * archive
 | |
|   - iso9660: fix buffer overflow
 | |
| * fix quadratic runtime bug in the tag pool
 | |
| * fix build failures on non-glibc builds due to constexpr Mutex
 | |
| 
 | |
| ver 0.19.13 (2016/02/23)
 | |
| * tags
 | |
|   - aiff, riff: fix ID3 chunk padding
 | |
| * decoder
 | |
|   - ffmpeg: support the TAK codec
 | |
| * fix disappearing duration of remote songs during playback
 | |
| * initialize supplementary groups with glibc 2.19+
 | |
| 
 | |
| ver 0.19.12 (2015/12/15)
 | |
| * fix assertion failure on malformed UTF-8 tag
 | |
| * fix build failure on non-Linux systems
 | |
| * fix LimitRTTIME in systemd unit file
 | |
| 
 | |
| ver 0.19.11 (2015/10/27)
 | |
| * tags
 | |
|   - ape: fix buffer overflow
 | |
| * decoder
 | |
|   - ffmpeg: fix crash due to wrong avio_alloc_context() call
 | |
|   - gme: don't loop forever, fall back to GME's default play length
 | |
| * encoder
 | |
|   - flac: fix crash with 32 bit playback
 | |
| * mixer
 | |
|   - fix mixer lag after enabling/disabling output
 | |
| 
 | |
| ver 0.19.10 (2015/06/21)
 | |
| * input
 | |
|   - curl: fix deadlock on small responses
 | |
|   - smbclient: fix DFF playback
 | |
| * decoder
 | |
|   - ffmpeg: improve seeking accuracy
 | |
|   - fix stuck stream tags
 | |
| * encoder
 | |
|   - opus: fix bogus granulepos
 | |
| * output
 | |
|   - fix failure to open device right after booting
 | |
| * neighbor
 | |
|   - nfs: fix deadlock when connecting
 | |
| * fix "single" mode breakage due to queue edits
 | |
| 
 | |
| ver 0.19.9 (2015/02/06)
 | |
| * decoder
 | |
|   - dsdiff, dsf: raise ID3 tag limit to 1 MB
 | |
| * playlist: fix loading duplicate tag types from state file
 | |
| * despotify: remove defunct plugin
 | |
| * fix clock integer overflow on OS X
 | |
| * fix gcc 5.0 warnings
 | |
| * fix build failure with uClibc
 | |
| * fix build failure on non-POSIX operating systems
 | |
| * fix dependency issue on parallel Android build
 | |
| * fix database/state file saving on Windows
 | |
| 
 | |
| ver 0.19.8 (2015/01/14)
 | |
| * input
 | |
|   - curl: fix bug after rewinding from end-of-file
 | |
|   - mms: reduce delay at the beginning of playback
 | |
| * decoder
 | |
|   - dsdiff, dsf: allow ID3 tags larger than 4 kB
 | |
|   - ffmpeg: support interleaved floating point
 | |
| * fix clang 3.6 warnings
 | |
| * fix build failure on NetBSD
 | |
| 
 | |
| ver 0.19.7 (2014/12/17)
 | |
| * input
 | |
|   - nfs: fix crash while canceling a failing file open operation
 | |
|   - nfs: fix memory leak on connection failure
 | |
|   - nfs: fix reconnect after mount failure
 | |
|   - nfs: implement mount timeout (60 seconds)
 | |
| * storage
 | |
|   - nfs: implement I/O timeout (60 seconds)
 | |
| * playlist
 | |
|   - embcue: fix filename suffix detection
 | |
|   - don't skip non-existent songs in "listplaylist"
 | |
| * decoder
 | |
|   - ffmpeg: fix time stamp underflow
 | |
| * fix memory allocator bug on Windows
 | |
| 
 | |
| ver 0.19.6 (2014/12/08)
 | |
| * decoder
 | |
|   - ffmpeg: support FFmpeg 2.5
 | |
| * fix build failure with musl
 | |
| * android
 | |
|   - update libFLAC to 1.3.1
 | |
|   - update FFmpeg to 2.5
 | |
| 
 | |
| ver 0.19.5 (2014/11/26)
 | |
| * input
 | |
|   - nfs: fix crash on connection failure
 | |
| * archive
 | |
|   - zzip: fix crash after seeking
 | |
| * decoder
 | |
|   - dsdiff, dsf, opus: fix deadlock while seeking
 | |
|   - mp4v2: remove because of incompatible license
 | |
| 
 | |
| ver 0.19.4 (2014/11/18)
 | |
| * protocol
 | |
|   - workaround for buggy clients that send "add /"
 | |
| * decoder
 | |
|   - ffmpeg: support opus
 | |
|   - opus: add MIME types audio/ogg and application/ogg
 | |
| * fix crash on failed filename charset conversion
 | |
| * fix local socket detection from uid=0 (root)
 | |
| 
 | |
| ver 0.19.3 (2014/11/11)
 | |
| * protocol
 | |
|   - fix "(null)" result string to "list" when AlbumArtist is disabled
 | |
| * database
 | |
|   - upnp: fix breakage due to malformed URIs
 | |
| * input
 | |
|   - curl: another fix for redirected streams
 | |
| * decoder
 | |
|   - audiofile: fix crash while playing streams
 | |
|   - audiofile: fix bit rate calculation
 | |
|   - ffmpeg: support opus
 | |
|   - opus: fix bogus duration on streams
 | |
|   - opus: support chained streams
 | |
|   - opus: improved error logging
 | |
| * fix distorted audio with soxr resampler
 | |
| * fix build failure on Mac OS X with non-Apple compilers
 | |
| 
 | |
| ver 0.19.2 (2014/11/02)
 | |
| * input
 | |
|   - curl: fix redirected streams
 | |
| * playlist
 | |
|   - don't allow empty playlist name
 | |
|   - m3u: don't ignore unterminated last line
 | |
|   - m3u: recognize the file suffix ".m3u8"
 | |
| * decoder
 | |
|   - ignore URI query string for plugin detection
 | |
|   - faad: remove workaround for ancient libfaad2 ABI bug
 | |
|   - ffmpeg: recognize MIME type audio/aacp
 | |
|   - mad: fix negative replay gain values
 | |
| * output
 | |
|   - fix memory leak after filter initialization error
 | |
|   - fall back to PCM if given DSD sample rate is not supported
 | |
| * fix assertion failure on unsupported PCM conversion
 | |
| * auto-disable plugins that require GLib when --disable-glib is used
 | |
| 
 | |
| ver 0.19.1 (2014/10/19)
 | |
| * input
 | |
|   - mms: fix deadlock bug
 | |
| * playlist
 | |
|   - extm3u: fix Extended M3U detection
 | |
|   - m3u, extm3u, cue: fix truncated lines
 | |
| * fix build failure on Mac OS X
 | |
| * add missing file systemd/mpd.socket to tarball
 | |
| 
 | |
| ver 0.19 (2014/10/10)
 | |
| * protocol
 | |
|   - new commands "addtagid", "cleartagid", "listfiles", "listmounts",
 | |
|     "listneighbors", "mount", "rangeid", "unmount"
 | |
|   - "lsinfo" and "readcomments" allowed for remote files
 | |
|   - "listneighbors" lists file servers on the local network
 | |
|   - "playlistadd" supports file:///
 | |
|   - "idle" with unrecognized event name fails
 | |
|   - "list" on album artist falls back to the artist tag
 | |
|   - "list" and "count" allow grouping
 | |
|   - new "search"/"find" filter "modified-since"
 | |
|   - "seek*" allows fractional position
 | |
|   - close connection after syntax error
 | |
| * database
 | |
|   - proxy: forward "idle" events
 | |
|   - proxy: forward the "update" command
 | |
|   - proxy: copy "Last-Modified" from remote directories
 | |
|   - simple: compress the database file using gzip
 | |
|   - upnp: new plugin
 | |
|   - cancel the update on shutdown
 | |
| * storage
 | |
|   - music_directory can point to a remote file server
 | |
|   - nfs: new plugin
 | |
|   - smbclient: new plugin
 | |
| * playlist
 | |
|   - cue: fix bogus duration of the last track
 | |
|   - cue: restore CUE tracks from state file
 | |
|   - soundcloud: use https instead of http
 | |
|   - soundcloud: add default API key
 | |
| * archive
 | |
|   - read tags from songs in an archive
 | |
| * input
 | |
|   - alsa: new input plugin
 | |
|   - curl: options "verify_peer" and "verify_host"
 | |
|   - ffmpeg: update offset after seeking
 | |
|   - ffmpeg: improved error messages
 | |
|   - mms: non-blocking I/O
 | |
|   - nfs: new input plugin
 | |
|   - smbclient: new input plugin
 | |
| * filter
 | |
|   - volume: improved software volume dithering
 | |
| * decoder:
 | |
|   - vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based files as a comment to the song
 | |
|   - audiofile: support scanning remote files
 | |
|   - audiofile: log libaudiofile errors
 | |
|   - dsdiff, dsf: report bit rate
 | |
|   - dsdiff, dsf: implement seeking
 | |
|   - dsf: support DSD512
 | |
|   - dsf: support multi-channel files
 | |
|   - dsf: fix big-endian bugs
 | |
|   - dsf: fix noise at end of malformed file
 | |
|   - mpg123: support ID3v2, ReplayGain and MixRamp
 | |
|   - sndfile: support scanning remote files
 | |
|   - sndfile: support tags "comment", "album", "track", "genre"
 | |
|   - sndfile: native floating point playback
 | |
|   - sndfile: optimized 16 bit playback
 | |
|   - mp4v2: support playback of MP4 files.
 | |
| * encoder:
 | |
|   - shine: new encoder plugin
 | |
| * output
 | |
|   - alsa: support native DSD playback
 | |
|   - alsa: rename "DSD over USB" to "DoP"
 | |
|   - osx: fix hang after (un)plugging headphones
 | |
| * threads:
 | |
|   - the update thread runs at "idle" priority
 | |
|   - the output thread runs at "real-time" priority
 | |
|   - increase kernel timer slack on Linux
 | |
|   - name each thread (for debugging)
 | |
| * configuration
 | |
|   - allow playlist directory without music directory
 | |
|   - use XDG to auto-detect "music_directory" and "db_file"
 | |
| * add tags "AlbumSort", "MUSICBRAINZ_RELEASETRACKID"
 | |
| * disable global Latin-1 fallback for tag values
 | |
| * new resampler option using libsoxr
 | |
| * ARM NEON optimizations
 | |
| * install systemd unit for socket activation
 | |
| * Android port
 | |
| 
 | |
| ver 0.18.23 (2015/02/06)
 | |
| * despotify: remove defunct plugin
 | |
| * fix clock integer overflow on OS X
 | |
| * fix gcc 5.0 warnings
 | |
| 
 | |
| ver 0.18.22 (2015/01/14)
 | |
| * fix clang 3.6 warnings
 | |
| 
 | |
| ver 0.18.21 (2014/12/17)
 | |
| * playlist
 | |
|   - embcue: fix filename suffix detection
 | |
| * decoder
 | |
|   - ffmpeg: fix time stamp underflow
 | |
| 
 | |
| ver 0.18.20 (2014/12/08)
 | |
| * decoder
 | |
|   - ffmpeg: support FFmpeg 2.5
 | |
| * fix build failure with musl
 | |
| 
 | |
| ver 0.18.19 (2014/11/26)
 | |
| * archive
 | |
|   - zzip: fix crash after seeking
 | |
| 
 | |
| ver 0.18.18 (2014/11/18)
 | |
| * decoder
 | |
|   - ffmpeg: support opus
 | |
| * fix crash on failed filename charset conversion
 | |
| * fix local socket detection from uid=0 (root)
 | |
| 
 | |
| ver 0.18.17 (2014/11/02)
 | |
| * playlist
 | |
|   - don't allow empty playlist name
 | |
|   - m3u: recognize the file suffix ".m3u8"
 | |
| * decoder
 | |
|   - ignore URI query string for plugin detection
 | |
|   - faad: remove workaround for ancient libfaad2 ABI bug
 | |
|   - ffmpeg: recognize MIME type audio/aacp
 | |
| 
 | |
| ver 0.18.16 (2014/09/26)
 | |
| * fix DSD breakage due to typo in configure.ac
 | |
| 
 | |
| ver 0.18.15 (2014/09/26)
 | |
| * command
 | |
|   - list: reset used size after the list has been processed
 | |
| * fix MixRamp
 | |
| * work around build failure on NetBSD
 | |
| 
 | |
| ver 0.18.14 (2014/09/11)
 | |
| * protocol
 | |
|   - fix range parser bug on certain 32 bit architectures
 | |
| * decoder
 | |
|   - audiofile: fix crash after seeking
 | |
|   - ffmpeg: fix crash with ffmpeg/libav version 11
 | |
|   - fix assertion failure after seeking
 | |
| 
 | |
| ver 0.18.13 (2014/08/31)
 | |
| * protocol
 | |
|   - don't change song on "seekcur" in random mode
 | |
| 
 | |
| * decoder
 | |
|   - dsdiff, dsf: fix endless loop on malformed file
 | |
|   - ffmpeg: support ffmpeg/libav version 11
 | |
|   - gme: fix song duration
 | |
| * output
 | |
|   - alsa: fix endless loop at end of file in dsd_usb mode
 | |
| * fix state file saver
 | |
| * fix build failure on Darwin
 | |
| 
 | |
| ver 0.18.12 (2014/07/30)
 | |
| * database
 | |
|   - proxy: fix build failure with libmpdclient 2.2
 | |
|   - proxy: fix add/search and other commands with libmpdclient < 2.9
 | |
| * decoder
 | |
|   - audiofile: improve responsiveness
 | |
|   - audiofile: fix WAV stream playback
 | |
|   - dsdiff, dsf: fix stream playback
 | |
|   - dsdiff: fix metadata parser bug (uninitialized variables)
 | |
|   - faad: estimate song duration for remote files
 | |
|   - sndfile: improve responsiveness
 | |
| * randomize next song when enabling "random" mode while not playing
 | |
| * randomize next song when adding to single-song queue
 | |
| 
 | |
| ver 0.18.11 (2014/05/12)
 | |
| * decoder
 | |
|   - opus: fix missing song length on high-latency files
 | |
| * fix race condition when using GLib event loop (non-Linux)
 | |
| 
 | |
| ver 0.18.10 (2014/04/10)
 | |
| * decoder
 | |
|   - ffmpeg: fix seeking bug
 | |
|   - ffmpeg: handle unknown stream start time
 | |
|   - gme: fix memory leak
 | |
|   - sndfile: work around libsndfile bug on partial read
 | |
| * don't interrupt playback when current song gets deleted
 | |
| 
 | |
| ver 0.18.9 (2014/03/02)
 | |
| * protocol
 | |
|   - "findadd" requires the "add" permission
 | |
| * output
 | |
|   - alsa: improved workaround for noise after manual song change
 | |
| * decoder
 | |
|   - vorbis: fix linker failure when libvorbis/libogg are static
 | |
| * encoder
 | |
|   - vorbis: fix another linker failure
 | |
| * output
 | |
|   - pipe: fix hanging child process due to blocked signals
 | |
| * fix build failure due to missing signal.h include
 | |
| 
 | |
| ver 0.18.8 (2014/02/07)
 | |
| * decoder
 | |
|   - ffmpeg: support libav v10_alpha1
 | |
| * encoder
 | |
|   - vorbis: fix linker failure
 | |
| * output
 | |
|   - roar: documentation
 | |
| * more robust Icy-Metadata parser
 | |
| * fix Solaris build failure
 | |
| 
 | |
| ver 0.18.7 (2014/01/13)
 | |
| * playlist
 | |
|   - pls: fix crash after parser error
 | |
|   - soundcloud: fix build failure with libyajl 2.0.1
 | |
| * decoder
 | |
|   - faad: fix memory leak
 | |
|   - mpcdec: reject libmpcdec SV7 in configure script
 | |
| * daemon: don't initialize supplementary groups when already running
 | |
|   as the configured user
 | |
| 
 | |
| ver 0.18.6 (2013/12/24)
 | |
| * input
 | |
|   - cdio_paranoia: support libcdio-paranoia 0.90
 | |
| * tags
 | |
|   - riff: recognize upper-case "ID3" chunk name
 | |
| * decoder
 | |
|   - ffmpeg: use relative timestamps
 | |
| * output
 | |
|   - openal: fix build failure on Mac OS X
 | |
|   - osx: fix build failure
 | |
| * mixer
 | |
|   - alsa: fix build failure with uClibc
 | |
| * fix replay gain during cross-fade
 | |
| * accept files without metadata
 | |
| 
 | |
| ver 0.18.5 (2013/11/23)
 | |
| * configuration
 | |
|   - fix crash when db_file is configured without music_directory
 | |
|   - fix crash on "stats" without db_file/music_directory
 | |
| * database
 | |
|   - proxy: auto-reload statistics
 | |
|   - proxy: provide "db_update" in "stats" response
 | |
| * input
 | |
|   - curl: work around stream resume bug (fixed in libcurl 7.32.0)
 | |
| * decoder
 | |
|   - fluidsynth: auto-detect by default
 | |
| * clip 24 bit data from libsamplerate
 | |
| * fix ia64, mipsel and other little-endian architectures
 | |
| * fix build failures due to missing includes
 | |
| * fix build failure with static libmpdclient
 | |
| 
 | |
| ver 0.18.4 (2013/11/13)
 | |
| * decoder
 | |
|   - dsdiff: fix byte order bug
 | |
| * fix build failures due to missing includes
 | |
| * libc++ compatibility
 | |
| 
 | |
| ver 0.18.3 (2013/11/08)
 | |
| * fix stuck MPD after song change (0.18.2 regression)
 | |
| 
 | |
| ver 0.18.2 (2013/11/07)
 | |
| * protocol:
 | |
|   - "close" flushes the output buffer
 | |
| * input:
 | |
|   - cdio_paranoia: add setting "default_byte_order"
 | |
|   - curl: fix bug with redirected streams
 | |
| * playlist:
 | |
|   - pls: fix reversed song order
 | |
| * decoder:
 | |
|   - audiofile: require libaudiofile 0.3 due to API breakage
 | |
|   - dsf: enable DSD128
 | |
| * enable buffering when starting playback (regression fix)
 | |
| * fix build failures due to missing includes
 | |
| * fix big-endian support
 | |
| 
 | |
| ver 0.18.1 (2013/11/04)
 | |
| * protocol:
 | |
|   - always ignore whitespace at the end of the line
 | |
| * networking:
 | |
|   - log UNIX domain path names instead of "localhost"
 | |
|   - open listener sockets in the order they were configured
 | |
|   - don't abort if IPv6 is not available
 | |
| * output:
 | |
|   - alsa: avoid endless loop in Raspberry Pi workaround
 | |
| * filter:
 | |
|   - autoconvert: fix "volume_normalization" with mp3 files
 | |
| * add missing files to source tarball
 | |
| 
 | |
| ver 0.18 (2013/10/31)
 | |
| * configuration:
 | |
|   - allow tilde paths for socket
 | |
|   - default filesystem charset is UTF-8 instead of ISO-8859-1
 | |
|   - increase default buffer size to 4 MB
 | |
| * protocol:
 | |
|   - new command "readcomments" lists arbitrary file tags
 | |
|   - new command "toggleoutput"
 | |
|   - "find"/"search" with "any" does not match file name
 | |
|   - "search" and "find" with base URI (keyword "base")
 | |
|   - search for album artist falls back to the artist tag
 | |
|   - re-add the "volume" command
 | |
| * input:
 | |
|   - curl: enable https
 | |
|   - soup: plugin removed
 | |
| * playlist:
 | |
|   - lastfm: remove defunct Last.fm support
 | |
| * decoder:
 | |
|   - adplug: new decoder plugin using libadplug
 | |
|   - dsf: don't play junk at the end of the "data" chunk
 | |
|   - ffmpeg: drop support for pre-0.8 ffmpeg
 | |
|   - flac: require libFLAC 1.2 or newer
 | |
|   - flac: support FLAC files inside archives
 | |
|   - opus: new decoder plugin for the Opus codec
 | |
|   - vorbis: skip 16 bit quantisation, provide float samples
 | |
|   - mikmod: add "loop" configuration parameter
 | |
|   - modplug: add "loop_count" configuration parameter
 | |
|   - mp4ff: obsolete plugin removed
 | |
| * encoder:
 | |
|   - opus: new encoder plugin for the Opus codec
 | |
|   - vorbis: accept floating point input samples
 | |
| * output:
 | |
|   - new option "tags" may be used to disable sending tags to output
 | |
|   - alsa: workaround for noise after manual song change
 | |
|   - ffado: remove broken plugin
 | |
|   - httpd: support HEAD requests
 | |
|   - mvp: remove obsolete plugin
 | |
|   - osx: disabled by default because it's unmaintained and unsupported
 | |
| * improved decoder/output error reporting
 | |
| * eliminate timer wakeup on idle MPD
 | |
| * fix unresponsive MPD while waiting for stream
 | |
| * port of the source code to C++11
 | |
| 
 | |
| ver 0.17.6 (2013/10/14)
 | |
| * mixer:
 | |
|   - alsa: fix busy loop when USB sound device gets unplugged
 | |
| * decoder:
 | |
|   - modplug: fix build with Debian package 1:0.8.8.4-4
 | |
| * stored playlists:
 | |
|   - fix loading playlists with references to local files
 | |
|   - obey filesystem_charset for URLs
 | |
| 
 | |
| ver 0.17.5 (2013/08/04)
 | |
| * protocol:
 | |
|   - fix "playlistadd" with URI
 | |
|   - fix "move" relative to current when there is no current song
 | |
| * decoder:
 | |
|   - ffmpeg: support "application/flv"
 | |
|   - mikmod: adapt to libmikmod 3.2
 | |
| * configure.ac:
 | |
|   - detect system "ar"
 | |
| 
 | |
| ver 0.17.4 (2013/04/08)
 | |
| * protocol:
 | |
|   - allow to omit END in ranges (START:END)
 | |
|   - don't emit IDLE_PLAYER before audio format is known
 | |
| * decoder:
 | |
|   - ffmpeg: support float planar audio (ffmpeg 1.1)
 | |
|   - ffmpeg: fix AVFrame allocation
 | |
| * player:
 | |
|   - implement missing "idle" events on output errors
 | |
| * clock: fix build failure
 | |
| 
 | |
| ver 0.17.3 (2013/01/06)
 | |
| * output:
 | |
|   - osx: fix pops during playback
 | |
|   - recorder: fix I/O error check
 | |
|   - shout: fix memory leak in error handler
 | |
|   - recorder, shout: support Ogg packets that span more than one page
 | |
| * decoder:
 | |
|   - ffmpeg: ignore negative time stamps
 | |
|   - ffmpeg: support planar audio
 | |
| * playlist:
 | |
|   - cue: fix memory leak
 | |
|   - cue: fix CUE files with only one track
 | |
| 
 | |
| ver 0.17.2 (2012/09/30)
 | |
| * protocol:
 | |
|   - fix crash in local file check
 | |
| * decoder:
 | |
|   - fluidsynth: remove throttle (requires libfluidsynth 1.1)
 | |
|   - fluidsynth: stop playback at end of file
 | |
|   - fluidsynth: check MIDI file format while scanning
 | |
|   - fluidsynth: add sample rate setting
 | |
|   - wavpack: support all APEv2 tags
 | |
| * output:
 | |
|   - httpd: use monotonic clock, avoid hiccups after system clock adjustment
 | |
|   - httpd: fix throttling bug after resuming playback
 | |
| * playlist:
 | |
|   - cue: map "PERFORMER" to "artist" or "album artist"
 | |
| * mapper: fix non-UTF8 music directory name
 | |
| * mapper: fix potential crash in file permission check
 | |
| * playlist: fix use-after-free bug
 | |
| * playlist: fix memory leak
 | |
| * state_file: save song priorities
 | |
| * player: disable cross-fading in "single" mode
 | |
| * update: fix unsafe readlink() usage
 | |
| * configure.ac:
 | |
|   - don't auto-detect the vorbis encoder when Tremor is enabled
 | |
| 
 | |
| ver 0.17.1 (2012/07/31)
 | |
| * protocol:
 | |
|   - require appropriate permissions for searchadd{,pl}
 | |
| * tags:
 | |
|   - aiff: support the AIFC format
 | |
|   - ape: check for ID3 if no usable APE tag was found
 | |
| * playlist:
 | |
|   - cue: support file types "MP3", "AIFF"
 | |
| * output:
 | |
|   - fix noisy playback with conversion and software volume
 | |
| 
 | |
| ver 0.17 (2012/06/27)
 | |
| * protocol:
 | |
|   - support client-to-client communication
 | |
|   - "update" and "rescan" need only "CONTROL" permission
 | |
|   - new command "seekcur" for simpler seeking within current song
 | |
|   - new command "config" dumps location of music directory
 | |
|   - add range parameter to command "load"
 | |
|   - print extra "playlist" object for embedded CUE sheets
 | |
|   - new commands "searchadd", "searchaddpl"
 | |
| * input:
 | |
|   - cdio_paranoia: new input plugin to play audio CDs
 | |
|   - curl: enable CURLOPT_NETRC
 | |
|   - curl: non-blocking I/O
 | |
|   - soup: new input plugin based on libsoup
 | |
| * tags:
 | |
|   - RVA2: support separate album/track replay gain
 | |
| * decoder:
 | |
|   - mpg123: implement seeking
 | |
|   - ffmpeg: drop support for pre-0.5 ffmpeg
 | |
|   - ffmpeg: support WebM
 | |
|   - oggflac: delete this obsolete plugin
 | |
|   - dsdiff: new decoder plugin
 | |
| * output:
 | |
|   - alsa: support DSD-over-USB (dCS suggested standard)
 | |
|   - httpd: support for streaming to a DLNA client
 | |
|   - openal: improve buffer cancellation
 | |
|   - osx: allow user to specify other audio devices
 | |
|   - osx: implement 32 bit playback
 | |
|   - shout: add possibility to set url
 | |
|   - roar: new output plugin for RoarAudio
 | |
|   - winmm: fail if wrong device specified instead of using default device
 | |
| * mixer:
 | |
|   - alsa: listen for external volume changes
 | |
| * playlist:
 | |
|   - allow references to songs outside the music directory
 | |
|   - new CUE parser, without libcue
 | |
|   - soundcloud: new plugin for accessing soundcloud.com
 | |
| * state_file: add option "restore_paused"
 | |
| * cue: show CUE track numbers
 | |
| * allow port specification in "bind_to_address" settings
 | |
| * support floating point samples
 | |
| * systemd socket activation
 | |
| * improve --version output
 | |
| * WIN32: fix renaming of stored playlists with non-ASCII names
 | |
| 
 | |
| 
 | |
| ver 0.16.8 (2012/04/04)
 | |
| * fix for libsamplerate assertion failure
 | |
| * decoder:
 | |
|   - vorbis (and others): fix seeking at startup
 | |
|   - ffmpeg: read the "year" tag
 | |
| * encoder:
 | |
|   - vorbis: generate end-of-stream packet before tag
 | |
|   - vorbis: generate end-of-stream packet when playback ends
 | |
| * output:
 | |
|   - jack: check for connection failure before starting playback
 | |
|   - jack: workaround for libjack1 crash bug
 | |
|   - osx: fix stuttering due to buffering bug
 | |
| * fix endless loop in text file reader
 | |
| * update: skip symlinks in path that is to be updated
 | |
| 
 | |
| 
 | |
| ver 0.16.7 (2012/02/04)
 | |
| * input:
 | |
|   - ffmpeg: support libavformat 0.7
 | |
| * decoder:
 | |
|   - ffmpeg: support libavformat 0.8, libavcodec 0.9
 | |
|   - ffmpeg: support all MPD tags
 | |
| * output:
 | |
|   - httpd: fix excessive buffering
 | |
|   - openal: force 16 bit playback, as 8 bit doesn't work
 | |
|   - osx: remove sleep call from render callback
 | |
|   - osx: clear render buffer when there's not enough data
 | |
| * fix moving after current song
 | |
| 
 | |
| 
 | |
| ver 0.16.6 (2011/12/01)
 | |
| * decoder:
 | |
|   - fix assertion failure when resuming streams
 | |
|   - ffmpeg: work around bogus channel count
 | |
| * encoder:
 | |
|   - flac, null, wave: fix buffer corruption bug
 | |
|   - wave: support packed 24 bit samples
 | |
| * mapper: fix the bogus "not a directory" error message
 | |
| * mapper: check "x" and "r" permissions on music directory
 | |
| * log: print reason for failure
 | |
| * event_pipe: fix WIN32 regression
 | |
| * define WINVER in ./configure
 | |
| * WIN32: autodetect filesystem encoding
 | |
| 
 | |
| 
 | |
| ver 0.16.5 (2011/10/09)
 | |
| * configure.ac
 | |
|   - disable assertions in the non-debugging build
 | |
|   - show solaris plugin result correctly
 | |
|   - add option --enable-solaris-output
 | |
| * pcm_format: fix 32-to-24 bit conversion (the "silence" bug)
 | |
| * input:
 | |
|   - rewind: reduce heap usage
 | |
| * decoder:
 | |
|   - ffmpeg: higher precision timestamps
 | |
|   - ffmpeg: don't require key frame for seeking
 | |
|   - fix CUE track seeking
 | |
| * output:
 | |
|   - openal: auto-fallback to mono if channel count is unsupported
 | |
| * player:
 | |
|   - make seeking to CUE track more reliable
 | |
|   - the "seek" command works when MPD is stopped
 | |
|   - restore song position from state file (bug fix)
 | |
|   - fix crash that sometimes occurred when audio device fails on startup
 | |
|   - fix absolute path support in playlists
 | |
| * WIN32: close sockets properly
 | |
| * install systemd service file if systemd is available
 | |
| 
 | |
| 
 | |
| ver 0.16.4 (2011/09/01)
 | |
| * don't abort configure when avahi is not found
 | |
| * auto-detect libmad without pkg-config
 | |
| * fix memory leaks
 | |
| * don't resume playback when seeking to another song while paused
 | |
| * apply follow_inside_symlinks to absolute symlinks
 | |
| * fix playback discontinuation after seeking
 | |
| * input:
 | |
|   - curl: limit the receive buffer size
 | |
|   - curl: implement a hard-coded timeout of 10 seconds
 | |
| * decoder:
 | |
|   - ffmpeg: workaround for semantic API change in recent ffmpeg versions
 | |
|   - flac: validate the sample rate when scanning the tag
 | |
|   - wavpack: obey all decoder commands, stop at CUE track border
 | |
| * encoder:
 | |
|   - vorbis: don't send end-of-stream on flush
 | |
| * output:
 | |
|   - alsa: fix SIGFPE when alsa announces a period size of 0
 | |
|   - httpd: don't warn on client disconnect
 | |
|   - osx: don't drain the buffer when closing
 | |
|   - pulse: fix deadlock when resuming the stream
 | |
|   - pulse: fix deadlock when the stream was suspended
 | |
| 
 | |
| 
 | |
| ver 0.16.3 (2011/06/04)
 | |
| * fix assertion failure in audio format mask parser
 | |
| * fix NULL pointer dereference in playlist parser
 | |
| * fix playlist files in base music directory
 | |
| * database: allow directories with just playlists
 | |
| * decoder:
 | |
|   - ffmpeg: support libavcodec 0.7
 | |
| 
 | |
| 
 | |
| ver 0.16.2 (2011/03/18)
 | |
| * configure.ac:
 | |
|   - fix bashism in tremor test
 | |
| * decoder:
 | |
|   - tremor: fix configure test
 | |
|   - gme: detect end of song
 | |
| * encoder:
 | |
|   - vorbis: reset the Ogg stream after flush
 | |
| * output:
 | |
|   - httpd: fix uninitialized variable
 | |
|   - httpd: include sys/socket.h
 | |
|   - oss: AFMT_S24_PACKED is little-endian
 | |
|   - oss: disable 24 bit playback on FreeBSD
 | |
| 
 | |
| 
 | |
| ver 0.16.1 (2011/01/09)
 | |
| * audio_check: fix parameter in prototype
 | |
| * add void casts to suppress "result unused" warnings (clang)
 | |
| * input:
 | |
|   - ffado: disable by default
 | |
| * decoder:
 | |
|   - mad: work around build failure on Solaris
 | |
|   - resolve modplug vs. libsndfile cflags/headers conflict
 | |
| * output:
 | |
|   - solaris: add missing parameter to open_cloexec() cal
 | |
|   - osx: fix up audio format first, then apply it to device
 | |
| * player_thread: discard empty chunks while cross-fading
 | |
| * player_thread: fix assertion failure due to early seek
 | |
| * output_thread: fix double lock
 | |
| 
 | |
| 
 | |
| ver 0.16 (2010/12/11)
 | |
| * protocol:
 | |
|   - send song modification time to client
 | |
|   - added "update" idle event
 | |
|   - removed the deprecated "volume" command
 | |
|   - added the "findadd" command
 | |
|   - range support for "delete"
 | |
|   - "previous" really plays the previous song
 | |
|   - "addid" with negative position is deprecated
 | |
|   - "load" supports remote playlists (extm3u, pls, asx, xspf, lastfm://)
 | |
|   - allow changing replay gain mode on-the-fly
 | |
|   - omitting the range end is possible
 | |
|   - "update" checks if the path is malformed
 | |
| * archive:
 | |
|   - iso: renamed plugin to "iso9660"
 | |
|   - zip: renamed plugin to "zzip"
 | |
| * input:
 | |
|   - lastfm: obsolete plugin removed
 | |
|   - ffmpeg: new input plugin using libavformat's "avio" library
 | |
| * tags:
 | |
|   - added tags "ArtistSort", "AlbumArtistSort"
 | |
|   - id3: revised "performer" tag support
 | |
|   - id3: support multiple values
 | |
|   - ape: MusicBrainz tags
 | |
|   - ape: support multiple values
 | |
| * decoders:
 | |
|   - don't try a plugin twice (MIME type & suffix)
 | |
|   - don't fall back to "mad" unless no plugin matches
 | |
|   - ffmpeg: support multiple tags
 | |
|   - ffmpeg: convert metadata to generic format
 | |
|   - ffmpeg: implement the libavutil log callback
 | |
|   - sndfile: new decoder plugin based on libsndfile
 | |
|   - flac: moved CUE sheet support to a playlist plugin
 | |
|   - flac: support streams without STREAMINFO block
 | |
|   - mikmod: sample rate is configurable
 | |
|   - mpg123: new decoder plugin based on libmpg123
 | |
|   - sidplay: support sub-tunes
 | |
|   - sidplay: implemented songlength database
 | |
|   - sidplay: support seeking
 | |
|   - sidplay: play monaural SID tunes in mono
 | |
|   - sidplay: play mus, str, prg, x00 files
 | |
|   - wavpack: activate 32 bit support
 | |
|   - wavpack: allow more than 2 channels
 | |
|   - mp4ff: rename plugin "mp4" to "mp4ff"
 | |
| * encoders:
 | |
|   - twolame: new encoder plugin based on libtwolame
 | |
|   - flac: new encoder plugin based on libFLAC
 | |
|   - wave: new encoder plugin for PCM WAV format
 | |
| * output:
 | |
|   - recorder: new output plugin for recording radio streams
 | |
|   - alsa: don't recover on CANCEL
 | |
|   - alsa: fill period buffer with silence before draining
 | |
|   - openal: new output plugin
 | |
|   - pulse: announce "media.role=music"
 | |
|   - pulse: renamed context to "Music Player Daemon"
 | |
|   - pulse: connect to server on MPD startup, implement pause
 | |
|   - jack: require libjack 0.100
 | |
|   - jack: don't disconnect during pause
 | |
|   - jack: connect to server on MPD startup
 | |
|   - jack: added options "client_name", "server_name"
 | |
|   - jack: clear ring buffers before activating
 | |
|   - jack: renamed option "ports" to "destination_ports"
 | |
|   - jack: support more than two audio channels
 | |
|   - httpd: bind port when output is enabled
 | |
|   - httpd: added name/genre/website configuration
 | |
|   - httpd: implement "pause"
 | |
|   - httpd: bind_to_address support (including IPv6)
 | |
|   - oss: 24 bit support via OSS4
 | |
|   - win32: new output plugin for Windows Wave
 | |
|   - shout, httpd: more responsive to control commands
 | |
|   - wildcards allowed in audio_format configuration
 | |
|   - consistently lock audio output objects
 | |
| * player:
 | |
|   - drain audio outputs at the end of the playlist
 | |
| * mixers:
 | |
|   - removed support for legacy mixer configuration
 | |
|   - reimplemented software volume as mixer+filter plugin
 | |
|   - per-device software/hardware mixer setting
 | |
| * commands:
 | |
|   - added new "status" line with more precise "elapsed time"
 | |
| * update:
 | |
|   - automatically update the database with Linux inotify
 | |
|   - support .mpdignore files in the music directory
 | |
|   - sort songs by album name first, then disc/track number
 | |
|   - rescan after metadata_to_use change
 | |
| * normalize: upgraded to AudioCompress 2.0
 | |
|   - automatically convert to 16 bit samples
 | |
| * replay gain:
 | |
|   - reimplemented as a filter plugin
 | |
|   - fall back to track gain if album gain is unavailable
 | |
|   - optionally use hardware mixer to apply replay gain
 | |
|   - added mode "auto"
 | |
|   - parse replay gain from APE tags
 | |
| * log unused/unknown block parameters
 | |
| * removed the deprecated "error_file" option
 | |
| * save state when stopped
 | |
| * renamed option "--stdout" to "--stderr"
 | |
| * removed options --create-db and --no-create-db
 | |
| * state_file: save only if something has changed
 | |
| * database: eliminated maximum line length
 | |
| * log: redirect stdout/stderr to /dev/null if syslog is used
 | |
| * set the close-on-exec flag on all file descriptors
 | |
| * pcm_volume, pcm_mix: implemented 32 bit support
 | |
| * support packed 24 bit samples
 | |
| * CUE sheet support
 | |
| * support for MixRamp tags
 | |
| * obey $(sysconfdir) for default mpd.conf location
 | |
| * build with large file support by default
 | |
| * added test suite ("make check")
 | |
| * require GLib 2.12
 | |
| * added libwrap support
 | |
| * make single mode 'sticky'
 | |
| 
 | |
| 
 | |
| ver 0.15.17 (2011/??/??)
 | |
| * encoder:
 | |
|   - vorbis: reset the Ogg stream after flush
 | |
| * decoders:
 | |
|   - vorbis: fix tremor support
 | |
| 
 | |
| 
 | |
| ver 0.15.16 (2011/03/13)
 | |
| * output:
 | |
|   - ao: initialize the ao_sample_format struct
 | |
|   - jack: fix crash with mono playback
 | |
| * encoders:
 | |
|   - lame: explicitly configure the output sample rate
 | |
| * update: log all file permission problems
 | |
| 
 | |
| 
 | |
| ver 0.15.15 (2010/11/08)
 | |
| * input:
 | |
|   - rewind: fix assertion failure
 | |
| * output:
 | |
|   - shout: artist comes first in stream title
 | |
| 
 | |
| 
 | |
| ver 0.15.14 (2010/11/06)
 | |
| * player_thread: fix assertion failure due to wrong music pipe on seek
 | |
| * output_thread: fix assertion failure due to race condition in OPEN
 | |
| * input:
 | |
|   - rewind: fix double free bug
 | |
| * decoders:
 | |
|   - mp4ff, ffmpeg: add extension ".m4b" (audio book)
 | |
| 
 | |
| 
 | |
| ver 0.15.13 (2010/10/10)
 | |
| * output_thread: fix race condition after CANCEL command
 | |
| * output:
 | |
|   - httpd: fix random data in stream title
 | |
|   - httpd: MIME type audio/ogg for Ogg Vorbis
 | |
| * input:
 | |
|   - rewind: update MIME not only once
 | |
|   - rewind: enable for MMS
 | |
| 
 | |
| 
 | |
| ver 0.15.12 (2010/07/20)
 | |
| * input:
 | |
|   - curl: remove assertion after curl_multi_fdset()
 | |
| * tags:
 | |
|   - rva2: set "gain", not "peak"
 | |
| * decoders:
 | |
|   - wildmidi: support version 0.2.3
 | |
| 
 | |
| 
 | |
| ver 0.15.11 (2010/06/14)
 | |
| * tags:
 | |
|   - ape: support album artist
 | |
| * decoders:
 | |
|   - mp4ff: support tags "album artist", "albumartist", "band"
 | |
|   - mikmod: fix memory leak
 | |
|   - vorbis: handle uri==NULL
 | |
|   - ffmpeg: fix memory leak
 | |
|   - ffmpeg: free AVFormatContext on error
 | |
|   - ffmpeg: read more metadata
 | |
|   - ffmpeg: fix libavformat 0.6 by using av_open_input_stream()
 | |
| * playlist: emit IDLE_OPTIONS when resetting single mode
 | |
| * listen: make get_remote_uid() work on BSD
 | |
| 
 | |
| 
 | |
| ver 0.15.10 (2010/05/30)
 | |
| * input:
 | |
|   - mms: fix memory leak in error handler
 | |
|   - mms: initialize the "eof" attribute
 | |
| * decoders:
 | |
|   - mad: properly calculate ID3 size without libid3tag
 | |
| 
 | |
| 
 | |
| ver 0.15.9 (2010/03/21)
 | |
| * decoders:
 | |
|   - mad: fix crash when seeking at end of song
 | |
|   - mpcdec: fix negative shift on fixed-point samples
 | |
|   - mpcdec: fix replay gain formula with v8
 | |
| * playlist: fix single+repeat in random mode
 | |
| * player: postpone song tags during cross-fade
 | |
| 
 | |
| 
 | |
| ver 0.15.8 (2010/01/17)
 | |
| * input:
 | |
|   - curl: allow rewinding with Icy-Metadata
 | |
| * decoders:
 | |
|   - ffmpeg, flac, vorbis: added more flac/vorbis MIME types
 | |
|   - ffmpeg: enabled libavformat's file name extension detection
 | |
| * dbUtils: return empty tag value only if no value was found
 | |
| * decoder_thread: fix CUE track playback
 | |
| * queue: don't repeat current song in consume mode
 | |
| 
 | |
| 
 | |
| ver 0.15.7 (2009/12/27)
 | |
| * archive:
 | |
|   - close archive when stream is closed
 | |
|   - iso, zip: fixed memory leak in destructor
 | |
| * input:
 | |
|   - file: don't fall back to parent directory
 | |
|   - archive: fixed memory leak in error handler
 | |
| * tags:
 | |
|   - id3: fix ID3v1 charset conversion
 | |
| * decoders:
 | |
|   - eliminate jitter after seek failure
 | |
|   - ffmpeg: don't try to force stereo
 | |
|   - wavpack: allow fine-grained seeking
 | |
| * mixer: explicitly close all mixers on shutdown
 | |
| * mapper: fix memory leak when playlist_directory is not set
 | |
| * mapper: apply filesystem_charset to playlists
 | |
| * command: verify playlist name in the "rm" command
 | |
| * database: return multiple tag values per song
 | |
| 
 | |
| 
 | |
| ver 0.15.6 (2009/11/18)
 | |
| * input:
 | |
|   - lastfm: fixed variable name in GLib<2.16 code path
 | |
|   - input/mms: require libmms 0.4
 | |
| * archive:
 | |
|   - zzip: require libzzip 0.13
 | |
| * tags:
 | |
|   - id3: allow 4 MB RIFF/AIFF tags
 | |
| * decoders:
 | |
|   - ffmpeg: convert metadata
 | |
|   - ffmpeg: align the output buffer
 | |
|   - oggflac: rewind stream after FLAC detection
 | |
|   - flac: fixed CUE seeking range check
 | |
|   - flac: fixed NULL pointer dereference in CUE code
 | |
| * output_thread: check again if output is open on PAUSE
 | |
| * update: delete ignored symlinks from database
 | |
| * database: increased maximum line length to 32 kB
 | |
| * sticker: added fallback for sqlite3_prepare_v2()
 | |
| 
 | |
| 
 | |
| ver 0.15.5 (2009/10/18)
 | |
| * input:
 | |
|   - curl: don't abort if a packet has only metadata
 | |
|   - curl: fixed endless loop during buffering
 | |
| * tags:
 | |
|   - riff, aiff: fixed "limited range" gcc warning
 | |
| * decoders:
 | |
|   - flac: fixed two memory leaks in the CUE tag loader
 | |
| * decoder_thread: change the fallback decoder name to "mad"
 | |
| * output_thread: check again if output is open on CANCEL
 | |
| * update: fixed memory leak during container scan
 | |
| 
 | |
| 
 | |
| ver 0.15.4 (2009/10/03)
 | |
| * decoders:
 | |
|   - vorbis: revert "faster tag scanning with ov_test_callback()"
 | |
|   - faad: skip assertion failure on large ID3 tags
 | |
|   - ffmpeg: use the "artist" tag if "author" is not present
 | |
| * output:
 | |
|   - osx: fix the OS X 10.6 build
 | |
| 
 | |
| 
 | |
| ver 0.15.3 (2009/08/29)
 | |
| * decoders:
 | |
|   - vorbis: faster tag scanning with ov_test_callback()
 | |
| * output:
 | |
|   - fix stuttering due to uninitialized variable
 | |
| * update: don't re-read unchanged container files
 | |
| 
 | |
| 
 | |
| ver 0.15.2 (2009/08/15)
 | |
| * tags:
 | |
|   - ape: check the tag size (fixes integer underflow)
 | |
|   - ape: added protection against large memory allocations
 | |
| * decoders:
 | |
|   - mad: skip ID3 frames when libid3tag is disabled
 | |
|   - flac: parse all replaygain tags
 | |
|   - flac: don't allocate cuesheet twice (memleak)
 | |
| * output:
 | |
|   - shout: fixed stuck pause bug
 | |
|   - shout: minimize the unpause latency
 | |
| * update: free empty path string (memleak)
 | |
| * update: free temporary string in container scan (memleak)
 | |
| * directory: free empty directories after removing them (memleak)
 | |
| 
 | |
| 
 | |
| ver 0.15.1 (2009/07/15)
 | |
| * decoders:
 | |
|   - flac: fix assertion failure in tag_free() call
 | |
| * output:
 | |
|   - httpd: include sys/types.h (fixes Mac OS X)
 | |
| * commands:
 | |
|   - don't resume playback when stopping during pause
 | |
| * database: fixed NULL pointer dereference after charset change
 | |
| * log: fix double free() bug during shutdown
 | |
| 
 | |
| 
 | |
| ver 0.15 (2009/06/23)
 | |
| * input:
 | |
|   - parse Icy-Metadata
 | |
|   - added support for the MMS protocol
 | |
|   - hide HTTP password in playlist
 | |
|   - lastfm: new input plugin for last.fm radio (experimental and incomplete!)
 | |
|   - curl: moved proxy settings to "input" block
 | |
| * tags:
 | |
|   - support the "album artist" tag
 | |
|   - support MusicBrainz tags
 | |
|   - parse RVA2 tags in mp3 files
 | |
|   - parse ID3 tags in AIFF/RIFF/WAV files
 | |
|   - ffmpeg: support new metadata API
 | |
|   - ffmpeg: added support for the tags comment, genre, year
 | |
| * decoders:
 | |
|   - audiofile: streaming support added
 | |
|   - audiofile: added 24 bit support
 | |
|   - modplug: another MOD plugin, based on libmodplug
 | |
|   - mikmod disabled by default, due to severe security issues in libmikmod
 | |
|   - sidplay: new decoder plugin for C64 SID (using libsidplay2)
 | |
|   - fluidsynth: new decoder plugin for MIDI files (using libfluidsynth,
 | |
|     experimental due to shortcomings in libfluidsynth)
 | |
|   - wildmidi: another decoder plugin for MIDI files (using libwildmidi)
 | |
|   - flac: parse stream tags
 | |
|   - mpcdec: support the new libmpcdec SV8 API
 | |
|   - added configuration option to disable decoder plugins
 | |
|   - flac: support embedded cuesheets
 | |
|   - ffmpeg: updated list of supported formats
 | |
| * audio outputs:
 | |
|   - added option to disable audio outputs by default
 | |
|   - wait 10 seconds before reopening after play failure
 | |
|   - shout: enlarged buffer size to 32 kB
 | |
|   - null: allow disabling synchronization
 | |
|   - mvp: fall back to stereo
 | |
|   - mvp: fall back to 16 bit audio samples
 | |
|   - mvp: check for reopen errors
 | |
|   - mvp: fixed default device detection
 | |
|   - pipe: new audio output plugin which runs a command
 | |
|   - alsa: better period_time default value for high sample rates
 | |
|   - solaris: new audio output plugin for Solaris /dev/audio
 | |
|   - httpd: new audio output plugin for web based streaming, similar to icecast
 | |
|      but built in.
 | |
| * commands:
 | |
|   - "playlistinfo" and "move" supports a range now
 | |
|   - added "sticker database", command "sticker", which allows clients
 | |
|      to implement features like "song rating"
 | |
|   - added "consume" command which removes a song after play
 | |
|   - added "single" command, if activated, stops playback after current song or
 | |
|      repeats the song if "repeat" is active.
 | |
| * mixers:
 | |
|   - rewritten mixer code to support multiple mixers
 | |
|   - new pulseaudio mixer
 | |
|   - alsa: new mixer_index option supports choosing between multiple
 | |
|     identically-named controls on a device.
 | |
| * Add audio archive extraction support:
 | |
|   - bzip2
 | |
|   - iso9660
 | |
|   - zip
 | |
| * the option "error_file" was removed, all messages are logged into
 | |
|    "log_file"
 | |
| * support logging to syslog
 | |
| * fall back to XDG music directory if no music_directory is configured
 | |
| * failure to read the state file is non-fatal
 | |
| * --create-db starts the MPD daemon instead of exiting
 | |
| * playlist_directory and music_directory are optional
 | |
| * playlist: recalculate the queued song after random is toggled
 | |
| * playlist: don't unpause on delete
 | |
| * pause when all audio outputs fail to play
 | |
| * daemon: ignore "user" setting if already running as that user
 | |
| * listen: fix broken client IP addresses in log
 | |
| * listen: bind failure on secondary address is non-fatal
 | |
| * 24/32 bit audio support
 | |
| * print available protocols in --version
 | |
| * fill buffer after seeking
 | |
| * choose the fallback resampler at runtime
 | |
| * steps taken towards win32 compatibility
 | |
| * require glib 2.6 or greater
 | |
| * built-in documentation using doxygen and docbook
 | |
| 
 | |
| 
 | |
| ver 0.14.2 (2009/02/13)
 | |
| * configure.ac:
 | |
|   - define HAVE_FFMPEG after all checks
 | |
| * decoders:
 | |
|   - ffmpeg: added support for the tags comment, genre, year
 | |
|   - ffmpeg: don't warn of empty packet output
 | |
|   - ffmpeg: check if the time stamp is valid
 | |
|   - ffmpeg: fixed seek integer overflow
 | |
|   - ffmpeg: enable WAV streaming
 | |
|   - ffmpeg: added TTA support
 | |
|   - wavpack: pass NULL if the .wvc file fails to open
 | |
|   - mikmod: call MikMod_Exit() only in the finish() method
 | |
|   - aac: fix stream metadata
 | |
| * audio outputs:
 | |
|   - jack: allocate ring buffers before connecting
 | |
|   - jack: clear "shutdown" flag on reconnect
 | |
|   - jack: reduced sleep time to 1ms
 | |
|   - shout: fixed memory leak in the mp3 encoder
 | |
|   - shout: switch to blocking mode
 | |
|   - shout: use libshout's synchronization
 | |
|   - shout: don't postpone metadata
 | |
|   - shout: clear buffer before calling the encoder
 | |
| * mapper: remove trailing slashes from music_directory
 | |
| * player: set player error when output device fails
 | |
| * update: recursively purge deleted directories
 | |
| * update: free deleted subdirectories
 | |
| 
 | |
| ver 0.14.1 (2009/01/17)
 | |
| * decoders:
 | |
|   - mp4: support the writer/composer tag
 | |
|   - id3: strip leading and trailing whitespace from ID3 tags
 | |
|   - oggvorbis: fix tremor support
 | |
|   - oggvorbis: disable seeking on remote files
 | |
| * audio outputs:
 | |
|   - jack: allocate default port names (fixes a crash)
 | |
| * update:
 | |
|   - refresh stats after update
 | |
|   - save the database even if it is empty
 | |
| * input_curl:
 | |
|   - use select() to eliminate busy loop during connect
 | |
|   - honour http_proxy_* config directives
 | |
|   - fix assertion failure on "connection refused"
 | |
|   - fix assertion failure with empty HTTP responses
 | |
| * corrected the sample calculation in the fallback resampler
 | |
| * log: automatically append newline
 | |
| * fix setenv() conflict on Solaris
 | |
| * configure.ac: check for pkg-config before using it
 | |
| * fix minor memory leak in decoder_tag()
 | |
| * fix cross-fading bug: it used to play some chunks of the new song twice
 | |
| * playlist
 | |
|   - fix assertion failure during playlist load
 | |
|   - implement Fisher-Yates shuffle properly
 | |
|   - safely search the playlist for deleted song
 | |
| * use custom PRNG for volume dithering (speedup)
 | |
| * detect libid3tag without pkg-config
 | |
| 
 | |
| ver 0.14 (2008/12/25)
 | |
| * audio outputs:
 | |
|   - wait 10 seconds before reopening a failed device
 | |
|   - fifo: new plugin
 | |
|   - null: new plugin
 | |
|   - shout: block while trying to connect instead of failing
 | |
|   - shout: new timeout parameter
 | |
|   - shout: support mp3 encoding and the shoutcast protocol
 | |
|   - shout: send silence during pause, so clients don't get disconnected
 | |
| * decoders:
 | |
|   - ffmpeg: new plugin
 | |
|   - wavpack: new plugin
 | |
|   - aac: stream support added
 | |
|   - mod: disabled by default due to critical bugs in all libmikmod versions
 | |
| * commands:
 | |
|   - "addid" takes optional second argument to specify position
 | |
|   - "idle" notifies the client when a notable change occurs
 | |
| * Zeroconf support using Bonjour
 | |
| * New zeroconf_enabled option so that Zeroconf support can be disabled
 | |
| * Stop the player/decode processes when not playing to allow the CPU to sleep
 | |
| * Fix a bug where closing an ALSA dmix device could cause MPD to hang
 | |
| * Support for reading ReplayGain from LAME tags on MP3s
 | |
| * MPD is now threaded, which greatly improves performance and stability
 | |
| * memory usage reduced by merging duplicate tags in the database
 | |
| * support connecting via unix domain socket
 | |
| * allow authenticated local users to add any local file to the playlist
 | |
| * 24 bit audio support
 | |
| * optimized PCM conversions and dithering
 | |
| * much code has been replaced by using GLib
 | |
| * the HTTP client has been replaced with libcurl
 | |
| * symbolic links in the music directory can be disabled; the default
 | |
|   is to ignore symlinks pointing outside the music directory
 | |
| 
 | |
| ver 0.13.0 (2007/5/28)
 | |
| * New JACK audio output
 | |
| * Support for "file" as an alternative to "filename" in search, find, and list
 | |
| * FLAC 1.1.3 API support
 | |
| * New playlistadd command for adding to stored playlists
 | |
| * New playlistclear command for clearing stored playlists
 | |
| * Fix a bug where "find any" and "list <type> any" wouldn't return any results
 | |
| * Make "list any" return an error instead of no results and an OK
 | |
| * New gapless_mp3_playback option to disable gapless MP3 playback
 | |
| * Support for seeking HTTP streams
 | |
| * Zeroconf support using Avahi
 | |
| * libsamplerate support for high quality audio resampling
 | |
| * ID3v2 "Original Artist/Performer" tag support
 | |
| * New playlistsearch command for searching the playlist (similar to "search")
 | |
| * New playlistfind command for finding songs in the playlist (similar to "find")
 | |
| * libmikmod 3.2.0 beta support
 | |
| * New tagtypes command for retrieving a list of available tag types
 | |
| * Fix a bug where no ACK was returned if loading a playlist failed
 | |
| * Fix a bug where db_update in stats would be 0 after initial database creation
 | |
| * New count command for getting stats on found songs (similar to "find")
 | |
| * New playlistmove command for moving songs in stored playlists
 | |
| * New playlistdelete command for deleting songs from stored playlists
 | |
| * New rename command for renaming stored playlists
 | |
| * Increased default buffer_before_play from 0% to 10% to prevent skipping
 | |
| * Lots of bug fixes, cleaned up code, and performance improvements
 | |
| 
 | |
| ver 0.12.2 (2007/3/20)
 | |
| * Fix a bug where clients could cause MPD to segfault
 | |
| 
 | |
| ver 0.12.1 (2006/10/10)
 | |
| * Fix segfault when scanning an MP3 that has a Xing tag with 0 frames
 | |
| * Fix segfault when there's no audio output specified and one can't be detected
 | |
| * Fix handling of escaping in quotes
 | |
| * Allow a quality of -1 to be specified for shout outputs
 | |
| * A few minor cleanups
 | |
| 
 | |
| ver 0.12.0 (2006/9/22)
 | |
| * New audio output code which supports:
 | |
|   * A plugin-like architecture
 | |
|   * Non-libao ("native") outputs:
 | |
|     * ALSA
 | |
|     * OSS
 | |
|     * OS X
 | |
|     * Media MVP
 | |
|     * PulseAudio
 | |
|     * Shout (Icecast or Shoutcast)
 | |
|   * Playing through multiple outputs at once
 | |
|   * Enabling/disabling outputs while MPD is running
 | |
|   * Saving output state (enabled/disabled) to the state_file
 | |
| * OggFLAC support
 | |
| * Musepack support
 | |
| * Gapless MP3 playback
 | |
| * MP3 ReplayGain support (using ID3v2 tags only)
 | |
| * Support for MP2 files if MP3 support is enabled
 | |
| * Composer, Performer, Comment, and Disc metadata support
 | |
| * New outputs command for listing available audio outputs
 | |
| * New enableoutput and disableoutput commands for enabling/disabling outputs
 | |
| * New plchangesposid command for a stripped down version of plchanges
 | |
| * New addid command for adding to the playlist and returning a song ID
 | |
| * New commands and notcommands commands for checking available commands
 | |
| * Can now specify any supported metadata type or "any" in search, find, and list
 | |
| * New volume_normalization parameter for enabling Audio Compress normalization
 | |
| * New metadata_to_use parameter for choosing supported metadata types
 | |
| * New pid_file parameter for saving the MPD process ID to the specified file
 | |
| * The db_file parameter is now required
 | |
| * The port parameter is now optional (defaults to 6600)
 | |
| * Can specify bind_to_address multiple times
 | |
| * New --kill argument for killing MPD if pid_file is specified
 | |
| * Removed --update-db argument (use the update function in your client instead)
 | |
| * New mpdconf.example
 | |
| * New mpd.conf man page 
 | |
| * Removed bundled libmad and libid3tag
 | |
| * Lots of bug fixes, cleaned up code, and performance improvements
 | |
| 
 | |
| ver 0.11.5 (2004/11/1)
 | |
| 1) New id3v1_encoding config option to configure the id3v1 tag encoding (patch
 | |
| from dottedmag)
 | |
| 2) Strip '\r' from m3u playlists (thank you windows)
 | |
| 3) Use random() instead of rand() for playlist randomizing
 | |
| 4) Fix a bug trying skipping some commented lines in m3u playlist files
 | |
| 5) Fix a bug when fetching metadata from streams that may cause certain
 | |
| weirdnesses
 | |
| 6) Fix a bug where replaygain preamp was used on files w/o replaygain tags
 | |
| 7) Fix a busy loop when trying to prebuffer a nonexistant or missing stream
 | |
| 8) Fix a bug in forgetting to remove leading ' ' in content-type for http
 | |
| streams
 | |
| 9) Check for ice-name in http headers
 | |
| 10) Be sure the strip all '\n' chars in tags
 | |
| 11) Set $HOME env variable when setuid'ing, this should fix the /root/.mcop
 | |
| errors triggered by arts/libao
 | |
| 
 | |
| ver 0.11.4 (2004/7/26)
 | |
| 1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags
 | |
| 2) Fixed a memory leak when encountering id3v2 tags in mp3 decoder
 | |
| 
 | |
| ver 0.11.3 (2004/7/21)
 | |
| 1) Add support for http authentication for streams
 | |
| 2) Added replaygain pre-amp support
 | |
| 3) Better error handling for fread() in inputStream_file
 | |
| 4) Fixed a bug so that when a freeAllInterfaces is called, it sets
 | |
| max_interface_connections to 0.  This prevents potential segfaults and other
 | |
| nastiness for forked processes, like the player and update-er (do to
 | |
| interfacePrintWithFD()).
 | |
| 5) Allow blockingWrite() to handle errors more gracefully (for example, if the
 | |
| disc is full, and thus the write() fails or can't be completed, we just skip
 | |
| this write() and continue, instead of getting stuck in an infinite loop until
 | |
| the write() becomes successful)
 | |
| 6) Updated mpdconf.example from sbh/avuton
 | |
| 7) If "user" is specified, then convert ~ in paths to the user's home path
 | |
| specified by "user" config paramter (not the actual current user running mpd).
 | |
| 
 | |
| ver 0.11.2 (2004/7/5) 
 | |
| 1) Work around in computing total time for mp3's whose first valid mpeg frame is
 | |
| not layer III
 | |
| 2) Fix mp3 and mp4 decoders when seeking past the end of the file
 | |
| 3) Fix replaygain for flac and vorbis
 | |
| 4) Fix memory leaks in flac decoder (from normalperson)
 | |
| 5) Fix Several other bugs in playlist.c and directory.c (from normalperson)
 | |
| 
 | |
| ver 0.11.1 (2004/6/24)
 | |
| 1) Fix a bug that caused "popping" at the beginning of mp3's
 | |
| 2) Fix playlistid command
 | |
| 3) Fix move commands so they don't mess up the song id's
 | |
| 4) Added support for HTTP Proxy
 | |
| 5) Detect and skip recursive links in the music directory
 | |
| 6) Fix addPathToDB() so updating on a specific path doesn't exist correctly adds
 | |
| the parent directories to the DB
 | |
| 
 | |
| ver 0.11.0 (2004/6/18)
 | |
| 1) Support for playing mp3 and Ogg Vorbis streams
 | |
| 2) Non-blocking Update
 | |
| 3) Replaygain support for Ogg Vorbis and FLAC (by Eric Moore aka AliasMrJones)
 | |
| 4) audio_output_format option that allows for all audio output to be converted
 | |
| to a format compatible with any sound card
 | |
| 5) Own routines for to always support UTF-8 <-> ISO-8859-1 conversion
 | |
| 6) Added "Id" and "Pos" metadata for songs in playlist
 | |
| 7) Added commands: plchanges, currentsong, playid, seekid, playlistid, moveid,
 | |
| swapid, deleteid
 | |
| 8) UTF-8 validation of all tags
 | |
| 9) Update specific files/directories (for fast, incremental updating)
 | |
| 10) Added ACK error codes
 | |
| 11) Mod file support
 | |
| 12) Added command_list_ok_begin
 | |
| 13) Play after stop resumes from last position in the playlist
 | |
| 14) Play while pause resumes playback
 | |
| 15) Better signal handling by mackstann
 | |
| 16) Cleanup decoder interface (now called InputPlugins)
 | |
| 17) --create-db no long starts the daemon
 | |
| 18) --no-daemon outputs to log files
 | |
| 19) --stdout sends output to stdout/stderr
 | |
| 20) Default port is now 6600
 | |
| 21) Lots of other cleanups and Bugfixes
 | |
| 
 | |
| ver 0.10.4 (2004/5/26)
 | |
| 1) Fix configure problems on OpenBSD with langinfo and iconv
 | |
| 2) Fix an infinte loop when writing to an interface and it has expired
 | |
| 3) Fix a segfault in decoding flac's
 | |
| 4) Ingore CRC stuff in mp3's since some encoders did not compute the CRC
 | |
| correctly
 | |
| 5) Fix a segfault in processing faulty mp4 metadata
 | |
| 
 | |
| ver 0.10.3 (2004/4/2)
 | |
| 1) Fix a segfault when a blanck line is sent from a client
 | |
| 2) Fix for loading playlists on platforms where char is unsigned
 | |
| 3) When pausing, release audio device after we say pause is successful (this
 | |
| makes pause appear to not lag)
 | |
| 4) When returning errors for unknown types by player, be sure to copy the
 | |
| filename
 | |
| 5) add --disable-alsa for disabling alsa mixer support
 | |
| 6) Use select() for a portable usleep()
 | |
| 7) For alsa mixer, default to "Master' element, not first element
 | |
| 
 | |
| ver 0.10.2 (2004/3/25)
 | |
| 1) Add suport for AAC
 | |
| 2) Substitute '\n' with ' ' in tag info
 | |
| 3) Remove empty directories from db
 | |
| 4) Resume from current position in song when using state file
 | |
| 5) Pause now closes the music device, and reopens it on resuming
 | |
| 6) Fix unnecessary big endian byte swapping
 | |
| 7) If locale is "C" or "POSIX", then use ISO-8859-1 as the fs charset
 | |
| 8) Fix a bug where alsa mixer wasn't detecting volume changes
 | |
| 9) For alsa and software mixer, show volume to be the same as it was set (even
 | |
| if its not the exact volume)
 | |
| 10) Report bitrate for wave files
 | |
| 11) Compute song length of CBR mp3's more accurately
 | |
| 
 | |
| ver 0.10.1 (2004/3/7)
 | |
| 1) Check to see if we need to add "-lm" when linking mpd
 | |
| 2) Fix issues with skipping bad frames in an mp3 (this way we get the correct
 | |
| samplerate and such)
 | |
| 3) Fix crossfading bug with ogg's
 | |
| 4) Updated libmad and libid3tag included w/ source to 0.15.1b
 | |
| 
 | |
| ver 0.10.0 (2004/3/3)
 | |
| 1) Use UTF-8 for all client communications
 | |
| 2) Crossfading support
 | |
| 3) Password Authentication (all in plaintext)
 | |
| 4) Software mixer
 | |
| 5) Buffer Size is configurable
 | |
| 6) Reduced Memory consumption (use directory tree for search and find)
 | |
| 7) Bitrate support for Flac
 | |
| 8) setvol command (deprecates volume command)
 | |
| 9) add command takes directories
 | |
| 10) Path's in config file now work with ~
 | |
| 11) Add samplerate,bits, and channels to status
 | |
| 12) Reenable playTime in stats display
 | |
| 13) Fix a segfault when doing: add ""
 | |
| 14) Fix a segfault with flac vorbis comments simply being "="
 | |
| 15) Fix a segfault/bug in queueNextSong with repeat+random
 | |
| 16) Fix a bug, where one process may segfault, and cause more processes to spawn
 | |
| w/o killing ones that lost their parent.
 | |
| 17) Fix a bug when the OSS device was unable to fetch the current volume,
 | |
| it would close the device (when it maybe previously closed by the exact same
 | |
| code)
 | |
| 18) command.c cleanup by mackstann
 | |
| 19) directory.c and command.c cleanup by tw-nym
 | |
| 
 | |
| ver 0.9.4 (2004/1/21)
 | |
| 1) Fix a bug where updated tag info wasn't being detected
 | |
| 2) Set the default audio write size to 1024 bytes (should decrease cpu load a
 | |
| bit on some machines).
 | |
| 3) Make audio write size configurable via "audio_write_size" config option
 | |
| 4) Tweak output buffer size for connections by detecting the kernel output
 | |
| buffer size.
 | |
| 
 | |
| ver 0.9.3 (2003/10/31)
 | |
| 1) Store total time/length of songs in db and display in *info commands
 | |
| 2) Display instantaneous bitrate in status command
 | |
| 3) Add Wave Support using libaudiofile (Patch from normalperson)
 | |
| 4) Command code cleanup (Patch from tw-nym)
 | |
| 5) Optimize listing of playlists (10-100x faster)
 | |
| 6) Optimize interface output (write in 4kB chunks instead of on every '\n')
 | |
| 7) Fix bug that prevented rm command from working
 | |
| 8) Fix bug where deleting current song skips the next song
 | |
| 9) Use iconv to convert vorbis comments from UTF-8 to Latin1
 | |
| 
 | |
| ver 0.9.2 (2003/10/6)
 | |
| 1) Fix FreeBSD Compilation Problems
 | |
| 2) Fix bug in move command
 | |
| 3) Add mixer_control options to configure which mixer control/device mpd
 | |
| controls
 | |
| 4) Randomize on play -1
 | |
| 5) Fix a bug in toggling repeat off and at the end of the playlist
 | |
| 
 | |
| ver 0.9.1 (2003/9/30)
 | |
| 1) Fix a statement in the middle of declarations in listen.c, causes error for
 | |
| gcc 2.7
 | |
| 
 | |
| ver 0.9.0 (2003/9/30)
 | |
| 1) Random play mode
 | |
| 2) Alsa Mixer Support
 | |
| 3) Save and Restore "state"
 | |
| 4) Default config file locations (.mpdconf and /etc/mpd.conf)
 | |
| 5) Make db file locations configurable
 | |
| 6) Move songs around in the playlist
 | |
| 7) Gapless playback
 | |
| 8) Use Xing tags for mp3's
 | |
| 9) Remove stop_on_error
 | |
| 10) Seeking support
 | |
| 11) Playlists can be loaded and deleted from subdirectories
 | |
| 12) Complete rewrite of player layer (fork()'s only once, opens and closes
 | |
| audio device as needed).
 | |
| 13) Eliminate use and dependence of SIGIO
 | |
| 14) IPv6 support
 | |
| 15) Solaris compilations fixes
 | |
| 16) Support for different log levels
 | |
| 17) Timestamps for log entries
 | |
| 18) "user" config parameter for setuid (patch from Nagilum)
 | |
| 19) Other misc features and bug fixes
 | |
| 
 | |
| ver 0.8.7 (2003/9/3)
 | |
| 1) Fix a memory leak.  When closing a interface, was called close() on the fd
 | |
| instead of calling fclose() on the fp that was opened with fdopen().
 | |
| 
 | |
| ver 0.8.6 (2003/8/25)
 | |
| 1) Fix a memory leak when a buffered existed, and a connection was unexpectedly
 | |
| closed, and i wasn't free'ing the buffer apropriatly.
 | |
| 
 | |
| ver 0.8.5 (2003/8/17)
 | |
| 1) Fix a bug where an extra end of line is returned when attempting to play a
 | |
| non existing file.  This causes parsing errors for clients.
 | |
| 
 | |
| ver 0.8.4 (2003/8/13)
 | |
| 1) Fix a bug where garbage is returned with errors in "list" command
 | |
| 
 | |
| ver 0.8.3 (2003/8/12) 
 | |
| 1) Fix a compilation error on older linux systems
 | |
| 2) Fix a bug in searching by title
 | |
| 3) Add "list" command
 | |
| 4) Add config options for specifying libao driver/plugin and options
 | |
| 5) Add config option to specify which address to bind to
 | |
| 6) Add support for loading and saving absolute pathnames in saved playlists
 | |
| 7) Playlist no longer creates duplicate entries for song data (more me
 | |
| efficient)
 | |
| 8) Songs deleted from the db are now removed for the playlist as well
 | |
| 
 | |
| ver 0.8.2 (2003/7/22)
 | |
| 1) Increased the connection que for listen() from 0 to 5
 | |
| 2) Cleanup configure makefiles so that mpd uses MPD_LIBS and MPD_CFLAGS
 | |
| rather than LIBS and CFLAGS
 | |
| 3) Put a cap on the number of commands per command list
 | |
| 4) Put a cap on the maximum number of buffered output lines
 | |
| 5) Get rid of TIME_WAIT/EADDRINUSE socket problem
 | |
| 6) Use asynchronious IO (i.e. trigger SIGIO instead so we can sleep in
 | |
| select() calls longer)
 | |
| 
 | |
| ver 0.8.1 (2003/7/11)
 | |
| 1) FreeBSD fixes
 | |
| 2) Fix for rare segfault when updating
 | |
| 3) Fix bug where client was being hungup on when done playing current song
 | |
| 4) Fix bug when playing flac's where it incorrectly reports an error
 | |
| 5) Make stop playlist on error configurable
 | |
| 6) Configure checks for installed libmad and libid3tag and uses those if found
 | |
| 7) Use buffer->finished in *_decode's instead of depending on catching signals
 | |
| 
 | |
| ver 0.8.0 (2003/7/6)
 | |
| 1) Flac support
 | |
| 2) Make playlist max length configurable
 | |
| 3) New backward compatible status (backward compatible for 0.8.0 on)
 | |
| 4) listall command now can take a directory as an argument
 | |
| 5) Buffer rewritten to use shared memory instead of sockets
 | |
| 6) Playlist adding done using db
 | |
| 7) Add sort to list, and use binary search for finding
 | |
| 8) New "stats" command
 | |
| 9) Command list (for faster adding of large batches of files)
 | |
| 10) Add buffered chunks before play
 | |
| 11) Useful error reporting to clients (part of status command)
 | |
| 12) Use libid3tag for reading id3 tags (more stable)
 | |
| 13) Non-blocking output to clients
 | |
| 14) Fix bug when removing items from directory
 | |
| 15) Fix bug when playing mono mp3's
 | |
| 16) Fix bug when attempting to delete files when using samba
 | |
| 17) Lots of other bug fixes I can't remember
 | |
| 
 | |
| ver 0.7.0 (2003/6/20)
 | |
| 1) use mad instead of mpg123 for mp3 decoding
 | |
| 2) volume support
 | |
| 3) repeate playlist support
 | |
| 4) use autoconf/automake (i.e. "configure")
 | |
| 5) configurable max connections
 | |
| 
 | |
| ver 0.6.2 (2003/6/11)
 | |
| 1) Buffer support for ogg
 | |
| 2) new config file options: "connection_timeout" and "mpg123_ignore_junk"
 | |
| 3) new commands: "next", "previous", and "listall"
 | |
| Thanks to Niklas Hofer for "next" and "previous" patches!
 | |
| 4) Search by filename
 | |
| 5) bug fix for pause when playing mp3's
 | |
| 
 | |
| ver 0.6.1 (2003/5/29)
 | |
| 1) Add conf file support
 | |
| 2) Fix a bug when doing mp3stop (do wait3(NULL,WNOHANG|WUNTRACED,NULL))
 | |
| 3) Fix a bug when fork'ing, fflush file buffers before forking so the
 | |
| child doesn't print the same stuff in the buffer.
 | |
| 
 | |
| ver 0.6.0 (2003/5/25)
 | |
| 1) Add ogg vorbis support
 | |
| 2) Fix two bugs relating to tables, one for search by title, and one where we
 | |
| freed the tables before directories, causing a segfault
 | |
| 3) The info command has been removed.
 | |
| 
 | |
| ver 0.5.0-0.5.2
 | |
| Initial release(s).  Support for MP3 via mpg123
 |