1578 lines
55 KiB
Plaintext
1578 lines
55 KiB
Plaintext
ver 0.19.16 (not yet released)
|
|
|
|
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
|