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