2643 lines
87 KiB
Plaintext
2643 lines
87 KiB
Plaintext
ver 0.23.7 (not yet released)
|
|
* database
|
|
- upnp: support pupnp 1.14
|
|
* decoder
|
|
- ffmpeg: fix HLS seeking
|
|
- opus: fix missing song length on high-latency files
|
|
* output
|
|
- shout: require at least libshout 2.4.0
|
|
* mixer
|
|
- pipewire: fix volume restore
|
|
- software: update volume of disabled outputs
|
|
* support libiconv
|
|
|
|
ver 0.23.6 (2022/03/14)
|
|
* protocol
|
|
- support filename "cover.webp" for "albumart" command
|
|
- support "readcomments" and "readpicture" on CUE tracks
|
|
* decoder
|
|
- ffmpeg: fix end-of-file check (update stuck at empty files)
|
|
- opus: fix "readpicture" on Opus files
|
|
* output
|
|
- pipewire: fix crash bug if setting volume before playback starts
|
|
- wasapi: fix resume after pause
|
|
|
|
ver 0.23.5 (2021/12/01)
|
|
* protocol
|
|
- support relative offsets for "searchadd"
|
|
- fix "searchaddpl" bug (bogus error "Bad position")
|
|
* database
|
|
- upnp: fix crash bug
|
|
* tags
|
|
- fix MixRamp support
|
|
* migrate to PCRE2
|
|
* GCC 12 build fixes
|
|
|
|
ver 0.23.4 (2021/11/11)
|
|
* protocol
|
|
- add optional position parameter to "searchaddpl"
|
|
* decoder
|
|
- ffmpeg: support libavcodec 59
|
|
* output
|
|
- alsa: add option "thesycon_dsd_workaround" to work around device bug
|
|
* fix crash on debug builds if startup fails
|
|
* systemd
|
|
- remove "RuntimeDirectory" directive because it caused problems
|
|
- ignore the "pid_file" setting if started as systemd service
|
|
* Windows
|
|
- enable the "openmpt" decoder plugin
|
|
|
|
ver 0.23.3 (2021/10/31)
|
|
* protocol
|
|
- add optional position parameter to "add" and "playlistadd"
|
|
- allow range in "playlistdelete"
|
|
* database
|
|
- fix scanning files with question mark in the name
|
|
- inotify: fix use-after-free bug
|
|
* output
|
|
- alsa: add option "stop_dsd_silence" to work around DSD DAC noise
|
|
* macOS: fix libfmt related build failure
|
|
* systemd: add "RuntimeDirectory" directive
|
|
|
|
ver 0.23.2 (2021/10/22)
|
|
* protocol
|
|
- fix "albumart" timeout bug
|
|
* input
|
|
- nfs: fix playback bug
|
|
* output
|
|
- pipewire: send artist and title to PipeWire
|
|
- pipewire: DSD support
|
|
* neighbor
|
|
- mention failed plugin name in error message
|
|
* player
|
|
- fix cross-fade regression
|
|
* fix crash with libfmt versions older than 7
|
|
|
|
ver 0.23.1 (2021/10/19)
|
|
* protocol
|
|
- use decimal notation instead of scientific notation
|
|
- "load" supports relative positions
|
|
* output
|
|
- emit "mixer" idle event when replay gain changes volume
|
|
- pipewire: emit "mixer" idle events on external volume change
|
|
- pipewire: attempt to change the graph sample rate
|
|
- snapcast: fix time stamp bug which caused "Failed to get chunk"
|
|
* fix libfmt linker problems
|
|
* fix broken password authentication
|
|
|
|
ver 0.23 (2021/10/14)
|
|
* protocol
|
|
- new command "getvol"
|
|
- show the audio format in "playlistinfo"
|
|
- support "listfiles" with arbitrary storage plugins
|
|
- support relative positions in "addid"
|
|
- fix relative positions in "move" and "moveid"
|
|
- add "position" parameter to "findadd" and "searchadd"
|
|
- add position parameter to "load"
|
|
* database
|
|
- proxy: require MPD 0.20 or later
|
|
- proxy: require libmpdclient 2.11 or later
|
|
- proxy: split search into chunks to avoid exceeding the output buffer
|
|
- simple: add option to hide CUE target songs
|
|
- upnp: support libnpupnp instead of libupnp
|
|
* archive
|
|
- zzip, iso9660: ignore file names which are invalid UTF-8
|
|
* decoder
|
|
- openmpt: new plugin
|
|
- wavpack: fix WVC file support
|
|
* player
|
|
- do not cross-fade songs shorter than 20 seconds
|
|
* output
|
|
- oss: support DSD over PCM
|
|
- pipewire: new plugin
|
|
- snapcast: new plugin
|
|
* tags
|
|
- new tags "ComposerSort", "Ensemble", "Movement", "MovementNumber", and "Location"
|
|
* split permission "player" from "control"
|
|
* add option "host_permissions"
|
|
* new build-time dependency: libfmt
|
|
|
|
ver 0.22.11 (2021/08/24)
|
|
* protocol
|
|
- fix "albumart" crash
|
|
* filter
|
|
- ffmpeg: pass "channel_layout" instead of "channels" to buffersrc
|
|
- ffmpeg: fix "av_buffersink_get_frame() failed: Resource temporarily unavailable"
|
|
- ffmpeg: support double-precision samples (by converting to single precision)
|
|
* Android
|
|
- build with NDK r23
|
|
- playlist_directory defaults to "/sdcard/Android/data/org.musicpd/files/playlists"
|
|
|
|
ver 0.22.10 (2021/08/06)
|
|
* protocol
|
|
- support "albumart" for virtual tracks in CUE sheets
|
|
* database
|
|
- simple: fix crash bug
|
|
- simple: fix absolute paths in CUE "as_directory" entries
|
|
- simple: prune CUE entries from database for non-existent songs
|
|
* input
|
|
- curl: fix crash bug after stream with Icy metadata was closed by peer
|
|
- tidal: remove defunct unmaintained plugin
|
|
* tags
|
|
- fix crash caused by bug in TagBuilder and a few potential reference leaks
|
|
* output
|
|
- httpd: fix missing tag after seeking into a new song
|
|
- oss: fix channel order of multi-channel files
|
|
* mixer
|
|
- alsa: fix yet more rounding errors
|
|
|
|
ver 0.22.9 (2021/06/23)
|
|
* database
|
|
- simple: load all .mpdignore files of all parent directories
|
|
* tags
|
|
- fix "readcomments" and "readpicture" on remote files with ID3 tags
|
|
* decoder
|
|
- ffmpeg: support the tags "sort_album", "album-sort", "artist-sort"
|
|
- ffmpeg: fix build failure with FFmpeg 3.4
|
|
* Android
|
|
- fix auto-start on boot in Android 8 or later
|
|
* Windows
|
|
- fix build failure with SQLite
|
|
|
|
ver 0.22.8 (2021/05/22)
|
|
* fix crash bug in "albumart" command (0.22.7 regression)
|
|
|
|
ver 0.22.7 (2021/05/19)
|
|
* protocol
|
|
- don't use glibc extension to parse time stamps
|
|
- optimize the "albumart" command
|
|
* input
|
|
- curl: send user/password in the first request, save one roundtrip
|
|
* decoder
|
|
- ffmpeg: fix build problem with FFmpeg 3.4
|
|
- gme: support RSN files
|
|
* storage
|
|
- curl: don't use glibc extension
|
|
* database
|
|
- simple: fix database corruption bug
|
|
* output
|
|
- fix crash when pausing with multiple partitions
|
|
- jack: enable on Windows
|
|
- httpd: send header "Access-Control-Allow-Origin: *"
|
|
- wasapi: add algorithm for finding usable audio format
|
|
- wasapi: use default device only if none was configured
|
|
- wasapi: add DoP support
|
|
|
|
ver 0.22.6 (2021/02/16)
|
|
* fix missing tags on songs in queue
|
|
|
|
ver 0.22.5 (2021/02/15)
|
|
* protocol
|
|
- error for malformed ranges instead of ignoring silently
|
|
- better error message for open-ended range with "move"
|
|
* database
|
|
- simple: fix missing CUE sheet metadata in "addid" command
|
|
* tags
|
|
- id: translate TPE3 to Conductor, not Performer
|
|
* archive
|
|
- iso9660: another fix for unaligned reads
|
|
* output
|
|
- httpd: error handling on Windows improved
|
|
- pulse: fix deadlock with "always_on"
|
|
* Windows:
|
|
- enable https:// support (via Schannel)
|
|
* Android
|
|
- work around "Permission denied" on mpd.conf
|
|
|
|
ver 0.22.4 (2021/01/21)
|
|
* protocol
|
|
- add command "binarylimit" to allow larger chunk sizes
|
|
- fix "readpicture" on 32 bit machines
|
|
- show duration and tags of songs in virtual playlist (CUE) folders
|
|
* storage
|
|
- curl: fix several WebDAV protocol bugs
|
|
* decoder
|
|
- dsdiff: apply padding to odd-sized chunks
|
|
* filter
|
|
- ffmpeg: detect the output sample format
|
|
* output
|
|
- moveoutput: fix always_on and tag lost on move
|
|
* Android
|
|
- enable https:// support (via OpenSSL)
|
|
|
|
ver 0.22.3 (2020/11/06)
|
|
* playlist
|
|
- add option "as_directory", making CUE file expansion optional
|
|
* storage
|
|
- curl: fix crash bug
|
|
* filter
|
|
- fix garbage after "Audio format not supported by filter" message
|
|
- ffmpeg: support planar output
|
|
- ffmpeg: support sample formats other than 16 bit
|
|
|
|
ver 0.22.2 (2020/10/28)
|
|
* database
|
|
- simple: purge songs and virtual directories for unavailable plugins
|
|
on update
|
|
* input
|
|
- qobuz/tidal: fix protocol errors due to newlines in error messages
|
|
- smbclient: disable by default due to libsmbclient crash bug
|
|
* playlist
|
|
- soundcloud: fix protocol errors due to newlines in error messages
|
|
* state_file: save on shutdown
|
|
|
|
ver 0.22.1 (2020/10/17)
|
|
* decoder
|
|
- opus: apply the OpusHead output gain even if there is no EBU R128 tag
|
|
- opus: fix track/album ReplayGain fallback
|
|
* output
|
|
- alsa: don't deadlock when the ALSA driver is buggy
|
|
- jack, pulse: reduce the delay when stopping or pausing playback
|
|
* playlist
|
|
- cue: fix two crash bugs
|
|
* state_file: fix the state_file_interval setting
|
|
|
|
ver 0.22 (2020/09/23)
|
|
* protocol
|
|
- "findadd"/"searchadd"/"searchaddpl" support the "sort" and
|
|
"window" parameters
|
|
- add command "readpicture" to download embedded pictures
|
|
- command "moveoutput" moves an output between partitions
|
|
- command "delpartition" deletes a partition
|
|
- show partition name in "status" response
|
|
* tags
|
|
- new tags "Grouping" (for ID3 "TIT1"), "Work" and "Conductor"
|
|
* input
|
|
- curl: support "charset" parameter in URI fragment
|
|
- ffmpeg: allow partial reads
|
|
- io_uring: new plugin for local files on Linux (using liburing)
|
|
- smbclient: close unused SMB/CIFS connections
|
|
* database
|
|
- upnp: drop support for libupnp versions older than 1.8
|
|
* playlist
|
|
- cue: integrate contents in database
|
|
* decoder
|
|
- ffmpeg: support RTSP
|
|
- mad: remove option "gapless", always do gapless
|
|
- sidplay: add option "default_genre"
|
|
- sidplay: map SID name field to "Album" tag
|
|
- sidplay: add support for new song length format with libsidplayfp 2.0
|
|
- vorbis, opus: improve seeking accuracy
|
|
* playlist
|
|
- flac: support reading CUE sheets from remote FLAC files
|
|
* filter
|
|
- ffmpeg: new plugin based on FFmpeg's libavfilter library
|
|
- hdcd: new plugin based on FFmpeg's "af_hdcd" for HDCD playback
|
|
- volume: convert S16 to S24 to preserve quality and reduce dithering noise
|
|
- dsd: add integer-only DSD to PCM converter
|
|
* output
|
|
- jack: add option "auto_destination_ports"
|
|
- jack: report error details
|
|
- pulse: add option "media_role"
|
|
- solaris: support S8 and S32
|
|
* lower the real-time priority from 50 to 40
|
|
* switch to C++17
|
|
- GCC 8 or clang 5 (or newer) recommended
|
|
|
|
ver 0.21.26 (2020/09/21)
|
|
* database
|
|
- inotify: obey ".mpdignore" files
|
|
* output
|
|
- osx: fix crash bug
|
|
- sles: support floating point samples
|
|
* archive
|
|
- bzip2: fix crash on corrupt bzip2 file
|
|
- bzip2: flush output at end of input file
|
|
- iso9660: fix unaligned reads
|
|
- iso9660: support seeking
|
|
- zzip: fix crash on corrupt ZIP file
|
|
* decoder
|
|
- ffmpeg: remove "rtsp://" from the list of supported protocols
|
|
- ffmpeg: add "hls+http://" to the list of supported protocols
|
|
- opus: support the gain value from the Opus header
|
|
- sndfile: fix lost samples at end of file
|
|
* fix "single" mode bug after resuming playback
|
|
* the default log_level is "default", not "info"
|
|
|
|
ver 0.21.25 (2020/07/06)
|
|
* protocol:
|
|
- fix crash when using "rangeid" while playing
|
|
* database
|
|
- simple: automatically scan new mounts
|
|
- upnp: fix compatibility with Plex DLNA
|
|
* storage
|
|
- fix disappearing mounts after mounting twice
|
|
- udisks: fix reading ".mpdignore"
|
|
* input
|
|
- file: detect premature end of file
|
|
- smbclient: don't send credentials to MPD clients
|
|
* decoder
|
|
- opus: apply pre-skip and end trimming
|
|
- opus: fix memory leak
|
|
- opus: fix crash bug
|
|
- vorbis: fix crash bug
|
|
* output
|
|
- osx: improve sample rate selection
|
|
- osx: fix noise while stopping
|
|
* neighbor
|
|
- upnp: fix crash during shutdown
|
|
* Windows/Android:
|
|
- fix Boost detection after breaking change in Meson 0.54
|
|
|
|
ver 0.21.24 (2020/06/10)
|
|
* protocol
|
|
- "tagtypes" requires no permissions
|
|
* database
|
|
- simple: fix crash when mounting twice
|
|
* decoder
|
|
- modplug: fix Windows build failure
|
|
- wildmidi: attempt to detect WildMidi using pkg-config
|
|
- wildmidi: fix Windows build failure
|
|
* player
|
|
- don't restart current song if seeking beyond end
|
|
* Android
|
|
- enable the decoder plugins GME, ModPlug and WildMidi
|
|
- fix build failure with Android NDK r21
|
|
* Windows
|
|
- fix stream playback
|
|
- enable the decoder plugins GME, ModPlug and WildMidi
|
|
- work around Meson bug breaking the Windows build with GCC 10
|
|
* fix unit test failure
|
|
|
|
ver 0.21.23 (2020/04/23)
|
|
* protocol
|
|
- add tag fallback for AlbumSort
|
|
* storage
|
|
- curl: fix corrupt "href" values in the presence of XML entities
|
|
- curl: unescape "href" values
|
|
* input
|
|
- nfs: fix crash bug
|
|
- nfs: fix freeze bug on reconnect
|
|
* decoder
|
|
- gme: adapt to API change in the upcoming version 0.7.0
|
|
* output
|
|
- alsa: implement channel mapping for 5.0 and 7.0
|
|
* player
|
|
- drain outputs at end of song in "single" mode
|
|
* Windows
|
|
- fix case insensitive search
|
|
|
|
ver 0.21.22 (2020/04/02)
|
|
* database
|
|
- simple: optimize startup
|
|
* input
|
|
- curl: fix streaming errors on Android
|
|
* playlist
|
|
- rss: support MIME type application/xml
|
|
* mixer
|
|
- android: new mixer plugin for "sles" output
|
|
* Android
|
|
- TV support
|
|
* Windows
|
|
- fix time zone offset check
|
|
* fix build failures with uClibc-ng
|
|
|
|
ver 0.21.21 (2020/03/19)
|
|
* configuration
|
|
- fix bug in "metadata_to_use" setting
|
|
* playlist
|
|
- asx, xspf: fix corrupt tags in the presence of XML entities
|
|
* archive
|
|
- iso9660: skip empty file names to work around libcdio bug
|
|
* decoder
|
|
- gme: ignore empty tags
|
|
* output
|
|
- solaris: port to NetBSD
|
|
* raise default "max_connections" value to 100
|
|
|
|
ver 0.21.20 (2020/02/16)
|
|
* decoder
|
|
- audiofile, ffmpeg, sndfile: handle MIME type "audio/wav"
|
|
- ffmpeg: fix playback of AIFF and TTA
|
|
- vorbis, opus: fix seeking in small files
|
|
* fix backwards seeking on ARM (and other non-x86 CPUs)
|
|
|
|
ver 0.21.19 (2020/01/17)
|
|
* configuration
|
|
- allow overriding top-level settings in includes
|
|
* output
|
|
- pulse: obey Pulse's maximum sample rate (fixes DSD128 playback)
|
|
* fix build failure with clang 10
|
|
* fix build failure with Android NDK r20
|
|
|
|
ver 0.21.18 (2019/12/24)
|
|
* protocol
|
|
- work around Mac OS X bug in the ISO 8601 parser
|
|
* output
|
|
- alsa: fix hang bug with ALSA "null" outputs
|
|
* storage
|
|
- curl: fix crash bug
|
|
* drop support for CURL versions older than 7.32.0
|
|
* reduce unnecessary CPU wakeups
|
|
|
|
ver 0.21.17 (2019/12/16)
|
|
* protocol
|
|
- relax the ISO 8601 parser: allow omitting field separators, the
|
|
time of day and the "Z" suffix
|
|
* archive
|
|
- zzip: improve error reporting
|
|
* outputs
|
|
- jack: mark ports as terminal
|
|
- shout: declare metadata as UTF-8
|
|
* fix build failure with -Ddatabase=false
|
|
|
|
ver 0.21.16 (2019/10/16)
|
|
* queue
|
|
- fix relative destination offset when moving a range
|
|
* storage
|
|
- curl: request the "resourcetype" property to fix database update
|
|
- curl: URL-encode more paths
|
|
- curl: follow redirects for collections without trailing slash
|
|
* update
|
|
- fix crash when music_directory is not a directory
|
|
* fix build with iconv() instead of ICU
|
|
|
|
ver 0.21.15 (2019/09/25)
|
|
* decoder
|
|
- dsdiff, dsf: fix displayed bit rate
|
|
- mpcdec: fix bogus ReplayGain values
|
|
* output
|
|
- solaris: fix build with glibc 2.30
|
|
|
|
ver 0.21.14 (2019/08/21)
|
|
* decoder
|
|
- sidplay: show track durations in database
|
|
- sidplay: convert tag values from Windows-1252 charset
|
|
- sidplay: strip text from "Date" tag
|
|
* player
|
|
- fix crash after song change
|
|
- fix seek position after restarting the decoder
|
|
* protocol
|
|
- include command name in error responses
|
|
|
|
ver 0.21.13 (2019/08/06)
|
|
* input
|
|
- cdio_paranoia: require libcdio-paranoia 10.2+0.93+1
|
|
* decoder
|
|
- mad: fix crackling sound (0.21.12 regression)
|
|
* output
|
|
- jack: improved Windows compatibility
|
|
|
|
ver 0.21.12 (2019/08/03)
|
|
* decoder
|
|
- mad: update bit rate after seeking
|
|
- mad: fix several bugs preventing the plugin from decoding the last frame
|
|
- opus: ignore case in replay gain tag names
|
|
- opus, vorbis: decode the "end of stream" packet
|
|
* output
|
|
- jack: fix mono-to-stereo conversion
|
|
* player
|
|
- don't restart unseekable song after failed seek attempt
|
|
* Windows
|
|
- support backslash in relative URIs loaded from playlists
|
|
|
|
ver 0.21.11 (2019/07/03)
|
|
* input
|
|
- tidal: deprecated because Tidal has changed the protocol
|
|
* decoder
|
|
- wildmidi: log error if library initialization fails
|
|
* output
|
|
- alsa: fix busy loop while draining
|
|
- alsa: fix missing drain call
|
|
- alsa: improve xrun-avoiding silence generator
|
|
- alsa: log when generating silence due to slow decoder
|
|
- alsa, osx: fix distortions with DSD_U32 and DoP on 32 bit CPUs
|
|
* protocol
|
|
- fix "list" with multiple "group" levels
|
|
|
|
ver 0.21.10 (2019/06/05)
|
|
* decoder
|
|
- opus: fix duplicate tags
|
|
* output
|
|
- httpd: reject some well-known URIs
|
|
* fix crash bug (0.21.9 regression)
|
|
|
|
ver 0.21.9 (2019/05/20)
|
|
* input
|
|
- buffer: fix deadlock bug
|
|
* Android
|
|
- fix crash on ARMv7
|
|
- request storage permission on Android 6+
|
|
* fix spurious "single" mode bug
|
|
|
|
ver 0.21.8 (2019/04/23)
|
|
* input
|
|
- smbclient: download to buffer instead of throttling transfer
|
|
* output
|
|
- httpd: add missing mutex lock
|
|
- httpd: fix use-after-free bug
|
|
* playlist
|
|
- soundcloud: fix "Unsupported URI scheme" (0.21.6 regression)
|
|
* fix Bonjour bug
|
|
* fix build failure with GCC 9
|
|
* fix build failure with -Ddatabase=false
|
|
* systemd: add user socket unit
|
|
* doc: "list file" is deprecated
|
|
|
|
ver 0.21.7 (2019/04/03)
|
|
* input
|
|
- qobuz/tidal: scan tags when loading a playlist
|
|
* require Meson 0.49.0 for native libgcrypt-config support
|
|
* fix build failure with -Dlocal_socket=false
|
|
* Haiku
|
|
- fix build
|
|
- add version info
|
|
|
|
ver 0.21.6 (2019/03/17)
|
|
* protocol
|
|
- allow loading playlists specified as absolute filesystem paths
|
|
- fix negated filter expressions with multiple tag values
|
|
- fix "list" with filter expression
|
|
- omit empty playlist names in "listplaylists"
|
|
* input
|
|
- cdio_paranoia: fix build failure due to missing #include
|
|
* decoder
|
|
- opus: fix replay gain when there are no other tags
|
|
- opus: fix seeking to beginning of song
|
|
- vorbis: fix Tremor conflict resulting in crash
|
|
* output
|
|
- pulse: work around error with unusual channel count
|
|
- osx: fix build failure
|
|
* playlist
|
|
- flac: fix use-after-free bug
|
|
* support abstract sockets on Linux
|
|
* Windows
|
|
- remove the unused libwinpthread-1.dll dependency
|
|
* Android
|
|
- enable SLES power saving mode
|
|
|
|
ver 0.21.5 (2019/02/22)
|
|
* protocol
|
|
- fix deadlock in "albumart" command
|
|
- fix "tagtypes disable" command
|
|
* database
|
|
- simple: fix assertion failure
|
|
- fix assertion failures with mount points
|
|
* storage
|
|
- udisks: fix "AlreadyMounted" error
|
|
- udisks: use relative path from mount URI
|
|
- fix memory leak
|
|
* input
|
|
- buffer: fix crash bug when playing remote WAV file
|
|
* tags
|
|
- ape: map "Album Artist"
|
|
* output
|
|
- shout: add support for TLS
|
|
* mixer
|
|
- pulse: add "scale_volume" setting
|
|
|
|
ver 0.21.4 (2019/01/04)
|
|
* database
|
|
- inotify: fix crash bug "terminate called after throwing ..."
|
|
- upnp: implement "list ... group"
|
|
* output
|
|
- httpd: declare protocol "HTTP/1.1" instead of "ICY"
|
|
* remove libwrap support
|
|
* Windows
|
|
- fix "Failed to accept connection: unknown error"
|
|
* fix Haiku build
|
|
|
|
ver 0.21.3 (2018/11/16)
|
|
* output
|
|
- alsa: fix crash bug
|
|
- alsa: fix stuttering at start of playback
|
|
- alsa: fix discarded samples at end of song
|
|
- alsa: clear error after reopening device
|
|
* log: default to journal if MPD was started as systemd service
|
|
|
|
ver 0.21.2 (2018/11/12)
|
|
* protocol
|
|
- operator "=~" matches a regular expression
|
|
- operator "contains" matches substrings
|
|
* decoder
|
|
- ffmpeg: require FFmpeg 3.1 or later
|
|
- ffmpeg: fix broken sound with certain codecs
|
|
* output
|
|
- alsa: fix high CPU usage with dmix
|
|
- httpd: fix three crash bugs
|
|
* mixer
|
|
- alsa: fix more rounding errors
|
|
* fix zlib support
|
|
|
|
ver 0.21.1 (2018/11/04)
|
|
* protocol
|
|
- allow escaping quotes in filter expressions
|
|
- operator "==" never searches substrings in filter expressions
|
|
* decoder
|
|
- ffmpeg: fix build failure with non-standard FFmpeg installation path
|
|
- flac: fix linker failure when building without FLAC support
|
|
* encoder
|
|
- vorbis: fix linker failure when building without Vorbis decoder
|
|
* fix build failure on Linux-PowerPC
|
|
* fix build failure on FreeBSD
|
|
* eliminate DLL dependencies on Windows
|
|
* add warning about buggy Boost version 1.67
|
|
* require Meson 0.47.2 because a Meson 0.47.1 bug breaks our build
|
|
|
|
ver 0.21 (2018/10/31)
|
|
* configuration
|
|
- add "include" directive, allows including config files
|
|
- incremental "metadata_to_use" setting
|
|
* protocol
|
|
- "tagtypes" can be used to hide tags
|
|
- "find" and "search" can sort
|
|
- "outputs" prints the plugin name
|
|
- "outputset" sets runtime attributes
|
|
- close connection when client sends HTTP request
|
|
- new filter syntax for "find"/"search" etc. with negation
|
|
* database
|
|
- simple: scan audio formats
|
|
- proxy: require libmpdclient 2.9
|
|
- proxy: forward `sort` and `window` to server
|
|
* player
|
|
- hard-code "buffer_before_play" to 1 second, independent of audio format
|
|
- "one-shot" single mode
|
|
* input
|
|
- curl: download to buffer instead of throttling transfer
|
|
- qobuz: new plugin to play Qobuz streams
|
|
- tidal: new plugin to play Tidal streams
|
|
* tags
|
|
- new tags "OriginalDate", "MUSICBRAINZ_WORKID"
|
|
* decoder
|
|
- ffmpeg: require at least version 11.12
|
|
- gme: try loading m3u sidecar files
|
|
- hybrid_dsd: new decoder plugin
|
|
- mad: move "gapless_mp3_playback" setting to "decoder" block
|
|
- mikmod: require at least version 3.2
|
|
- pcm: support audio/L24 (RFC 3190)
|
|
- sidplay: support basic and kernal rom (libsidplayfp)
|
|
* resampler
|
|
- soxr: flush resampler at end of song
|
|
* output
|
|
- alsa: non-blocking mode
|
|
- alsa: change "dop" and "allowed_formats" settings at runtime
|
|
- ao: fix crash bug due to partial frames
|
|
- shout: support the Shine encoder plugin
|
|
- sndio: remove support for the broken RoarAudio sndio emulation
|
|
- osx: initial support for DSD over PCM
|
|
- roar: removed
|
|
- httpd_output: support for unix sockets
|
|
* mixer
|
|
- sndio: new mixer plugin
|
|
* encoder
|
|
- opus: support for sending metadata using ogg stream chaining
|
|
* listen on $XDG_RUNTIME_DIR/mpd/socket by default
|
|
* append hostname to Zeroconf service name
|
|
* systemd watchdog support
|
|
* require GCC 6
|
|
* build with Meson instead of autotools
|
|
* use GTest instead of cppunit
|
|
|
|
ver 0.20.23 (2018/10/29)
|
|
* protocol
|
|
- emit "player" idle event when restarting the current song
|
|
* fix broken float to s32 conversion
|
|
* new clang crash bug workaround
|
|
|
|
ver 0.20.22 (2018/10/23)
|
|
* protocol
|
|
- add tag fallbacks for AlbumArtistSort, ArtistSort
|
|
- fix empty string filter on fallback tags
|
|
- "count group ..." can print an empty group
|
|
- fix broken command "list ... group"
|
|
* storage
|
|
- curl: URL-encode paths
|
|
* decoder
|
|
- fluidsynth: adapt to API change in version 2.0
|
|
* Android
|
|
- now runs as a service
|
|
- add button to start/stop MPD
|
|
- add option to auto-start on boot
|
|
* work around clang bug leading to crash
|
|
* install the SVG icon
|
|
|
|
ver 0.20.21 (2018/08/17)
|
|
* database
|
|
- proxy: add "password" setting
|
|
- proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort"
|
|
- simple: allow .mpdignore comments only at start of line
|
|
* output
|
|
- httpd: remove broken DLNA support code
|
|
* playlist
|
|
- cue: support file type declaration "FLAC" (non-standard)
|
|
* URI schemes are case insensitive
|
|
* Android, Windows
|
|
- enable the "curl" storage plugin
|
|
|
|
ver 0.20.20 (2018/05/22)
|
|
* protocol
|
|
- fix "modified-since" filter regression
|
|
* output
|
|
- pulse: cork stream when paused due to "single" mode
|
|
* decoder
|
|
- dsdiff, dsf: support more MIME types
|
|
- dsdiff, dsf: allow 4 MB ID3 tags
|
|
- opus: support R128_ALBUM_GAIN tag
|
|
* Android, Windows
|
|
- enable the "proxy" database plugin
|
|
|
|
ver 0.20.19 (2018/04/26)
|
|
* protocol
|
|
- validate absolute seek time, reject negative values
|
|
* database
|
|
- proxy: fix "search already in progress" errors
|
|
- proxy: implement "list ... group"
|
|
* input
|
|
- mms: fix lockup bug and a crash bug
|
|
* decoder
|
|
- ffmpeg: fix av_register_all() deprecation warning (FFmpeg 4.0)
|
|
* player
|
|
- fix spurious "Not seekable" error when switching radio streams
|
|
* macOS: fix crash bug
|
|
|
|
ver 0.20.18 (2018/02/24)
|
|
* input
|
|
- curl: allow authentication methods other than "Basic"
|
|
* decoder
|
|
- flac: improve seeking precision
|
|
* fix gapless CUE song transitions
|
|
* Android, Windows
|
|
- enable the NFS storage plugin
|
|
|
|
ver 0.20.17 (2018/02/11)
|
|
* output
|
|
- alsa: fix crash bug with 8 channels
|
|
* mixer
|
|
- alsa: fix rounding error at volume 0
|
|
* fix real-time and idle scheduling with Musl
|
|
* Android
|
|
- fix compatibility with Android 4.0
|
|
|
|
ver 0.20.16 (2018/02/03)
|
|
* output
|
|
- pulse: fix crash during auto-detection
|
|
* database
|
|
- simple: fix search within mount points
|
|
- upnp: enable IPv6
|
|
* archive
|
|
- iso9660: libcdio 2.0 compatibility
|
|
* fix crash in debug build on Haiku and other operating systems
|
|
|
|
ver 0.20.15 (2018/01/05)
|
|
* queue: fix crash after seek failure
|
|
* resampler
|
|
- soxr: clear internal state after manual song change
|
|
* state file
|
|
- make mount point restore errors non-fatal
|
|
- fix crash when restoring mounts with incompatible database plugin
|
|
* Android
|
|
- build without Ant
|
|
- fix for SIGSYS crash
|
|
|
|
ver 0.20.14 (2018/01/01)
|
|
* database
|
|
- simple: fix file corruption in the presence of mount points
|
|
* archive
|
|
- bz2: fix deadlock
|
|
- reduce lock contention, fixing lots of xrun problems
|
|
* fix Solaris build failure
|
|
|
|
ver 0.20.13 (2017/12/18)
|
|
* output
|
|
- osx: set up ring buffer to hold at least 100ms
|
|
* mixer
|
|
- alsa: fix rounding errors
|
|
* database
|
|
- simple: don't purge mount points on update/rescan
|
|
- simple: fix "mount" bug caused by bad compiler optimization
|
|
- simple: fix "lsinfo" into mount points
|
|
- upnp: work around libupnp 1.6.24 API breakage
|
|
* queue: fix spuriously misplaced prioritized songs
|
|
* save and restore mountpoints within the state file
|
|
* include Windows cross-build script in source tarball
|
|
* fix Windows build failures
|
|
|
|
ver 0.20.12 (2017/11/25)
|
|
* database
|
|
- upnp: adapt to libupnp 1.8 API changes
|
|
* input
|
|
- cdio_paranoia, ffmpeg, file, smbclient: reduce lock contention,
|
|
fixing lots of xrun problems
|
|
- curl: fix seeking
|
|
* decoder
|
|
- ffmpeg: fix GCC 8 warning
|
|
- vorbis: fix Tremor support
|
|
* player
|
|
- log message when decoder is too slow
|
|
* encoder
|
|
- vorbis: default to quality 3
|
|
* output
|
|
- fix hanging playback with soxr resampler
|
|
- httpd: flush encoder after tag; fixes corrupt Vorbis stream
|
|
|
|
ver 0.20.11 (2017/10/18)
|
|
* storage
|
|
- curl: support Content-Type application/xml
|
|
* decoder
|
|
- ffmpeg: more reliable song duration
|
|
- gme: fix track numbering
|
|
* improve random song order when switching songs manually
|
|
* fix case insensitive search without libicu
|
|
* fix Unicode file names in playlists on Windows
|
|
* fix endless loop when accessing malformed file names in ZIP files
|
|
|
|
ver 0.20.10 (2017/08/24)
|
|
* decoder
|
|
- ffmpeg: support MusicBrainz ID3v2 tags
|
|
* tags
|
|
- aiff: fix FORM chunk size endianess (is big-endian)
|
|
* mixer
|
|
- osx: add a mixer for OSX.
|
|
* fix crash when resuming playback before decoder is ready
|
|
* fix crash on Windows
|
|
|
|
ver 0.20.9 (2017/06/04)
|
|
* decoder
|
|
- ffmpeg: support *.adx
|
|
* fix byte order detection on FreeBSD/aarch64
|
|
* fix more random crashes when compiled with clang
|
|
|
|
ver 0.20.8 (2017/05/19)
|
|
* output
|
|
- osx: fix build failure due to missing "noexcept"
|
|
* playlist
|
|
- m3u: support MIME type `audio/mpegurl`
|
|
* fix build failure with GCC 4.x
|
|
|
|
ver 0.20.7 (2017/05/15)
|
|
* database
|
|
- simple: fix false positive directory loop detection with NFS
|
|
* enforce a reasonable minimum audio_buffer_size setting
|
|
* cap buffer_before_play at 80% to prevent deadlock
|
|
* fix random crashes when compiled with clang
|
|
|
|
ver 0.20.6 (2017/03/10)
|
|
* input
|
|
- curl: fix headers after HTTP redirect to Shoutcast server
|
|
* decoder
|
|
- ffmpeg: re-enable as fallback
|
|
- mpcdec: fix crash (division by zero) after seeking
|
|
- sidplay: make compatible with libsidplayfp < 1.8
|
|
* fix stream tags after automatic song change
|
|
* workaround for GCC 4.9.4 / libstdc++ bug (build failure)
|
|
|
|
ver 0.20.5 (2017/02/20)
|
|
* tags
|
|
- id3: fix memory leak on corrupt ID3 tags
|
|
* decoder
|
|
- sidplay: don't require libsidutils when building with libsidplayfp
|
|
* output
|
|
- httpd: fix two buffer overflows in IcyMetaData length calculation
|
|
* mixer
|
|
- alsa: fix crash bug
|
|
|
|
ver 0.20.4 (2017/02/01)
|
|
* input
|
|
- nfs: fix freeze after reconnect
|
|
* output
|
|
- sndio: work around a libroar C++ incompatibility
|
|
* workaround for GCC 4.9 "constexpr" bug
|
|
* fix FreeBSD build failure
|
|
|
|
ver 0.20.3 (2017/01/25)
|
|
* protocol
|
|
- "playlistadd" creates new playlist if it does not exist, as documented
|
|
* database
|
|
- proxy: fix error "terminate called after throwing ..."
|
|
- proxy: make connect errors during startup non-fatal
|
|
* neighbor
|
|
- upnp: fix premature expiry
|
|
* replay gain: don't reset ReplayGain levels when unpausing playback
|
|
* silence surround channels when converting from stereo
|
|
* use shortcuts such as "dsd64" in log messages
|
|
|
|
ver 0.20.2 (2017/01/15)
|
|
* input
|
|
- alsa: fix crash bug
|
|
- alsa: fix buffer overruns
|
|
* decoder
|
|
- flac: add options "probesize" and "analyzeduration"
|
|
* resampler
|
|
- libsamplerate: reset state after seeking
|
|
* output
|
|
- fix static noise after changing to a different audio format
|
|
- 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"
|
|
* playlist
|
|
- cue: fix skipping songs
|
|
|
|
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
|