ungegister_task(): Set task error value to -E_TASK_KILLED.
[paraslash.git] / NEWS
1 NEWS
2 ====
3
4 ----------------------------------------------
5 0.3.2 (to be announced) "probabilistic parity"
6 ----------------------------------------------
7
8         - new ls option: -lc (list chunk table)
9         - new executable: para_afh, the stand-alone audio file handler tool
10         - afs commands can send output more than SHMMAX (32MB on Linux). This
11           also reduces the memory usage of commands that produce large amounts
12           of output.
13
14 ---------------------------------------
15 0.3.1 (2008-02-23) "liquid interaction"
16 ---------------------------------------
17
18 A mix of cleanups, bug fixes, improvements, and some new features. No
19 significant changes to the new database (osl) code, which is generally
20 a good sign.
21
22         - Share some similar/duplicate code between the http and the
23           dccp sender.
24         - Generic access control lists for paraslash senders.
25         - dccp sender: Access control lists, connection limiting and support
26           for the allow,deny,on,off,help sender commands.
27         - The default dccp port changed from 5001 to 8000 (suggested by
28           Gerrit Renker).
29         - para_server starts even if not all public keys could be loaded.
30         - Audiod performance improvements.
31         - fix a bug in the "off" command of the http sender.
32         - fix some fd and memory leaks.
33         - Update to gengetopt-2.22.
34
35 -------------------------------------
36 0.3.0 (2008-01-12) "solar saturation"
37 -------------------------------------
38
39 paraslash.0.3.0 -- 'WWDBND --what would databases never do?'.
40
41
42 Usually one might expect lots of new features AND a big increase in size
43 for a major release like this.
44
45 However, paraslash-0.3.0.tar.bz2 is the smallest paraslash tarball
46 ever. The decrease in size is mostly due to the removal of some
47 graphical tools (which were only quick hacks anyway). But also the
48 fact that the mysql code is gone cuts down the size a bit.
49
50 Being independent of mysql comes at a cost: The fact that paraslash
51 now contains its own database (the object storage layer, osl) increases
52 the (stripped) binary size of para_server by ~50K on i386.
53
54         - no more restrictions on unique basenames.
55         - independent of mysql: The new self-contained object
56           storage layer (osl) replaces the mysql database.
57         - New executable para_fsck: Check integrity of osl tables.
58         - Lyrics support.
59         - Reliable audio file move/rename detection.
60         - More portable than ever: Tested on Linux (x86_32, x86_64, sparc64),
61           MacOS (ppc32, x86_32), FreeBSD (x86_32), NetBSD (x86_32) and
62           Solaris (sparc64).
63         - the new osl-based audio file selector (afs) replaces the random,
64           the playlist and the mysql selector of paraslash-0.2.x.
65         - IPv6 support (thanks to Gerrit Renker).
66         - paraslash-0.2.x streams are now called "moods". Writing
67           0.3.x-mood definitions should be both easier and more
68           powerful than writing 0.2.x-stream definitions.
69         - para_krell, para_slider, para_para_sdl_gui, para_dbadm have
70           been removed. The world is a better place without them. However,
71           para_gui is still there.
72         - afs tracks audio file selection also in playlist mode.
73         - few easy-to-use afs commands replace the many not-so-easy-to-use
74           mysql commands (and are available also in playlist mode).
75         - Improved error subsystem.
76         - The earth-shaking new logo.
77
78 -----------------------------------------
79 0.2.17 (2007-11-20) "isotropic threshold"
80 -----------------------------------------
81
82 Mainly bugfixes and cleanups in this version which marks the end of
83 the 0.2.x series if no serious bugs show up after the release.
84
85         - mysql_selector: fix a locking bug.
86         - universal chunk queueing.
87         - dccp sender uses chunk queueing if write() returns EAGAIN (thanks
88           to Gerrit Renker).
89         - be more carful wrt. signed vs. unsigned argument passing.
90         - cleanup error.h and fix some references to invalid error
91           codes.
92         - update to gengetopt-2.21.
93         - update to ortp-0.13.1.
94         - autoconf: extend checks for headers, library functions and
95           compiler characteristics.
96         - Fix streaming of large mp3 files.
97         - Fix an off-by-one bug in playlist handling.
98
99 --------------------------------------
100 0.2.16 (2007-04-05) "neural discharge"
101 --------------------------------------
102
103 The main change in this release is the major audio format handler
104 cleanup which removes some similar/duplicate code and makes it easier
105 to implement plugins for other audio formats. Of course, the usual mix
106 of other improvements/changes/bugfixes also made it into the release.
107
108         - simplified audio format handlers (most of the handling functions
109           were moved one layer up to the virtual streaming system).
110         - para_server uses mmap to read audio files
111         - repositioning of mp3 streams is much faster, in particular for
112           jumping near the end of large mp3 files.
113         - permission flags DB_READ,DB_WRITE have been renamed to AFS_READ
114           and AFS_WRITE.
115         - fix a bug in para_filter that caused decoding of aac files
116           to start only after a few seconds.
117         - fix osx_writer hangs
118         - simplified dccp code (thanks to Gerrit Renker)
119         - the compress filter works also on big endian systems (ppc)
120
121 -----------------------------------------
122 0.2.15 (2007-02-16) "inductive resonance"
123 -----------------------------------------
124
125 Minor improvements, more documentation and a bunch of bug fixes.
126
127         - para_server: The server.users file is only read once on server
128           startup rather than for each connection
129         - mp3dec: Fix decoding of corrupt mp3 files
130         - afs (audio file sender) is now called vss (virtual streaming
131           system). Consequently, the permission flags specified in
132           ~/.paraslash/server.users have also changed: AFS_READ and AFS_WRITE
133           become VSS_READ and VSS_WRITE respectively.
134         - para_audiod/para_filter: Fix a bug that caused the last chunk
135           of audio data not being written under certain circumstances
136         - audiod: compute the difference of server time and local time
137           correctly
138         - para_server/para_audiod: Fix some memory leaks
139         - documentation improvements
140         - configure.ac: fix checks for para_krell
141         - new man pages
142
143 -------------------------------------------
144 0.2.14 (2006-10-15) "transient singularity"
145 -------------------------------------------
146
147 The only major enhancement of this version is the osx writer which completes
148 the Mac OS Port and was originally planned already for 0.2.13 but had to wait
149 until now for reasons beyond the scope of this changelog entry.
150
151         - new output plugin for Mac Os: the osx writer
152         - rename configure command line options from --enable-xxx-headers to
153           --with-xxx-headers and  --enable-xxx-libs to --with-xxx-libs
154         - configure: new command line options: --with-mad-headers,
155           --with-mad-libs, --with-oggvorbis-headers, and --with-oggvorbis-libs
156         - some robustness fixes
157         - dymamic audio format recognition for audiod
158         - para_server: new command line option: --autoplay_delay
159         - para_audiod: new command line option: --clock_diff_count
160
161 ---------------------------------------
162 0.2.13 (2006-07-14) "sonic convolution"
163 ---------------------------------------
164
165 A bunch of new features and core changes.
166
167         - the new paraslash scheduler, short and sweet.
168         - Support for m4a/mp4 files via the new aac audio format
169           handler/filter (requires libfaad).
170         - each writer has its own command line parser, just like
171           para_recv and para_filter.
172         - para_client and para_audioc use the error subsystem
173         - writers are integrated in para_audiod (currently linux-only)
174         - para_client is integrated in para_audiod
175         - random/playlist selector: improved info strings
176         - new audiod commands: tasks, kill
177         - update to libortp-0.10.1
178         - para_fade: wake time defaults to 8 hours from now
179         - update to autoconf-2.60
180
181
182 ------------------------------------------
183 0.2.12 (2006-05-12) "oriented abstraction"
184 ------------------------------------------
185
186 Many user-visible changes in this release and lots of new
187 features:
188
189
190         - the new optional dccp sender/receiver. It uses the datagram
191           congestion control protocol. You'll need a fairly new kernel
192           for this.
193         - paraslash works on Mac OS X (thanks to Gerd Becker)
194         - para_play renamed to para_write
195         - modular output plugin design (writers) for para_write
196         - new file_writer output plugin for para_write
197         - compress filter speed improvements
198         - update to libortp-0.9.1
199         - update to gengetopt-2.17rc
200         - para_client no longer depends on libreadline (as the
201           code for the interactive mode was removed).
202         - gcc-2-95 is no longer a supported compiler. It may still
203           work, but it gets no more testing.
204         - the tarball no longer contains the screenshot images which
205           reduces its size quite a bit.
206         - configure: new command line options: --enable-mysql-headers
207           and --enable-mysql-libs
208
209 ------------------------------------
210 0.2.11 (2006-03-11) "atomic duality"
211 ------------------------------------
212
213 Here it is, the first paraslash release developed with git. There
214 are fairly many user-visible changes in this release. As two out of
215 the three "database tools" of paraslash don't use a database at all,
216 they are now called "audio file selectors" instead.
217
218
219         - the cdt command (change database tool) becomes chs (change
220           selector)
221         - no more colon separators: The syntax of some options of
222           para_audiod and para_filter have changed. Use --help for
223           more info (and some examples).
224         - update to gengetopt-2.16 (thanks to Lorenzo Bettini)
225         - switch from cvs to git (should've done that earlier)
226         - the new ipc subsystem
227         - new audio file selector: playlist
228         - para_server: the dopey selector is now called "random",
229           and is the default selector. Use the --selector option to
230           choose another selector at startup, or the chs command to
231           change the selector at runtime.
232         - X86_64 fixes (thanks to Steffen Klassert)
233         - para_play fixes
234
235
236 --------------------------------------
237 0.2.10 (2006-02-17) "cyclic attractor"
238 --------------------------------------
239
240 Huge documentation update, a scrollable window for para_gui, ortp
241 improvements, and of course many small fixes not mentioned here.
242 The diffstat below is rather misleading as most insertions are due
243 to the new source documentation.
244
245         - autoconf cleanup
246         - para_server also uses the new error subsystem
247         - lots of new documentation (UTSL)
248         - gui improvements:
249                 - keysyms for cursor keys and for next/previous page keys
250                 - scrollable output window
251                 - new internal commands: scroll up/down, page up/down
252                 - fix color of command output.
253         - ortp: the --chunk_time and --header flags are no longer needed
254         for para_recv/para_audiod as this information is now encoded in
255         each rtp packet sent by para_server.
256
257
258 -------------------------------------------
259 0.2.9 (2006-01-24) "progressive turbulence"
260 -------------------------------------------
261
262 Internal audiod receivers/filters, the new error subsystem and
263 a lot of small improvements.
264
265         - para_recv and para_filter are integrated into the para_audiod
266           binary, i.e. audiod no longer spawns a new process for
267           each receiver/filter. As para_recv and para_filter might be
268           useful as standalone programs, they still get built (linked
269           against the same object files that are also used for audiod).
270         - further ortp timing improvements should reduce the CPU usage
271           of the ortp receiver.
272         - improved audio grabbing. The 'grab' command of para_audiod
273           has its own set of command line options. Read the output of
274           "para_audioc help grab" for more info.
275         - oggdec: configurable input prebuffer size.
276         - the new error subsystem gives better error diagnostics
277           and reduces code size.
278
279
280 -----------------------------------------
281 0.2.8 (2006-01-02) "dynamic accumulation"
282 -----------------------------------------
283
284 The new modular filter design and the para_play-hangs bugfix.
285
286         - new executable: para_filter. It combines para_mp3dec,
287           para_oggdec and para_compress. It also adds a further filter
288           type, wav, that just inserts a wave header at the desired point
289           of the filter chain. All 'piping' is done in-memory (i.e. no
290           read/write operations are used).
291         - para_play: fix a stupid bug that caused it to hang under
292           certain circumstances.
293
294
295 -------------------------------------------
296 0.2.7 (2006-12-27) "transparent invariance"
297 -------------------------------------------
298
299 Not many user-visible changes but a fair amount of internal improvements.
300
301
302         - The http sender buffers data if it can not be sent
303           out immediately (because the socket is not writable). This
304           should prevent para_server from shutting down the connection
305           too early on a loaded network.
306         - para_play also prebuffers data if it is told to start at a
307           future time by the --start_time option.
308         - The return of para_recv: It combines para_ortp_recv and
309           para_http_recv. Use the --receiver option to switch between
310           the two. para_recv builds without libortp, but contains
311           only the http receiver in this case.
312         - update to ortp 0.8.1. As this ortp release contains incompatible
313           changes, para_recv-0.2.7 won't link against older ortp libs.
314         - improved ortp timings.
315         - use of gcc-extensions that #define away for non-gcc and
316           gcc < 3.0.
317
318
319 -------------------------------------------
320 0.2.6 (2005-10-29) "recursive compensation"
321 -------------------------------------------
322
323 Transparent session encryption (uses openssl's Alleged RC4 cipher),
324 the internal find command and several other improvements and cleanups.
325
326         - Encrypt the session if encryption is requested by the client
327           (default for para_client 0.2.6). This is backwards
328           compatible, so older clients can still connect to para_server
329           0.2.6. Use the new client option --plain to request an
330           uncrypted session (off by default, must be set to on in
331           order to connect to para_server 0.2.x with 0 <= x <= 5).
332         - para_server uses an internal function to locate audio files
333           rather than calling find(1). The server option
334           --mysql_audio_file_dir replaces --mysql_find_cmd.
335         - documentation update
336         - man pages
337         - header file cleanup
338         - para_client code cleanup
339         - para_gui: faster display of output of display commands
340
341
342 ------------------------------------------
343 0.2.5 (2005-10-13) "aggressive resolution"
344 ------------------------------------------
345
346 This release adds internal senders, i.e. no more external programs are
347 spawned for sending out the audio data. There are two different senders
348 available: The http sender and the ortp sender (former para_send which
349 is no longer needed).
350
351 The new sender code has a plugin-like design so it can be easily
352 extended should there be be any future need for supporting another
353 network streaming protocol. All senders are completely independent of
354 each other. In particular, the http and the ortp sender can operate
355 in parallel.
356
357         - new server command: sender to control senders at runtime.
358           Read the output of "para_server -h" and "para_client help
359           sender" for more information.
360         - para_recv renamed to para_ortp_recv
361         - new executable: para_http_recv, a simple command line
362           http receiver.
363         - major afs/mp3/ogg code simplifications due to internal
364           senders.
365         - ogg timing improvements
366         - fix several minor memory leaks (found by valgrind)
367         - empty stream definitions work again
368         - com_ne(): ignore errors on remove
369         - audiod: fix segfault on server restart
370
371
372 ---------------------------------------
373 0.2.4 (2005-09-21) "toxic anticipation"
374 ---------------------------------------
375
376 Several small improvements, fixes and the new grab command.
377
378         - audiod:
379                 - new command: "grab" to grab the output of the stream reader
380                   or any filters. Read the output of "para_audioc help grab"
381                   for more information.
382                 - fix memory leak
383                 - code cleanup
384         - audioc: new command line option: --bufsize to specify a
385           buffer size different from the default size 8192.
386         - improved error diagnostics for para_play.
387         - new configure option: --enable-ssldir so search for openssl in
388           non-standard places
389         - sdl_gui: Make it look nice again for 1024x768
390         - server: report total size of memory allocated with sbrk by malloc,
391           new command line option: --announce_time
392
393
394 -----------------------------------------
395 0.2.3 (2005-09-01) "hydrophilic movement"
396 -----------------------------------------
397
398 Two new executables and major feature enhancements.
399
400         - audiod filters: It is now possible to specify arbitrary many
401           (including none) filters for each supported audio
402           format. This can be used e.g. for normalizing volume,
403           transforming or grabbing the audio stream, or for using
404           visualizers.  Read the output of "para_audiod -h" for the
405           syntax of the new --filter_cmd option.
406         - new executable: para_play, a tiny alsa player. It
407           can play wave files or raw pcm (16 bit little endian)
408           from stdin.
409         - new executable: para_compress, a dynamic range compressor
410           intended to keep audio output at a consistent volume. Derived
411           from AudioCompress, http://trikuare.cx/code/AudioCompress.html.
412         - audiod: New option: --stream_delay. This can be used in
413           a local network to syncronize the audio output of all
414           clients that play the same stream.
415
416
417 ------------------------------------------
418 0.2.2 (2005-08-19) "tangential excitation"
419 ------------------------------------------
420
421 Mostly internal changes in this release, but also some new commands
422 for the mysql database tool.
423
424         - cleanup exec.c, fix para_exec bug
425         - compile time loglevel (log messages below the given level
426           won't be compiled in, which reduces the size of the
427           resulting binaries)
428         - new log macros that shorten the size of the source code.
429         - workaround a gcc-4.1 bug (?) that caused send_cred_buffer()
430           to send only zeros. With this workaround, para_audioc works
431           again.
432         - avoid gcc-4 warning: conflicting types for built-in function 'clog'
433         - new mysql commands: "rm" (remove entry), "mv" (rename entry) "ne"
434           (new entry), "snp" (set numplayed). Read the manual for more
435           information.
436
437
438 ---------------------------------------
439 0.2.1 (2005-08-15) "surreal experience"
440 ---------------------------------------
441
442 Here comes paraslash-0.2.1. It contains a couple of new features and,
443 surprise, only minor bug fixes.
444
445         - kill noisy mp3 debug message
446         - cleanup of the build system
447         - para_server and para_client directly use the crypto routines
448           of the openssl library rather than invoking the openssl command
449           line utitlity
450         - server/audiod: new option --user to switch to the given user
451           when invoked as root. Read the output of "para_server -h" for
452           more information.
453         - gui/sdl_gui: new option --stat_cmd to be used to retrieve the
454           status. Default: "para_audioc stat"
455         - sdl_gui: new option --pic_cmd to be used to download the picture.
456           Default: "para_client pic"
457         - audiod: 5 slots ought to be enough for everybody
458         - audiod: new status item: Uptime, kill hup command
459
460
461
462 ------------------------------------------
463 0.2.0 (2005-08-06) "distributed diffusion"
464 ------------------------------------------
465
466 After several month of increased development activity, paraslash-0.2.0
467 has arrived. It contains many new features and is much more
468 self-contained than the old 0.1.x series. Enjoy!
469
470
471         - para_server: fix hang on song change and crash on sighup.
472           Speed up mysql queries. The DIR_LIKE macro is gone.
473         - new executables: para_audiod, the local audio daemon that
474           starts playback (uses SCM_CREDENTIALS socket magic) and
475           para_audioc, the corresponding client.
476         - new executables: para_mp3dec/para_oggdec, two really teensy
477           decoders. para_mp3dec is based on libmad, para_oggdec requires
478           libvorbisfile.
479         - ovsend/ovrecv are capable of streaming ogg as well as mp3, so
480           they are now called para_send and para_recv respectively.
481         - documentation updates
482         - para_gui is themable. For now there is the default theme that
483           looks as before and the simple theme: blue and easy.
484         - gui: audio streaming is now handled by audiod. Time display shows
485           playback time rather than streaming time
486         - slider: update to libzmw-0.2.0
487         - para_krell: fix crash on server shutdown
488         - switch from gzip to bzip2
489
490
491 ----------------------------------------
492 0.1.7 (2005-04-18) "melting penetration"
493 ----------------------------------------
494
495 The main change in this release is clearly the oggvorbis rewrite,
496 but there are also lots of smaller changes. If you intend to use both
497 the mp3 and the ogg plugin, it is recommended to use software mixing,
498 e.g. the dmix plugin which is provided by ALSA.
499
500         - new executables: para_ovsend and para_ovrecv for sending/receiving
501           oggvorbis files via rtp. Requires the open rtp library. Get it at
502           http://www.linphone.org/ortp/
503         - rewrite of the ogg_vorbis core code
504         - configure detects libzmw and, if detected, includes
505           para_slider to the list of binaries to be built by make
506         - server stream writers read from their associated fifo rather
507           than from stdin
508         - slider: two new sliders, lastplayed and numplayed
509         - fix nasty double free bug which caused random segfaults in case of
510           mp3 files with invalid header information
511         - gui: new command line option: --stream_timeout=seconds  to
512           deactivate a slot if it is idle for that many seconds (default=`5')
513         - diffstats
514
515
516 ---------------------------------------
517 0.1.6 (2005-03-05) "asymptotic balance"
518 ---------------------------------------
519
520 Only little user-visible changes in this release. Mainly bugfixes and
521 core code cleanup. This is probably the most stable version ever if you
522 stick to mp3...
523
524         - fix several memory leaks
525         - rename default name of mysql database from "music" to "paraslash".
526           Use para_server's  --mysql_database option if you do not want to
527           rename your old database.
528         - rework ogg vorbis code
529         - make update command work on mysql servers with LOCAL_INFILE
530           disabled
531         - gui: improved stream I/O (slots)
532         - simplified audio format API
533         - para_pob_ogg is gone
534
535 ------------------------------------
536 0.1.5 (2004-12-31) "opaque eternity"
537 ------------------------------------
538
539 Let's slide gently into the new year.
540
541         - new: para_slider (not built automatically, type "make
542           para_slider" to build). A toy for those who always felt that
543           creating stream definitions is difficult. See screenshots,
544           README and FEATURES for more info.
545         - improved signal handling. Fixes server segfault on SIGHUP
546           for linux kernels newer than Aug 24 2004 and makes para_gui
547           race-free.
548         - reload database tool on SIGHUP
549         - improved help message for sl
550         - do not log "broken pipe" messages as errors. They are
551           perfectly ok.
552         - fix wrong error message on permission errors
553
554 -----------------------------------------
555 0.1.4 (2004-12-19) "tunneling transition"
556 -----------------------------------------
557
558 Bugfix release. As expected, 0.1.3 introduced a bunch of new bugs.
559 Hopefully, most of them got wiped out with this release. Some
560 enhancements went also in.
561
562         - improved error diagnostics for all commands
563         - stradd/picadd: overwrite previous contents if entry already
564           exists, rather than returning errors
565         - stradd: use current stream if invoked without args
566         - faster (and hopefully more stable) ogg-vorbis handling
567         - para_krell: reap children to avoid zombie-flooding in case
568           no server is running
569         - si: report also server pid
570         - server: don't busy-loop if dbtool reports only invalid files.
571         - gui: CTRL+C works again, fix stream_read command line option
572         - fix pic_add, hist
573         - fix mysql dbtool startup in case no database exists
574         - many small fixes and cleanups
575
576 ---------------------------------------
577 0.1.3: (2004-12-10) "vanishing inertia"
578 ---------------------------------------
579
580 Starting from this release, the database tools are integrated in the
581 server binary. This decreases server startup time, reduces code size
582 and speeds up database commands. However, the layout of the underlying
583 mysql database changed only slightly and 0.1.3 should be backwards
584 compatible in that respect.
585
586 Visible changes:
587
588         - If mysql is not detected at compile time, or fails to init
589           at runtime, fall back to the dopey database tool which should
590           always work.
591         - para_dbtool and dbtool.conf are gone. All mysql specific
592           options are read from server.conf and are prefixed by 'mysql_'.
593         - new command: cdt (change database tool)
594         - new command line option: dbtool (choose startup database tool)
595         - The name of current stream is now stored in the database,
596           so paraslash remembers its current stream when restarted.
597         - new command: csp (change stream and play)
598         - para_gui also reports current database tool and server uptime
599
600
601 -------------------------------------------
602 0.1.2: (2004-11-28) "spherical fluctuation"
603 -------------------------------------------
604
605 Point release before the big dbtool changes go in.
606
607         - dbtool: rename ca to cam (copy all meta data). It now also
608           copies numplayed and lastplayed time as well as the picture
609           id.
610         - fix endless-loop-bug caused by mp3 files with invalid header
611
612 -----------------------------------------
613 0.1.1: (2004-11-05) "floating atmosphere"
614 -----------------------------------------
615
616         - gkrellm plugin
617         - new dbtool command: mbox. Browse your sound-file collection
618           with your favorite mail reader.
619         - several small fixes
620
621 -------------------------------------
622 0.1.0: (2204-10-22) "rotating cortex"
623 -------------------------------------
624
625         - fix logging bug for loglevel > VERBOSE
626         - fix skip command
627         - correct timings for vbr mp3s
628         - modular audio format support
629         - ogg-vorbis support (experimental)
630         - new server option: autoplay
631
632 -----------------------------------------
633 0.0.99: (2004-07-25) "harmonic deviation"
634 -----------------------------------------
635
636         - rename projectname from icc to paraslash (play, archive, rate
637           and stream large audio sets happily)
638         - paraslash is no longer restricted to one particular audio
639           streaming software
640         - new dbtool commands (stradd, strq, strdel) for easy stream
641           managment w/o configuration file. That obsoletes stream_defs
642           file/config option for dbtool.
643         - picadd accepts jpeg data from stdin
644         - new server commands: ps (select previous stream), sc (song change)
645         - new default pictures for sdl_gui
646         - gui: new key_map option for binding commands and internal
647           functions to arbitrary keys, nice help screen, rip out
648           soundcard/linux specific stuff, avoid noise artefacts while jumping,
649           show silly logo on startup
650         - new executables: para_fade for fading volume, para_dbadm for
651           manipulating attributes
652         - cdb adds _all_ tables to mysql database
653         - revised and beautified documentation
654         - sample dbtool rewritten in C
655         - autoconf
656
657 ---------------------------------------------
658 0.0.98: (2003-12-26) "incremental smoothness"
659 ---------------------------------------------
660
661         - kick icecast in favour of poc. That removes some races and reduces
662           core code considerably.
663         - cbr/vbr is displayed by stat and gui/sdl_gui. New status flags
664           give finer info on afs' status.
665         - gui can start decoder (see config options). Further new gui
666           commands: refresh (^L), jmp (F1-F10)
667         - gui rereads conf on SIGUSR1 instead of SIGHUP. SIGHUP
668           terminates gui. This fixes dead instances consuming memory
669           continuously.
670         - new dbtool command: verb for sending verbatim sql queries.
671         - fix pid_list races (by removing pid_list)
672         - codename funnies
673
674 --------------------
675 0.0.97: (2003-10-26)
676 --------------------
677
678         - installation prefix now defaults to /usr/local
679         - new commands for gui: snozze, sleep and reread config
680         - config file for gui and sdl_gui
681         - fix problems with filenames containing funny characters
682           (reported by Thomas Forell)
683         - improved signal handling for gui, now it rereads conf on SIGHUP
684         - new dbtool command: cdb (create database)
685         - switch from argtable to gengetopt
686         - major code cleanup and speed improvements
687         - fix several potential buffer overflows
688         - many small fixes and cleanups
689
690 -------------------
691 0.0.96 (2003-08-30)
692 -------------------
693
694         - easy stream_defs syntax
695         - sdl_gui can display images associated to the file being played
696         - Major feature enhancements for icc_gui including dynamic text
697           placement and the top/bottom window design
698         - vrfy/clean now also checks for NULL values in attributes as
699           well as for invalid picture pointers
700         - fix long outstanding case sensitivity bug
701         - many small fixes and cleanups
702
703 -------------------
704 0.0.95 (2003-06-29)
705 -------------------
706
707         - sdl gui runs much faster
708         - new dbtool command: ca (copy attributes)
709         - count and display number of times the song has been played
710         - new feature: scoring
711         - command line options for sdl_gui
712         - simpler syntax of streams file
713         - decrease network traffic of stat
714         - fix zombie bug
715         - many small fixes and cleanups
716
717 -------------------
718 0.0.94 (2003-05-04)
719 -------------------
720
721         - new server command: ns (next stream)
722         - new icc_gui command: c (change stream)
723         - internal mp3info
724         - stat shows also id3 tag info
725         - new sdl based gui
726         - log flodding bug fixed
727         - many small fixes and cleanups
728
729 -------------------
730 0.0.93 (2003-03-28)
731 -------------------
732
733         - colors for icc_gui
734         - icc_gui sets volume directly (linux only)
735         - proper locking that fixes some races
736         - fix security bug that caused commands to be executed even
737           with unsufficient permissions
738         - new command: hup to make all servers reread their configuration file
739         - icecast meta data streaming
740         - many small fixes and cleanups