update: added update_global_init() and update_global_finish()
[mpd-mk/metyl.git] / NEWS
blobd3cb6279b3642295a2a817e7353a3eeea3941a81
1 ver 0.14.0 (????/??/??)
2 * audio outputs:
3   - fifo: new plugin
4   - null: new plugin
5   - shout: block while trying to connect instead of failing
6   - shout: new timeout parameter
7   - shout: support mp3 encoding and the shoutcast protocol
8   - shout: send silence during pause, so clients don't get disconnected
9 * decoders:
10   - ffmpeg: new plugin
11   - wavpack: new plugin
12 * commands:
13   - "addid" takes optional second argument to specify position
14   - "idle" notifies the client when a notable change occurs
15 * Zeroconf support using Bonjour
16 * New zeroconf_enabled option so that Zeroconf support can be disabled
17 * Stop the player/decode processes when not playing to allow the CPU to sleep
18 * Fix a bug where closing an ALSA dmix device could cause MPD to hang
19 * Support for reading ReplayGain from LAME tags on MP3s
20 * MPD is now threaded, which greatly improves performance and stability
21 * memory usage reduced by merging duplicate tags in the database
22 * support connecting via unix domain socket
23 * allow authenticated local users to add any local file to the playlist
24 * 24 bit audio support
25 * optimized PCM conversions and dithering
26 * much code has been replaced by using GLib
27 * the HTTP client has been replaced with libcurl
29 ver 0.13.0 (2007/5/28)
30 * New JACK audio output
31 * Support for "file" as an alternative to "filename" in search, find, and list
32 * FLAC 1.1.3 API support
33 * New playlistadd command for adding to stored playlists
34 * New playlistclear command for clearing stored playlists
35 * Fix a bug where "find any" and "list <type> any" wouldn't return any results
36 * Make "list any" return an error instead of no results and an OK
37 * New gapless_mp3_playback option to disable gapless MP3 playback
38 * Support for seeking HTTP streams
39 * Zeroconf support using Avahi
40 * libsamplerate support for high quality audio resampling
41 * ID3v2 "Original Artist/Performer" tag support
42 * New playlistsearch command for searching the playlist (similar to "search")
43 * New playlistfind command for finding songs in the playlist (similar to "find")
44 * libmikmod 3.2.0 beta support
45 * New tagtypes command for retrieving a list of available tag types
46 * Fix a bug where no ACK was returned if loading a playlist failed
47 * Fix a bug where db_update in stats would be 0 after initial database creation
48 * New count command for getting stats on found songs (similar to "find")
49 * New playlistmove command for moving songs in stored playlists
50 * New playlistdelete command for deleting songs from stored playlists
51 * New rename command for renaming stored playlists
52 * Increased default buffer_before_play from 0% to 10% to prevent skipping
53 * Lots of bug fixes, cleaned up code, and performance improvements
55 ver 0.12.2 (2007/3/20)
56 * Fix a bug where clients could cause MPD to segfault
58 ver 0.12.1 (2006/10/10)
59 * Fix segfault when scanning an MP3 that has a Xing tag with 0 frames
60 * Fix segfault when there's no audio output specified and one can't be detected
61 * Fix handling of escaping in quotes
62 * Allow a quality of -1 to be specified for shout outputs
63 * A few minor cleanups
65 ver 0.12.0 (2006/9/22)
66 * New audio output code which supports:
67   * A plugin-like architecture
68   * Non-libao ("native") outputs:
69     * ALSA
70     * OSS
71     * OS X
72     * Media MVP
73     * PulseAudio
74     * Shout (Icecast or Shoutcast)
75   * Playing through multiple outputs at once
76   * Enabling/disabling outputs while MPD is running
77   * Saving output state (enabled/disabled) to the state_file
78 * OggFLAC support
79 * Musepack support
80 * Gapless MP3 playback
81 * MP3 ReplayGain support (using ID3v2 tags only)
82 * Support for MP2 files if MP3 support is enabled
83 * Composer, Performer, Comment, and Disc metadata support
84 * New outputs command for listing available audio outputs
85 * New enableoutput and disableoutput commands for enabling/disabling outputs
86 * New plchangesposid command for a stripped down version of plchanges
87 * New addid command for adding to the playlist and returning a song ID
88 * New commands and notcommands commands for checking available commands
89 * Can now specify any supported metadata type or "any" in search, find, and list
90 * New volume_normalization parameter for enabling Audio Compress normalization
91 * New metadata_to_use parameter for choosing supported metadata types
92 * New pid_file parameter for saving the MPD process ID to the specified file
93 * The db_file parameter is now required
94 * The port parameter is now optional (defaults to 6600)
95 * Can specify bind_to_address multiple times
96 * New --kill argument for killing MPD if pid_file is specified
97 * Removed --update-db argument (use the update function in your client instead)
98 * New mpdconf.example
99 * New mpd.conf man page 
100 * Removed bundled libmad and libid3tag
101 * Lots of bug fixes, cleaned up code, and performance improvements
103 ver 0.11.5 (2004/11/1)
104 1) New id3v1_encoding config option to configure the id3v1 tag encoding (patch from dottedmag)
105 2) Strip '\r' from m3u playlists (thank you windows)
106 3) Use random() instead of rand() for playlist randomizing
107 4) Fix a bug trying skipping some commented lines in m3u playlist files
108 5) Fix a bug when fetching metadata from streams that may cause certain weirdnesses
109 6) Fix a bug where replaygain preamp was used on files w/o replaygain tags
110 7) Fix a busy loop when trying to prebuffer a nonexistant or missing stream
111 8) Fix a bug in forgetting to remove leading ' ' in content-type for http streams
112 9) Check for ice-name in http headers
113 10) Be sure the strip all '\n' chars in tags
114 11) Set $HOME env variable when setuid'ing, this should fix the /root/.mcop errors triggered by arts/libao
116 ver 0.11.4 (2004/7/26)
117 1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags
118 2) Fixed a memory leak when encountering id3v2 tags in mp3 decoder
120 ver 0.11.3 (2004/7/21)
121 1) Add support for http authentication for streams
122 2) Added replaygain pre-amp support
123 3) Better error handling for fread() in inputStream_file
124 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()).
125 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)
126 6) Updated mpdconf.example from sbh/avuton
127 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).
129 ver 0.11.2 (2004/7/5) 
130 1) Work around in computing total time for mp3's whose first valid mpeg frame is not layer III
131 2) Fix mp3 and mp4 decoders when seeking past the end of the file
132 3) Fix replaygain for flac and vorbis
133 4) Fix memory leaks in flac decoder (from normalperson)
134 5) Fix Several other bugs in playlist.c and directory.c (from normalperson)
136 ver 0.11.1 (2004/6/24)
137 1) Fix a bug that caused "popping" at the beginning of mp3's
138 2) Fix playlistid command
139 3) Fix move commands so they don't mess up the song id's
140 4) Added support for HTTP Proxy
141 5) Detect and skip recursive links in the music directory
142 6) Fix addPathToDB() so updating on a specific path doesn't exist correctly adds the parent directories to the DB
144 ver 0.11.0 (2004/6/18)
145 1) Support for playing mp3 and Ogg Vorbis streams
146 2) Non-blocking Update
147 3) Replaygain support for Ogg Vorbis and FLAC (by Eric Moore aka AliasMrJones)
148 4) audio_output_format option that allows for all audio output to be converted to a format compatible with any sound card
149 5) Own routines for to always support UTF-8 <-> ISO-8859-1 conversion
150 6) Added "Id" and "Pos" metadata for songs in playlist
151 7) Added commands: plchanges, currentsong, playid, seekid, playlistid, moveid, swapid, deleteid
152 8) UTF-8 validation of all tags
153 9) Update specific files/directories (for fast, incremental updating)
154 10) Added ACK error codes
155 11) Mod file support
156 12) Added command_list_ok_begin
157 13) Play after stop resumes from last position in the playlist
158 14) Play while pause resumes playback
159 15) Better signal handling by mackstann
160 16) Cleanup decoder interface (now called InputPlugins)
161 17) --create-db no long starts the daemon
162 18) --no-daemon outputs to log files
163 19) --stdout sends output to stdout/stderr
164 20) Default port is now 6600
165 21) Lots of other cleanups and Bugfixes
167 ver 0.10.4 (2004/5/26)
168 1) Fix configure problems on OpenBSD with langinfo and iconv
169 2) Fix an infinte loop when writing to an interface and it has expired
170 3) Fix a segfault in decoding flac's
171 4) Ingore CRC stuff in mp3's since some encoders did not compute the CRC correctly
172 5) Fix a segfault in processing faulty mp4 metadata
174 ver 0.10.3 (2004/4/2)
175 1) Fix a segfault when a blanck line is sent from a client
176 2) Fix for loading playlists on platforms where char is unsigned
177 3) When pausing, release audio device after we say pause is successful (this makes pause appear to not lag)
178 4) When returning errors for unknown types by player, be sure to copy the filename
179 5) add --disable-alsa for disabling alsa mixer support
180 6) Use select() for a portable usleep()
181 7) For alsa mixer, default to "Master' element, not first element
183 ver 0.10.2 (2004/3/25)
184 1) Add suport for AAC
185 2) Substitute '\n' with ' ' in tag info
186 3) Remove empty directories from db
187 4) Resume from current position in song when using state file
188 5) Pause now closes the music device, and reopens it on resuming
189 6) Fix unnecessary big endian byte swapping
190 7) If locale is "C" or "POSIX", then use ISO-8859-1 as the fs charset
191 8) Fix a bug where alsa mixer wasn't detecting volume changes
192 9) For alsa and software mixer, show volume to be the same as it was set (even if its not the exact volume)
193 10) Report bitrate for wave files
194 11) Compute song length of CBR mp3's more accurately
196 ver 0.10.1 (2004/3/7)
197 1) Check to see if we need to add "-lm" when linking mpd
198 2) Fix issues with skipping bad frames in an mp3 (this way we get the correct samplerate and such)
199 3) Fix crossfading bug with ogg's
200 4) Updated libmad and libid3tag included w/ source to 0.15.1b
202 ver 0.10.0 (2004/3/3)
203 1) Use UTF-8 for all client communications
204 2) Crossfading support
205 3) Password Authentication (all in plaintext)
206 4) Software mixer
207 5) Buffer Size is configurable
208 6) Reduced Memory consumption (use directory tree for search and find)
209 7) Bitrate support for Flac
210 8) setvol command (deprecates volume command)
211 9) add command takes directories
212 10) Path's in config file now work with ~
213 11) Add samplerate,bits, and channels to status
214 12) Reenable playTime in stats display
215 13) Fix a segfault when doing: add ""
216 14) Fix a segfault with flac vorbis comments simply being "="
217 15) Fix a segfault/bug in queueNextSong with repeat+random
218 16) Fix a bug, where one process may segfault, and cause more processes to spawn w/o killing ones that lost their parent.
219 17) Fix a bug when the OSS device was unable to fetch the current volume,
220 it would close the device (when it maybe previously closed by the exact same code)
221 18) command.c cleanup by mackstann
222 19) directory.c and command.c cleanup by tw-nym
224 ver 0.9.4 (2004/1/21)
225 1) Fix a bug where updated tag info wasn't being detected
226 2) Set the default audio write size to 1024 bytes (should decrease cpu load a bit on some machines).
227 3) Make audio write size configurable via "audio_write_size" config option
228 4) Tweak output buffer size for connections by detecting the kernel output buffer size.
230 ver 0.9.3 (2003/10/31)
231 1) Store total time/length of songs in db and display in *info commands
232 2) Display instantaneous bitrate in status command
233 3) Add Wave Support using libaudiofile (Patch from normalperson)
234 4) Command code cleanup (Patch from tw-nym)
235 5) Optimize listing of playlists (10-100x faster)
236 6) Optimize interface output (write in 4kB chunks instead of on every '\n')
237 7) Fix bug that prevented rm command from working
238 8) Fix bug where deleting current song skips the next song
239 9) Use iconv to convert vorbis comments from UTF-8 to Latin1
241 ver 0.9.2 (2003/10/6)
242 1) Fix FreeBSD Compilation Problems
243 2) Fix bug in move command
244 3) Add mixer_control options to configure which mixer control/device mpd controls
245 4) Randomize on play -1
246 5) Fix a bug in toggling repeat off and at the end of the playlist
248 ver 0.9.1 (2003/9/30)
249 1) Fix a statement in the middle of declarations in listen.c, causes error for
250 gcc 2.7
252 ver 0.9.0 (2003/9/30)
253 1) Random play mode
254 2) Alsa Mixer Support
255 3) Save and Restore "state"
256 4) Default config file locations (.mpdconf and /etc/mpd.conf)
257 5) Make db file locations configurable
258 6) Move songs around in the playlist
259 7) Gapless playback
260 8) Use Xing tags for mp3's
261 9) Remove stop_on_error
262 10) Seeking support
263 11) Playlists can be loaded and deleted from subdirectories
264 12) Complete rewrite of player layer (fork()'s only once, opens and closes
265 audio device as needed).
266 13) Eliminate use and dependence of SIGIO
267 14) IPv6 support
268 15) Solaris compilations fixes
269 16) Support for different log levels
270 17) Timestamps for log entries
271 18) "user" config parameter for setuid (patch from Nagilum)
272 19) Other misc features and bug fixes
274 ver 0.8.7 (2003/9/3)
275 1) Fix a memory leak.  When closing a interface, was called close() on the fd
276 instead of calling fclose() on the fp that was opened with fdopen().
278 ver 0.8.6 (2003/8/25)
279 1) Fix a memory leak when a buffered existed, and a connection was unexpectedly closed, and i wasn't free'ing the buffer apropriatly.
281 ver 0.8.5 (2003/8/17)
282 1) Fix a bug where an extra end of line is returned when attempting to play a
283 non existing file.  This causes parsing errors for clients.
285 ver 0.8.4 (2003/8/13)
286 1) Fix a bug where garbage is returned with errors in "list" command
288 ver 0.8.3 (2003/8/12) 
289 1) Fix a compilation error on older linux systems
290 2) Fix a bug in searching by title
291 3) Add "list" command
292 4) Add config options for specifying libao driver/plugin and options
293 5) Add config option to specify which address to bind to
294 6) Add support for loading and saving absolute pathnames in saved playlists
295 7) Playlist no longer creates duplicate entries for song data (more me
296 efficient)
297 8) Songs deleted from the db are now removed for the playlist as well
299 ver 0.8.2 (2003/7/22)
300 1) Increased the connection que for listen() from 0 to 5
301 2) Cleanup configure makefiles so that mpd uses MPD_LIBS and MPD_CFLAGS
302 rather than LIBS and CFLAGS
303 3) Put a cap on the number of commands per command list
304 4) Put a cap on the maximum number of buffered output lines
305 5) Get rid of TIME_WAIT/EADDRINUSE socket problem
306 6) Use asynchronious IO (i.e. trigger SIGIO instead so we can sleep in
307 select() calls longer)
309 ver 0.8.1 (2003/7/11)
310 1) FreeBSD fixes
311 2) Fix for rare segfault when updating
312 3) Fix bug where client was being hungup on when done playing current song
313 4) Fix bug when playing flac's where it incorrectly reports an error
314 5) Make stop playlist on error configurable
315 6) Configure checks for installed libmad and libid3tag and uses those if found
316 7) Use buffer->finished in *_decode's instead of depending on catching signals
318 ver 0.8.0 (2003/7/6)
319 1) Flac support
320 2) Make playlist max length configurable
321 3) New backward compatible status (backward compatible for 0.8.0 on)
322 4) listall command now can take a directory as an argument
323 5) Buffer rewritten to use shared memory instead of sockets
324 6) Playlist adding done using db
325 7) Add sort to list, and use binary search for finding
326 8) New "stats" command
327 9) Command list (for faster adding of large batches of files)
328 10) Add buffered chunks before play
329 11) Useful error reporting to clients (part of status command)
330 12) Use libid3tag for reading id3 tags (more stable)
331 13) Non-blocking output to clients
332 14) Fix bug when removing items from directory
333 15) Fix bug when playing mono mp3's
334 16) Fix bug when attempting to delete files when using samba
335 17) Lots of other bug fixes I can't remember
337 ver 0.7.0 (2003/6/20)
338 1) use mad instead of mpg123 for mp3 decoding
339 2) volume support
340 3) repeate playlist support
341 4) use autoconf/automake (i.e. "configure")
342 5) configurable max connections
344 ver 0.6.2 (2003/6/11)
345 1) Buffer support for ogg
346 2) new config file options: "connection_timeout" and "mpg123_ignore_junk"
347 3) new commands: "next", "previous", and "listall"
348 Thanks to Niklas Hofer for "next" and "previous" patches!
349 4) Search by filename
350 5) bug fix for pause when playing mp3's
352 ver 0.6.1 (2003/5/29)
353 1) Add conf file support
354 2) Fix a bug when doing mp3stop (do wait3(NULL,WNOHANG|WUNTRACED,NULL))
355 3) Fix a bug when fork'ing, fflush file buffers before forking so the
356 child doesn't print the same stuff in the buffer.
358 ver 0.6.0 (2003/5/25)
359 1) Add ogg vorbis support
360 2) Fix two bugs relating to tables, one for search by title, and one where we
361 freed the tables before directories, causing a segfault
362 3) The info command has been removed.
364 ver 0.5.0-0.5.2
365 Initial release(s).  Support for MP3 via mpg123