08acd22cbc81adeee24d88f784d813207ff47b63
[paraslash.git] / NEWS.md
1 NEWS
2 ====
3
4 ------------------------------------
5 0.6.0 (to be announced) "fuzzy flux"
6 ------------------------------------
7 - Support for Mac OS X has been removed.
8 - On Linux systems, glibc-2.17 or newer is required to build the
9   source tree.
10 - Support for RSA public keys in ASN format (as generated by openssl
11   genrsa) has been removed. These keys have been deprecated since
12   2011, so users should have long switched to keys generated with
13   ssh-keygen(1).
14 - If libgcrypt is used as the crypto library, we now require version
15   1.5.0 (released in 2011) or later.
16 - The insecure RC4 stream cipher has been removed. It was superseded
17   by aes_ctr128 three years ago but the RC4 code had been kept for
18   backwards compatibility.
19
20 Downloads:
21 [tarball](./releases/paraslash-git.tar.bz2),
22
23 -------------------------------------
24 0.5.7 (2016-12-31) "semantic density"
25 -------------------------------------
26
27 Mostly a bug fix release, and a bunch of internal improvements.
28 The only user-visible changes are the sanity checks for the touch
29 command and the new options to the ls command.
30
31 - Speedup of the base64 decoder.
32 - One of the two source browsers has been removed from the web pages.
33   The doxygen API reference still contains an HTML version of each
34   source file.
35 - Two race conditions in para_server have been fixed.
36 - ls -p is now deprecated in favor of -F or -b. See the help text of
37   the ls command for details.
38 - The openssl code has been adjusted to work also with openssl-1.1.
39 - The wma decoder and audio format handler now correctly decodes
40   files with unusual block sizes.
41 - We now compile with -Wformat-signedness if possible.
42 - The touch command now refuses to set an invalid image or lyrics ID.
43 - New section on contributing for the user manual.
44 - Major simplification of the error subsystem.
45
46 Downloads:
47 [tarball](./releases/paraslash-0.5.7.tar.bz2),
48 [signature](./releases/paraslash-0.5.7.tar.bz2.asc)
49
50 -------------------------------------------
51 0.4.14 (2016-12-31) "branching oscillation"
52 -------------------------------------------
53
54 Many fixes for nasty bugs have accumulated over the years since 0.4.13
55 was released in 2013. This release contains all of them. It is the
56 last v0.4.x release, so v0.4.x is now end of life. The maint branch
57 of the git repository has been forwarded to v0.5.7 and will start to
58 receive important fixes for 0.5.x, which is now in maintenance mode.
59
60 - Fix for the "double encryption bug" with gcrypt, which caused
61   garbage to be sent to stat clients.
62 - The "prev" command of para_play now works as expected.
63 - Invalid parameters for the begin and end chunk no longer cause
64   the afh receiver of para_recv to segfault.
65 - A fix for an assertion that triggered in the FEC slice setup code.
66 - Closing the terminal with a running para_gui causes the process to
67   die, rather than using 100% of CPU time.
68 - para_gui no longer shows stale information about the previous
69   audio file.
70 - A fix for a bug in the fec decoder which caused aborts if the buffer
71   pool filled up.
72 - The assertion in the buffer tree code no longer triggers.
73 - The "afs_event: table moods, event 0: key already exists in rbtree"
74   error no longer occurs on attribute changes.
75 - A NULL pointer dereference in com_sender() has been fixed.
76 - The -i option of lsatt works as advertised.
77 - Various fixes for the build system.
78
79 Downloads:
80 [tarball](./releases/paraslash-0.4.14.tar.bz2),
81 [signature](./releases/paraslash-0.4.14.tar.bz2.asc)
82
83 ---------------------------------------
84 0.5.6 (2016-07-10) "cascading gradient"
85 ---------------------------------------
86
87 The highlight of this release is the new -m flag for para_afh which
88 lets it modify the meta tags of the given audio file(s). This feature
89 is supported for all audio formats. Many small cleanups and bug fixes
90 not mentioned here have accumulated and are also part of the release.
91
92 - para_afh learned to modify meta tags of mp3 wma ogg spx
93   opus flac aac files.
94 - afs commands propagate error codes to the client.
95 - The check command now also checks the attribute table for
96   inconsistencies.
97 - New -v flag for the version command (print verbose version string)
98 - New option --priority for para_server and para_audiod.
99 - New mood methods: image_id and lyrics_id.
100 - The manual and this NEWS file have been converted to markdown.
101 - Support for the compile-time loglevel feature has been removed.
102 - Cleanup of the wma decoder and bitstream code.
103 - Improved wide-character support and fixes related to signal handling.
104 - para_gui no longer reports 100% playing time at the stream start.
105 - Opus cleanups.
106
107 Downloads:
108 [tarball](./releases/paraslash-0.5.6.tar.bz2),
109 [signature](./releases/paraslash-0.5.6.tar.bz2.asc)
110
111 --------------------------------------
112 0.5.5 (2015-09-20) "magnetic momentum"
113 --------------------------------------
114
115 Many new features and a lot of other improvements.
116
117 - On Linux systems, local sockets are now created in the
118   abstract name space by default. This allows to get rid of
119   the socket specials in /var/paraslash.
120 - The --user-allow option of para_audiod now accepts also
121   usernames rather than only user IDs.
122 - New autoconf macros to avoid duplication in configure.ac.
123 - Status items (as shown by para_gui) are updated correctly
124   when the meta information of the current audio changes.
125 - para_server and para_audiod no longer refuse to start in
126   the background if no log file is given. Instead, all log
127   messages go to /dev/null in this case.
128 - Web page cleanup.
129 - New syntax for the -l and -s options of the ls command.
130   These options should now be specified as -l=v rather than
131   -lv, for example. The old syntax still works, but support
132   will be dropped in v0.6.0.
133
134 Downloads:
135 [tarball](./releases/paraslash-0.5.5.tar.bz2),
136 [signature](./releases/paraslash-0.5.5.tar.bz2.asc)
137
138 ------------------------------------------
139 0.5.4 (2015-01-23) "exponential alignment"
140 ------------------------------------------
141
142 Another cleanup and bugfix release.
143
144 - New server command: tasks.
145 - Minor cleanups to daemon.c.
146 - New URLs for home page and git services.
147 - Improved error diagnostics for the mvblob commands.
148 - New sender subcommand: status.
149 - Improved help text for server and afs commands.
150 - audiod memory leak fixes.
151 - Miscellaneous improvements to the build system.
152 - oss_writer improvements.
153 - Improved handling of mp3 files with both id3v1 and id3v2 tags.
154
155 Downloads:
156 [tarball](./releases/paraslash-0.5.4.tar.bz2),
157 [signature](./releases/paraslash-0.5.4.tar.bz2.asc)
158
159 ---------------------------------------------
160 0.5.3 (2014-08-01) "symbolic synchronization"
161 ---------------------------------------------
162
163 Not many new features, but lots of fixes and usability improvements.
164
165 - para_gui has been converted to use the paraslash scheduler.
166 - Various alsa-related fixes, mostly for the raspberry pi.
167 - Many scheduler improvements and cleanups.
168 - The test suite has been extended to include sanity checks
169   for the generated man pages.
170 - ao_writer fixes. This writer was in a quite bad shape. Many
171   serious bugs have been fixed.
172 - new audiod command: version.
173 - Minor improvements to the bitstream API.
174 - The cpsi command now prints a meaningful error message if
175   none of the given patterns matched any audio file.
176
177 Downloads:
178 [tarball](./releases/paraslash-0.5.3.tar.bz2),
179 [signature](./releases/paraslash-0.5.3.tar.bz2.asc)
180
181 ----------------------------------------
182 0.5.2 (2014-04-11) "orthogonal interior"
183 ----------------------------------------
184
185 The new sync filter, the AES_CTR128 stream cipher and the overhauled
186 network code are the highlights of this release. It also includes a
187 fair number of smaller fixes and improvements not mentioned here.
188
189 - The new sync filter synchronizes playback between multiple
190   clients.
191 - Connections between para_server and para_client are now
192   encrypted by means of AES rather than RC4 if both sides
193   support it. RC4 is still available as a fallback. This
194   feature is fully transparent, i.e. no command line options
195   are necessary, and a client linked against openssl can
196   speak with a server linked against libgcrypt and vice versa.
197 - Major cleanup of the networking subsystem.
198 - Improvements to para_fade: the new set mode, multi-channel
199   initial volumes, better error logging.
200 - The man pages of para_audiod, para_filter, para_recv, and
201   para_write contain the relevant options for receivers, filters,
202   writers. This broke in 0.5.0.
203 - ogg/vorbis latency improvements.
204 - Improved user manual.
205 - Minor fixes to avoid clang warnings.
206
207 Downloads:
208 [tarball](./releases/paraslash-0.5.2.tar.bz2),
209 [signature](./releases/paraslash-0.5.2.tar.bz2.asc)
210
211 ------------------------------------------
212 0.5.1 (2013-12-20) "temporary implication"
213 ------------------------------------------
214
215 Lots of fixes and improvements all over the place, and a major overhaul
216 of the build system.
217
218 - Audiod improvements and fixes.
219 - Buffer tree robustness improvements.
220 - Cleanup of the mood subsystem.
221 - Fixes and cleanups for the flac decoder.
222 - Latency improvements for the ogg/opus decoder.
223 - Crypto support is now optional. On systems without
224   openssl/gcrypt, the build succeeds but para_server,
225   para_audiod, para_client won't be built.
226 - The build system now works for cross-compile setups.
227 - The dependency tree has been flattened, which speeds up
228   builds and avoids to recreate the man pages on every change.
229 - The error code helper has been rewritten from perl to C,
230   which further improves build time.
231 - Many small bugs in the build system have been identified
232   and fixed.
233
234 Downloads:
235 [tarball](./releases/paraslash-0.5.1.tar.bz2),
236 [signature](./releases/paraslash-0.5.1.tar.bz2.asc)
237
238 ----------------------------------------
239 0.5.0 (2013-08-23) "invertible validity"
240 ----------------------------------------
241
242 Some API-breaking changes, one serious bug fix, and a lot of bike-shedding.
243
244 - The sideband compatibility code has been removed, hence
245   sideband connections (introduced in 0.4.11) are now mandatory.
246 - Addblob commands can produce output.
247 - The stat command no longer sends garbage when para_server was
248   compiled against libgcrypt.
249 - Dependencies for gengetopt files are computed automatically.
250   This eliminates a constant source of build bugs.
251 - The setatt command now accepts file name patterns rather than only
252   path names.
253 - overview.pdf is now based on dia, a simple diagram creation program.
254   The new version is much more detailed and contains descriptions of
255   the various programs of the paraslash package.
256 - The separator of all multi-word options has been changed from
257   underscore to dash. For example --log_color becomes --log-color.
258 - Overhauled web pages and the new logo.
259
260 Downloads:
261 [tarball](./releases/paraslash-0.5.0.tar.bz2),
262 [signature](./releases/paraslash-0.5.0.tar.bz2.asc)
263
264 --------------------------------------
265 0.4.13 (2013-07-29) "spectral gravity"
266 --------------------------------------
267
268 One more 0.4.x release before the API-breaking changes for 0.5.0 go
269 in. The main features of this release are the ogg/opus audio format,
270 and UTF-8 support, but it includes also tons of other improvements
271 and fixes all over the place.
272
273 - New audio format: ogg/opus.
274 - UTF8 support for para_gui and the mp3 audio format handler.
275 - Scheduler improvements and fixes.
276 - The obsolete gettimeofday() function has been replaced
277   by clock_gettime() on systems which support it.
278 - Speed and usability improvements for para_gui.
279 - para_client now restores the fd flags of stdin and stdout
280   on shutdown.
281 - Improved manual pages.
282 - Consistent version strings for all executables.
283 - Reduced dependencies on generated files result in fewer
284   recompilations on changes.
285 - Performance improvements for the compress filter.
286 - Improved downloads web page.
287
288 -----------------------------------------
289 0.4.12 (2012-12-20) "volatile relativity"
290 -----------------------------------------
291 The new command line player, the resample filter, ALSA support for
292 para_fade, and the improved build system are the highlights of this
293 release which probably marks the end of the 0.4.x series.
294
295 - The afh receiver and the para_play executable.
296 - The resample filter: A sample rate converter based on
297   libsamplerate.
298 - The "versions" directory has been removed from the master
299   branch. The tarballs of the old releases are now available
300   in the new "releases" branch.
301 - Overhaul of the build system: All generated files are now
302   written to the "build" directory.
303 - The modular mixer API and the alsa mixer.
304 - Minor fixes for the osx writer.
305
306 --------------------------------------
307 0.4.11 (2012-07-20) "mutual diversity"
308 --------------------------------------
309
310 The major feature in this release is the new sideband API for
311 client-server communication. This API will be used exclusively starting
312 with 0.5.0, which breaks backward compatibility but allows to get rid
313 of quite some compatibility code. Other noteworthy changes include
314 decoder latency improvements and a long-standing bug fix for the
315 ALSA writer.
316
317 - Sideband connections: If both para_server and para_client
318   support this feature, data is sent as a multiplexed stream.
319 - The --no_default_filters option of para_filter has been
320   removed.
321 - Several fixes and latency improvements to various decoders.
322 - The ALSA writer now limits the prebuffer time to 500ms.
323 - Documentation improvements.
324 - Overhaul of the command_util.sh script.
325 - Fixes for some minor problems found by the clang analyzer.
326 - Compiles (almost) without warnings on gcc-3.
327 - Robustness improvements of the buffer tree code.
328
329 ------------------------------------------
330 0.4.10 (2012-03-30) "heterogeneous vacuum"
331 ------------------------------------------
332
333 Nothing earth-shaking in this release, but quite a few usability
334 improvements and the usual mix of cleanups and fixes.
335
336 - The --no_default_filters option of para_filter has been
337   deprecated. It still works but has no effect and will be
338   removed in the next version.
339 - para_gui now prints also the stderr output of the executing
340   command in the bottom window.
341 - Cleanup and consolidation of the various wrappers for
342   write(), writev(), send() and friends.
343 - The obscure error messages on mmap() failures have been
344   replaced by meaningful messages. This affects mainly
345   para_afh.
346 - para_audioc: Cleanups and memory leak fixes.
347 - Test 0004-server no longer fails if para_server is not
348   being built.
349 - New configure options: --with-id3tag-{headers,libs}.
350
351 -------------------------------------
352 0.4.9 (2011-12-06) "hybrid causality"
353 -------------------------------------
354
355 Support for another audio format, interactive mode for para_client
356 and para_audiod and many small improvements/fixes all over the place.
357
358 - Support for flac, the free lossless audio codec.
359 - Fix for an endless loop in the mp3 decoder for certain
360   (corrupt) mp3 files.
361 - When executed without specifying a command, para_client
362   and para_audioc start an interactive shell (requires
363   libreadline being installed). The interactive mode offers
364   full tab completion and command line history.
365 - autogen.sh now detects a distcc setup and adjusts the
366   parameter for the -j option of make accordingly.
367 - Shared memory areas are no longer restricted to 64K. We now
368   detect the maximal size of a shared memory area at runtime.
369 - cleanup of the internal uptime API.
370 - para_server prefaults the mmapped audio file to avoid
371   delays on slow media.
372 - A new test for the test-suite that exercises the
373   communication between para_server and para_audiod.
374 - The alsa writer eats up less CPU cycles when configured to
375   use the DMIX plugin.
376 - Simplified and unified receiver code.
377 - Makefile cleanups.
378 - Commands which print a list of matching audio files now
379   emit a meaningful error message if no audio file matched the
380   given pattern(s).
381
382 --------------------------------------
383 0.4.8 (2011-08-19) "nested assignment"
384 --------------------------------------
385
386 Gcrypt support, the overhauled osx writer and regex format specifiers
387 are the highlights of this release.
388
389 - support for libgcrypt as a drop-in replacement for openssl.
390   Run configure --enable-cryptolib=gcrypt to link against
391   libgcrypt. The two crypto implementations are compatible to
392   each other, i.e. a para_client executable linked against
393   gcrypt can connect to para_server linked against libssl
394   and vice versa.
395 - Rewrite of the osx writer (output plugin for Mac OS).
396 - audiod: The format specifier for receivers, filters and
397   writers is now treated as a regular expression. This allows
398   to replace 5 lines in the config file (one for each audio
399   format) by one single line. See the manual for details.
400 - The \*.cmdline.[ch] files are no longer contained in the released
401   tarballs. This reduces the size of the tarballs but requires
402   gengetopt to build the tarball.
403 - Compiles cleanly also with llvm/clang.
404 - Corrupt mp3 files are handled more gracefully.
405 - The alsa writer uses poll fds instead of computing timeouts.
406 - Cleanup of the generic writer API.
407 - sched: Optimized zero timeouts.
408 - vss timeout cleanups.
409 - oggdec fixes and improvements.
410
411 --------------------------------------
412 0.4.7 (2011-06-01) "infinite rollback"
413 --------------------------------------
414
415 The new ao writer, support for ssh RSA keys and a couple of other
416 enhancements.
417
418 - Support for ESD, Pulseaudio, AIX, Solaris, IRIX and other
419   platforms through the libao audio library.
420 - Support for RSA keys generated with ssh-keygen.
421 - configure: improved options for ogg/vorbis/speex.
422 - The git version reported by --version always matches HEAD.
423 - The autogen script detects the number of processors and
424   runs a parallel make if possible.
425 - Major cleanup of the crypto API.
426 - Documentation updates.
427
428 ------------------------------------------
429 0.4.6 (2011-03-31) "deterministic entropy"
430 ------------------------------------------
431
432 Lots of ogg/vorbis improvements, the new test suite, enhancements
433 for para_gui and a fair amount of other bug fixes.
434
435 - For DCCP/OGG streams the audio file header is only sent once
436   at the beginning of the stream rather than periodically
437   every five seconds. This reduces network traffic and the
438   FEC group size.
439 - The vorbis comment header is replaced by an empty dummy header
440   before the header is sent over the network. This also results in
441   less network traffic and smaller FEC groups.
442 - The new "test" make target allows to perform some sanity checks prior
443   to installing the package.
444 - ogg timing fixes and performance improvements
445 - Scheduler improvements
446 - Proper exit codes for para_write
447 - para_gui: New option --theme to select a startup theme. Several
448   other improvements and fixes.
449 - aacdec error message cleanups
450 - simplified color error handling
451
452 --------------------------------------------
453 0.4.5 (2010-12-17) "symmetric randomization"
454 --------------------------------------------
455
456 Bug fixes, internal cleanups and variable-sized FEC slices.
457
458 - Contains a fix for an invalid-free-bug in the ogg audio format
459   handler code.
460 - Switching off the DCCP sender works again.
461 - para_audiod handles crashes of para_server more robustly.
462 - Internal scheduler and writer cleanups.
463 - Reduced latency due to variable-sized FEC slices.
464 - Improved documentation and error diagnostics.
465 - The build of para_server is now optional, allowing the build
466   to succeed in case libosl is not installed.
467
468 ------------------------------------------
469 0.4.4 (2010-08-06) "persistent regularity"
470 ------------------------------------------
471
472 Support for yet another audio format, para_write improvements and
473 bug fixes.
474
475 - Support for the speex codec.
476 - Support for sample formats other than 16 bit little endian.
477 - error2.h is now created by a perl script which speeds up configure
478   considerably.
479 - Fix a bug in the aac decoder which could lead to segfaults in
480   para_filter/para_audiod.
481 - Fixes for autoconf-2.66.
482
483 ----------------------------------------
484 0.4.3 (2010-07-05) "imaginary radiation"
485 ----------------------------------------
486
487 Many improvements for the DCCP and the UDP transport, the new user
488 manual and the usual mix of bug fixes and internal improvements.
489
490 - FEC support for the DCCP sender (Gerrit Renker). The new
491   --dccp_max_slice_size, --dccp_data_slices_per_group and
492   --dccp_slices_per_group options can be used to set the FEC
493   parameters for the DCCP transport.
494 - DNS lookups for UDP targets (Gerrit Renker).
495 - The new user manual replaces the README, README.afs, REQUIREMENTS
496   and INSTALL documents.
497 - Fix an end-of-file detection bug in the oggdec filter.
498 - The new nonblock API.
499 - Both options of the oggdec filter have been removed.
500 - New debug mode for the internal scheduler.
501
502 ------------------------------------------
503 0.4.2 (2010-04-23) "associative expansion"
504 ------------------------------------------
505
506 It's been some time since the last release, but finally here is
507 paraslash-0.4.2. The bulk of the changes comes from the new buffer
508 tree API, but there are changes all over the tree. Mainly performance
509 and usability improvements, but also quite some bug fixes.
510
511 - The new buffer tree API.
512 - DCCP: Support for CCID negotiation (Gerrit Renker).
513 - UDP robustness fixes.
514 - The --bufsize option for mp3dec is gone as it no longer makes sense
515   for the new buffer tree API.
516 - Fix audible buffer underruns for wma streams.
517 - The alsa writer no longer prints meaningless underrun durations.
518 - audiod: Defaults work also for udp streams. If no filter is
519   given for an audio format that is received via upd, fecdec is
520   automatically added as the first filter (along with the decoder).
521
522 ---------------------------------------
523 0.4.1 (2009-12-22) "concurrent horizon"
524 ---------------------------------------
525
526 Support for another audio format, minor feature enhancements and lots of bug
527 fixes. All fixes that have been accumulated in the maint branch (in particular
528 those mentionened in the 0.3.6 release notes) appear in this release as well.
529
530 - wma support.
531 - new afh option: --human to activate human-readable output.
532 - new server/audiod option: --log-timing to print timing information.
533 - build system improvements.
534 - source code documentation updates.
535
536 -------------------------------------
537 0.3.6 (2009-12-07) "cubic continuity"
538 -------------------------------------
539
540 Quite a few bugs have been found and fixed since 0.3.5, so here's
541 another 0.3.x release. No new features.
542
543 - Always check return value of malloc().
544 - ogg vorbis/FEC: Do not write garbage after the audio file header.
545 - exit if root privileges could not be dropped.
546 - FEC: Fix computation of extra slices.
547 - oss: Fix check for empty input buffer.
548 - Avoid buffer underruns due to filter chain output buffer constraints.
549 - server: Fix assignment of afs_pid.
550 - Don't panic if the afs database contains unknown audio formats.
551 - http/dccp: Do not send the audio file header twice.
552 - FEC: Timing improvements.
553
554 ----------------------------------------------
555 0.4.0 (2009-11-10) "simultaneous independence"
556 ----------------------------------------------
557
558 Two significant changes which require the new version number: The
559 improved authentication dialog and the fact that the database code
560 has been moved to a library, libosl. To use the new version, you have
561 to generate new RSA keys, see INSTALL for details. A shell script is
562 provided for conversion of the 0.3 database to the new 0.4 format.
563
564 - stronger crypto for client authentication
565 - the database code has been moved to a library
566 - improved status item handling
567 - cleanup of the build system
568 - The "-V" option now also prints the git version
569 - the new parser-friendly listing mode for the ls and stat commands
570 - mandatory rc4 encryption
571 - major audio format handler cleanups
572 - (id3,...) tags are no longer stored as a combined string in the database
573 - new mood methods: artist_matches, title_matches, comment_matches,
574   album_matches, year_maches, year.
575
576 --------------------------------------------
577 0.3.5 (2009-09-21) "symplectic separability"
578 --------------------------------------------
579
580 Full client support for \*BSD Unixes, complete re-write of the ogg
581 vorbis audio format handler, various improvements all over the place
582 and the usual mix of bugfixes. This release marks the end of the 0.3
583 series if no serious problems show up.
584
585 - the new oss writer (supported on \*BSD and Linux)
586 - rewrite of the ogg vorbis audio format handler. It's
587   recommended to replace the chunk tables of existing ogg
588   vorbis files in the afs database by re-adding these files
589   with "add -f".
590 - support for netmask subsets (Gerrit Renker)
591 - the new prebuffer filter
592 - improved signal handling
593 - variable fec output buffer size
594 - improved FEC timing fixes audible buffer underruns in UDP mode
595 - --log_color actually works
596 - new ls option: -d (print dates as seconds after the epoch)
597 - update to gengetopt 2.22.2
598 - support for RSA keys of size > 512 bits
599 - new option "mixer_channel" for para_fade
600
601 -----------------------------------------
602 0.3.4 (2009-05-07) "elliptic inheritance"
603 -----------------------------------------
604
605 The new udp sender, forward error correction, colored logs and various
606 other improvements. As the udp sender does not depend on any special
607 libraries, it is built unconditionally.
608
609 - The udp sender replaces the ortp sender. The new code uses forward
610   error correction to protect against packet losses. Many thanks to
611   Gerrit Renker for providing ipv6 support.
612 - The default port for udp streaming now defaults to 8000, like
613   for the http and the dccp senders/receivers.
614 - Loglevels are now specified as symbolic names, e.g.
615   "--loglevel info".
616 - improved ipv4 and ipv6 URI parser (Gerrit Renker).
617 - para_server/para_audiod: Color support for log messages.
618 - new options for mp3dec: --ignore-crc, --bufsize
619 - new audiod option: --config-file.
620 - gengetopt cleanups.
621 - Improved help/man pages: The documentation of para_audiod,
622   para_recv, para_filter and para_write now also contains
623   all options of the available receivers/filters/writers. The
624   man page of para_fade contains a description of the different
625   modes of operation.
626 - More source code documentation.
627 - vss timing fixes.
628
629 --------------------------------------------
630 0.3.3 (2008-12-01) "axiomatic perspectivity"
631 --------------------------------------------
632
633 Internal code cleanups, bug fixes, improved tag handling and the new
634 amplification filter.
635
636 - para_server uses the generic scheduling code.
637 - overhaul of the virtual streaming system.
638 - mp3: id3 version 2 support via libid3tag (optional)
639 - ogg: vorbis comment support.
640 - aac meta info support.
641 - mp3 audio format handler cleanups.
642 - new filter: "amp" to amplify the amplitude of the audio stream
643 - new status item/database entry: amplification. It is
644   used by the amp filter to pre-amplify the audio stream.
645 - fix a close-without-open bug in para_write.
646 - fix a bug in com_init() which was introduced in 0.3.2.
647 - better error diagnostics for para_client.
648
649 -----------------------------------------
650 0.3.2 (2008-04-11) "probabilistic parity"
651 -----------------------------------------
652
653 The new para_afh executable, scheduling and documentation improvements.
654
655 - new ls option: -lc (list chunk table)
656 - new executable: para_afh, the stand-alone audio file handler tool
657 - afs commands can send output more than SHMMAX (32MB on Linux). This
658   also reduces the memory usage of commands that produce large amounts
659   of output.
660 - major scheduler and audiod cleanups.
661 - more detailed and much nicer man pages.
662
663 ---------------------------------------
664 0.3.1 (2008-02-23) "liquid interaction"
665 ---------------------------------------
666
667 A mix of cleanups, bug fixes, improvements, and some new features. No
668 significant changes to the new database (osl) code, which is generally
669 a good sign.
670
671 - Share some similar/duplicate code between the http and the
672   dccp sender.
673 - Generic access control lists for paraslash senders.
674 - dccp sender: Access control lists, connection limiting and support
675   for the allow,deny,on,off,help sender commands.
676 - The default dccp port changed from 5001 to 8000 (suggested by
677   Gerrit Renker).
678 - para_server starts even if not all public keys could be loaded.
679 - Audiod performance improvements.
680 - fix a bug in the "off" command of the http sender.
681 - fix some fd and memory leaks.
682 - Update to gengetopt-2.22.
683
684 -------------------------------------
685 0.3.0 (2008-01-12) "solar saturation"
686 -------------------------------------
687
688 paraslash.0.3.0 -- 'WWDBND --what would databases never do?'.
689
690
691 Usually one might expect lots of new features AND a big increase in size
692 for a major release like this.
693
694 However, paraslash-0.3.0.tar.bz2 is the smallest paraslash tarball
695 ever. The decrease in size is mostly due to the removal of some
696 graphical tools (which were only quick hacks anyway). But also the
697 fact that the mysql code is gone cuts down the size a bit.
698
699 Being independent of mysql comes at a cost: The fact that paraslash
700 now contains its own database (the object storage layer, osl) increases
701 the (stripped) binary size of para_server by ~50K on i386.
702
703 - no more restrictions on unique basenames.
704 - independent of mysql: The new self-contained object
705   storage layer (osl) replaces the mysql database.
706 - New executable para_fsck: Check integrity of osl tables.
707 - Lyrics support.
708 - Reliable audio file move/rename detection.
709 - More portable than ever: Tested on Linux (x86_32, x86_64, sparc64),
710   MacOS (ppc32, x86_32), FreeBSD (x86_32), NetBSD (x86_32) and
711   Solaris (sparc64).
712 - the new osl-based audio file selector (afs) replaces the random,
713   the playlist and the mysql selector of paraslash-0.2.x.
714 - IPv6 support (thanks to Gerrit Renker).
715 - paraslash-0.2.x streams are now called "moods". Writing
716   0.3.x-mood definitions should be both easier and more
717   powerful than writing 0.2.x-stream definitions.
718 - para_krell, para_slider, para_para_sdl_gui, para_dbadm have
719   been removed. The world is a better place without them. However,
720   para_gui is still there.
721 - afs tracks audio file selection also in playlist mode.
722 - few easy-to-use afs commands replace the many not-so-easy-to-use
723   mysql commands (and are available also in playlist mode).
724 - Improved error subsystem.
725 - The earth-shaking new logo.
726
727 -----------------------------------------
728 0.2.17 (2007-11-20) "isotropic threshold"
729 -----------------------------------------
730
731 Mainly bugfixes and cleanups in this version which marks the end of
732 the 0.2.x series if no serious bugs show up after the release.
733
734 - mysql_selector: fix a locking bug.
735 - universal chunk queueing.
736 - dccp sender uses chunk queueing if write() returns EAGAIN (thanks
737   to Gerrit Renker).
738 - be more carful wrt. signed vs. unsigned argument passing.
739 - cleanup error.h and fix some references to invalid error
740   codes.
741 - update to gengetopt-2.21.
742 - update to ortp-0.13.1.
743 - autoconf: extend checks for headers, library functions and
744   compiler characteristics.
745 - Fix streaming of large mp3 files.
746 - Fix an off-by-one bug in playlist handling.
747
748 --------------------------------------
749 0.2.16 (2007-04-05) "neural discharge"
750 --------------------------------------
751
752 The main change in this release is the major audio format handler
753 cleanup which removes some similar/duplicate code and makes it easier
754 to implement plugins for other audio formats. Of course, the usual mix
755 of other improvements/changes/bugfixes also made it into the release.
756
757 - simplified audio format handlers (most of the handling functions
758   were moved one layer up to the virtual streaming system).
759 - para_server uses mmap to read audio files
760 - repositioning of mp3 streams is much faster, in particular for
761   jumping near the end of large mp3 files.
762 - permission flags DB_READ,DB_WRITE have been renamed to AFS_READ
763   and AFS_WRITE.
764 - fix a bug in para_filter that caused decoding of aac files
765   to start only after a few seconds.
766 - fix osx_writer hangs
767 - simplified dccp code (thanks to Gerrit Renker)
768 - the compress filter works also on big endian systems (ppc)
769
770 -----------------------------------------
771 0.2.15 (2007-02-16) "inductive resonance"
772 -----------------------------------------
773
774 Minor improvements, more documentation and a bunch of bug fixes.
775
776 - para_server: The server.users file is only read once on server
777   startup rather than for each connection
778 - mp3dec: Fix decoding of corrupt mp3 files
779 - afs (audio file sender) is now called vss (virtual streaming
780   system). Consequently, the permission flags specified in
781   ~/.paraslash/server.users have also changed: AFS_READ and AFS_WRITE
782   become VSS_READ and VSS_WRITE respectively.
783 - para_audiod/para_filter: Fix a bug that caused the last chunk
784   of audio data not being written under certain circumstances
785 - audiod: compute the difference of server time and local time
786   correctly
787 - para_server/para_audiod: Fix some memory leaks
788 - documentation improvements
789 - configure.ac: fix checks for para_krell
790 - new man pages
791
792 -------------------------------------------
793 0.2.14 (2006-10-15) "transient singularity"
794 -------------------------------------------
795
796 The only major enhancement of this version is the osx writer which completes
797 the Mac OS Port and was originally planned already for 0.2.13 but had to wait
798 until now for reasons beyond the scope of this changelog entry.
799
800 - new output plugin for Mac Os: the osx writer
801 - rename configure command line options from --enable-xxx-headers to
802   --with-xxx-headers and  --enable-xxx-libs to --with-xxx-libs
803 - configure: new command line options: --with-mad-headers,
804   --with-mad-libs, --with-oggvorbis-headers, and --with-oggvorbis-libs
805 - some robustness fixes
806 - dymamic audio format recognition for audiod
807 - para_server: new command line option: --autoplay_delay
808 - para_audiod: new command line option: --clock_diff_count
809
810 ---------------------------------------
811 0.2.13 (2006-07-14) "sonic convolution"
812 ---------------------------------------
813
814 A bunch of new features and core changes.
815
816 - the new paraslash scheduler, short and sweet.
817 - Support for m4a/mp4 files via the new aac audio format
818   handler/filter (requires libfaad).
819 - each writer has its own command line parser, just like
820   para_recv and para_filter.
821 - para_client and para_audioc use the error subsystem
822 - writers are integrated in para_audiod (currently linux-only)
823 - para_client is integrated in para_audiod
824 - random/playlist selector: improved info strings
825 - new audiod commands: tasks, kill
826 - update to libortp-0.10.1
827 - para_fade: wake time defaults to 8 hours from now
828 - update to autoconf-2.60
829
830 ------------------------------------------
831 0.2.12 (2006-05-12) "oriented abstraction"
832 ------------------------------------------
833
834 Many user-visible changes in this release and lots of new
835 features:
836
837 - the new optional dccp sender/receiver. It uses the datagram
838   congestion control protocol. You'll need a fairly new kernel
839   for this.
840 - paraslash works on Mac OS X (thanks to Gerd Becker)
841 - para_play renamed to para_write
842 - modular output plugin design (writers) for para_write
843 - new file_writer output plugin for para_write
844 - compress filter speed improvements
845 - update to libortp-0.9.1
846 - update to gengetopt-2.17rc
847 - para_client no longer depends on libreadline (as the
848   code for the interactive mode was removed).
849 - gcc-2-95 is no longer a supported compiler. It may still
850   work, but it gets no more testing.
851 - the tarball no longer contains the screenshot images which
852   reduces its size quite a bit.
853 - configure: new command line options: --enable-mysql-headers
854   and --enable-mysql-libs
855
856 ------------------------------------
857 0.2.11 (2006-03-11) "atomic duality"
858 ------------------------------------
859
860 Here it is, the first paraslash release developed with git. There
861 are fairly many user-visible changes in this release. As two out of
862 the three "database tools" of paraslash don't use a database at all,
863 they are now called "audio file selectors" instead.
864
865 - the cdt command (change database tool) becomes chs (change
866   selector)
867 - no more colon separators: The syntax of some options of
868   para_audiod and para_filter have changed. Use --help for
869   more info (and some examples).
870 - update to gengetopt-2.16 (thanks to Lorenzo Bettini)
871 - switch from cvs to git (should've done that earlier)
872 - the new ipc subsystem
873 - new audio file selector: playlist
874 - para_server: the dopey selector is now called "random",
875   and is the default selector. Use the --selector option to
876   choose another selector at startup, or the chs command to
877   change the selector at runtime.
878 - X86_64 fixes (thanks to Steffen Klassert)
879 - para_play fixes
880
881 --------------------------------------
882 0.2.10 (2006-02-17) "cyclic attractor"
883 --------------------------------------
884
885 Huge documentation update, a scrollable window for para_gui, ortp
886 improvements, and of course many small fixes not mentioned here.
887 The diffstat below is rather misleading as most insertions are due
888 to the new source documentation.
889
890 - autoconf cleanup
891 - para_server also uses the new error subsystem
892 - lots of new documentation (UTSL)
893 - gui improvements:
894         - keysyms for cursor keys and for next/previous page keys
895         - scrollable output window
896         - new internal commands: scroll up/down, page up/down
897         - fix color of command output.
898 - ortp: the --chunk_time and --header flags are no longer needed
899 for para_recv/para_audiod as this information is now encoded in
900 each rtp packet sent by para_server.
901
902 -------------------------------------------
903 0.2.9 (2006-01-24) "progressive turbulence"
904 -------------------------------------------
905
906 Internal audiod receivers/filters, the new error subsystem and
907 a lot of small improvements.
908
909 - para_recv and para_filter are integrated into the para_audiod
910   binary, i.e. audiod no longer spawns a new process for
911   each receiver/filter. As para_recv and para_filter might be
912   useful as standalone programs, they still get built (linked
913   against the same object files that are also used for audiod).
914 - further ortp timing improvements should reduce the CPU usage
915   of the ortp receiver.
916 - improved audio grabbing. The 'grab' command of para_audiod
917   has its own set of command line options. Read the output of
918   "para_audioc help grab" for more info.
919 - oggdec: configurable input prebuffer size.
920 - the new error subsystem gives better error diagnostics
921   and reduces code size.
922
923 -----------------------------------------
924 0.2.8 (2006-01-02) "dynamic accumulation"
925 -----------------------------------------
926
927 The new modular filter design and the para_play-hangs bugfix.
928
929 - new executable: para_filter. It combines para_mp3dec,
930   para_oggdec and para_compress. It also adds a further filter
931   type, wav, that just inserts a wave header at the desired point
932   of the filter chain. All 'piping' is done in-memory (i.e. no
933   read/write operations are used).
934 - para_play: fix a stupid bug that caused it to hang under
935   certain circumstances.
936
937 -------------------------------------------
938 0.2.7 (2006-12-27) "transparent invariance"
939 -------------------------------------------
940
941 Not many user-visible changes but a fair amount of internal improvements.
942
943 - The http sender buffers data if it can not be sent
944   out immediately (because the socket is not writable). This
945   should prevent para_server from shutting down the connection
946   too early on a loaded network.
947 - para_play also prebuffers data if it is told to start at a
948   future time by the --start_time option.
949 - The return of para_recv: It combines para_ortp_recv and
950   para_http_recv. Use the --receiver option to switch between
951   the two. para_recv builds without libortp, but contains
952   only the http receiver in this case.
953 - update to ortp 0.8.1. As this ortp release contains incompatible
954   changes, para_recv-0.2.7 won't link against older ortp libs.
955 - improved ortp timings.
956 - use of gcc-extensions that #define away for non-gcc and
957   gcc < 3.0.
958
959 -------------------------------------------
960 0.2.6 (2005-10-29) "recursive compensation"
961 -------------------------------------------
962
963 Transparent session encryption (uses openssl's Alleged RC4 cipher),
964 the internal find command and several other improvements and cleanups.
965
966 - Encrypt the session if encryption is requested by the client
967   (default for para_client 0.2.6). This is backwards
968   compatible, so older clients can still connect to para_server
969   0.2.6. Use the new client option --plain to request an
970   uncrypted session (off by default, must be set to on in
971   order to connect to para_server 0.2.x with 0 <= x <= 5).
972 - para_server uses an internal function to locate audio files
973   rather than calling find(1). The server option
974   --mysql_audio_file_dir replaces --mysql_find_cmd.
975 - documentation update
976 - man pages
977 - header file cleanup
978 - para_client code cleanup
979 - para_gui: faster display of output of display commands
980
981 ------------------------------------------
982 0.2.5 (2005-10-13) "aggressive resolution"
983 ------------------------------------------
984
985 This release adds internal senders, i.e. no more external programs are
986 spawned for sending out the audio data. There are two different senders
987 available: The http sender and the ortp sender (former para_send which
988 is no longer needed).
989
990 The new sender code has a plugin-like design so it can be easily
991 extended should there be be any future need for supporting another
992 network streaming protocol. All senders are completely independent of
993 each other. In particular, the http and the ortp sender can operate
994 in parallel.
995
996 - new server command: sender to control senders at runtime.
997   Read the output of "para_server -h" and "para_client help
998   sender" for more information.
999 - para_recv renamed to para_ortp_recv
1000 - new executable: para_http_recv, a simple command line
1001   http receiver.
1002 - major afs/mp3/ogg code simplifications due to internal
1003   senders.
1004 - ogg timing improvements
1005 - fix several minor memory leaks (found by valgrind)
1006 - empty stream definitions work again
1007 - com_ne(): ignore errors on remove
1008 - audiod: fix segfault on server restart
1009
1010 ---------------------------------------
1011 0.2.4 (2005-09-21) "toxic anticipation"
1012 ---------------------------------------
1013
1014 Several small improvements, fixes and the new grab command.
1015
1016 - audiod:
1017         - new command: "grab" to grab the output of the stream reader
1018           or any filters. Read the output of "para_audioc help grab"
1019           for more information.
1020         - fix memory leak
1021         - code cleanup
1022 - audioc: new command line option: --bufsize to specify a
1023   buffer size different from the default size 8192.
1024 - improved error diagnostics for para_play.
1025 - new configure option: --enable-ssldir so search for openssl in
1026   non-standard places
1027 - sdl_gui: Make it look nice again for 1024x768
1028 - server: report total size of memory allocated with sbrk by malloc,
1029   new command line option: --announce_time
1030
1031 -----------------------------------------
1032 0.2.3 (2005-09-01) "hydrophilic movement"
1033 -----------------------------------------
1034
1035 Two new executables and major feature enhancements.
1036
1037 - audiod filters: It is now possible to specify arbitrary many
1038   (including none) filters for each supported audio
1039   format. This can be used e.g. for normalizing volume,
1040   transforming or grabbing the audio stream, or for using
1041   visualizers.  Read the output of "para_audiod -h" for the
1042   syntax of the new --filter_cmd option.
1043 - new executable: para_play, a tiny alsa player. It
1044   can play wave files or raw pcm (16 bit little endian)
1045   from stdin.
1046 - new executable: para_compress, a dynamic range compressor
1047   intended to keep audio output at a consistent volume. Derived
1048   from [AudioCompress](http://trikuare.cx/code/AudioCompress.html).
1049 - audiod: New option: --stream_delay. This can be used in
1050   a local network to syncronize the audio output of all
1051   clients that play the same stream.
1052
1053 ------------------------------------------
1054 0.2.2 (2005-08-19) "tangential excitation"
1055 ------------------------------------------
1056
1057 Mostly internal changes in this release, but also some new commands
1058 for the mysql database tool.
1059
1060 - cleanup exec.c, fix para_exec bug
1061 - compile time loglevel (log messages below the given level
1062   won't be compiled in, which reduces the size of the
1063   resulting binaries)
1064 - new log macros that shorten the size of the source code.
1065 - workaround a gcc-4.1 bug (?) that caused send_cred_buffer()
1066   to send only zeros. With this workaround, para_audioc works
1067   again.
1068 - avoid gcc-4 warning: conflicting types for built-in function 'clog'
1069 - new mysql commands: "rm" (remove entry), "mv" (rename entry) "ne"
1070   (new entry), "snp" (set numplayed). Read the manual for more
1071   information.
1072
1073 ---------------------------------------
1074 0.2.1 (2005-08-15) "surreal experience"
1075 ---------------------------------------
1076
1077 Here comes paraslash-0.2.1. It contains a couple of new features and,
1078 surprise, only minor bug fixes.
1079
1080 - kill noisy mp3 debug message
1081 - cleanup of the build system
1082 - para_server and para_client directly use the crypto routines
1083   of the openssl library rather than invoking the openssl command
1084   line utitlity
1085 - server/audiod: new option --user to switch to the given user
1086   when invoked as root. Read the output of "para_server -h" for
1087   more information.
1088 - gui/sdl_gui: new option --stat_cmd to be used to retrieve the
1089   status. Default: "para_audioc stat"
1090 - sdl_gui: new option --pic_cmd to be used to download the picture.
1091   Default: "para_client pic"
1092 - audiod: 5 slots ought to be enough for everybody
1093 - audiod: new status item: Uptime, kill hup command
1094
1095 ------------------------------------------
1096 0.2.0 (2005-08-06) "distributed diffusion"
1097 ------------------------------------------
1098
1099 After several month of increased development activity, paraslash-0.2.0
1100 has arrived. It contains many new features and is much more
1101 self-contained than the old 0.1.x series. Enjoy!
1102
1103 - para_server: fix hang on song change and crash on sighup.
1104   Speed up mysql queries. The DIR_LIKE macro is gone.
1105 - new executables: para_audiod, the local audio daemon that
1106   starts playback (uses SCM_CREDENTIALS socket magic) and
1107   para_audioc, the corresponding client.
1108 - new executables: para_mp3dec/para_oggdec, two really teensy
1109   decoders. para_mp3dec is based on libmad, para_oggdec requires
1110   libvorbisfile.
1111 - ovsend/ovrecv are capable of streaming ogg as well as mp3, so
1112   they are now called para_send and para_recv respectively.
1113 - documentation updates
1114 - para_gui is themable. For now there is the default theme that
1115   looks as before and the simple theme: blue and easy.
1116 - gui: audio streaming is now handled by audiod. Time display shows
1117   playback time rather than streaming time
1118 - slider: update to libzmw-0.2.0
1119 - para_krell: fix crash on server shutdown
1120 - switch from gzip to bzip2
1121
1122 ----------------------------------------
1123 0.1.7 (2005-04-18) "melting penetration"
1124 ----------------------------------------
1125
1126 The main change in this release is clearly the oggvorbis rewrite,
1127 but there are also lots of smaller changes. If you intend to use both
1128 the mp3 and the ogg plugin, it is recommended to use software mixing,
1129 e.g. the dmix plugin which is provided by ALSA.
1130
1131 - new executables: para_ovsend and para_ovrecv for sending/receiving
1132   oggvorbis files via rtp. Requires the open rtp library. Get it at
1133   http://www.linphone.org/ortp/
1134 - rewrite of the ogg_vorbis core code
1135 - configure detects libzmw and, if detected, includes
1136   para_slider to the list of binaries to be built by make
1137 - server stream writers read from their associated fifo rather
1138   than from stdin
1139 - slider: two new sliders, lastplayed and numplayed
1140 - fix nasty double free bug which caused random segfaults in case of
1141   mp3 files with invalid header information
1142 - gui: new command line option: --stream_timeout=seconds  to
1143   deactivate a slot if it is idle for that many seconds (default=`5')
1144 - diffstats
1145
1146 ---------------------------------------
1147 0.1.6 (2005-03-05) "asymptotic balance"
1148 ---------------------------------------
1149
1150 Only little user-visible changes in this release. Mainly bugfixes and
1151 core code cleanup. This is probably the most stable version ever if you
1152 stick to mp3...
1153
1154 - fix several memory leaks
1155 - rename default name of mysql database from "music" to "paraslash".
1156   Use para_server's  --mysql_database option if you do not want to
1157   rename your old database.
1158 - rework ogg vorbis code
1159 - make update command work on mysql servers with LOCAL_INFILE
1160   disabled
1161 - gui: improved stream I/O (slots)
1162 - simplified audio format API
1163 - para_pob_ogg is gone
1164
1165 ------------------------------------
1166 0.1.5 (2004-12-31) "opaque eternity"
1167 ------------------------------------
1168
1169 Let's slide gently into the new year.
1170
1171 - new: para_slider (not built automatically, type "make
1172   para_slider" to build). A toy for those who always felt that
1173   creating stream definitions is difficult. See screenshots,
1174   README and FEATURES for more info.
1175 - improved signal handling. Fixes server segfault on SIGHUP
1176   for linux kernels newer than Aug 24 2004 and makes para_gui
1177   race-free.
1178 - reload database tool on SIGHUP
1179 - improved help message for sl
1180 - do not log "broken pipe" messages as errors. They are
1181   perfectly ok.
1182 - fix wrong error message on permission errors
1183
1184 -----------------------------------------
1185 0.1.4 (2004-12-19) "tunneling transition"
1186 -----------------------------------------
1187
1188 Bugfix release. As expected, 0.1.3 introduced a bunch of new bugs.
1189 Hopefully, most of them got wiped out with this release. Some
1190 enhancements went also in.
1191
1192 - improved error diagnostics for all commands
1193 - stradd/picadd: overwrite previous contents if entry already
1194   exists, rather than returning errors
1195 - stradd: use current stream if invoked without args
1196 - faster (and hopefully more stable) ogg-vorbis handling
1197 - para_krell: reap children to avoid zombie-flooding in case
1198   no server is running
1199 - si: report also server pid
1200 - server: don't busy-loop if dbtool reports only invalid files.
1201 - gui: CTRL+C works again, fix stream_read command line option
1202 - fix pic_add, hist
1203 - fix mysql dbtool startup in case no database exists
1204 - many small fixes and cleanups
1205
1206 ---------------------------------------
1207 0.1.3: (2004-12-10) "vanishing inertia"
1208 ---------------------------------------
1209
1210 Starting from this release, the database tools are integrated in the
1211 server binary. This decreases server startup time, reduces code size
1212 and speeds up database commands. However, the layout of the underlying
1213 mysql database changed only slightly and 0.1.3 should be backwards
1214 compatible in that respect.
1215
1216 Visible changes:
1217
1218 - If mysql is not detected at compile time, or fails to init
1219   at runtime, fall back to the dopey database tool which should
1220   always work.
1221 - para_dbtool and dbtool.conf are gone. All mysql specific
1222   options are read from server.conf and are prefixed by 'mysql_'.
1223 - new command: cdt (change database tool)
1224 - new command line option: dbtool (choose startup database tool)
1225 - The name of current stream is now stored in the database,
1226   so paraslash remembers its current stream when restarted.
1227 - new command: csp (change stream and play)
1228 - para_gui also reports current database tool and server uptime
1229
1230 -------------------------------------------
1231 0.1.2: (2004-11-28) "spherical fluctuation"
1232 -------------------------------------------
1233
1234 Point release before the big dbtool changes go in.
1235
1236 - dbtool: rename ca to cam (copy all meta data). It now also
1237   copies numplayed and lastplayed time as well as the picture
1238   id.
1239 - fix endless-loop-bug caused by mp3 files with invalid header
1240
1241 -----------------------------------------
1242 0.1.1: (2004-11-05) "floating atmosphere"
1243 -----------------------------------------
1244
1245 - gkrellm plugin
1246 - new dbtool command: mbox. Browse your sound-file collection
1247   with your favorite mail reader.
1248 - several small fixes
1249
1250 -------------------------------------
1251 0.1.0: (2004-10-22) "rotating cortex"
1252 -------------------------------------
1253
1254 - fix logging bug for loglevel > VERBOSE
1255 - fix skip command
1256 - correct timings for vbr mp3s
1257 - modular audio format support
1258 - ogg-vorbis support (experimental)
1259 - new server option: autoplay
1260
1261 -----------------------------------------
1262 0.0.99: (2004-07-25) "harmonic deviation"
1263 -----------------------------------------
1264
1265 - rename projectname from icc to paraslash (play, archive, rate
1266   and stream large audio sets happily)
1267 - paraslash is no longer restricted to one particular audio
1268   streaming software
1269 - new dbtool commands (stradd, strq, strdel) for easy stream
1270   managment w/o configuration file. That obsoletes stream_defs
1271   file/config option for dbtool.
1272 - picadd accepts jpeg data from stdin
1273 - new server commands: ps (select previous stream), sc (song change)
1274 - new default pictures for sdl_gui
1275 - gui: new key_map option for binding commands and internal
1276   functions to arbitrary keys, nice help screen, rip out
1277   soundcard/linux specific stuff, avoid noise artefacts while jumping,
1278   show silly logo on startup
1279 - new executables: para_fade for fading volume, para_dbadm for
1280   manipulating attributes
1281 - cdb adds _all_ tables to mysql database
1282 - revised and beautified documentation
1283 - sample dbtool rewritten in C
1284 - autoconf
1285
1286 ---------------------------------------------
1287 0.0.98: (2003-12-26) "incremental smoothness"
1288 ---------------------------------------------
1289
1290 - kick icecast in favour of poc. That removes some races and reduces
1291   core code considerably.
1292 - cbr/vbr is displayed by stat and gui/sdl_gui. New status flags
1293   give finer info on afs' status.
1294 - gui can start decoder (see config options). Further new gui
1295   commands: refresh (^L), jmp (F1-F10)
1296 - gui rereads conf on SIGUSR1 instead of SIGHUP. SIGHUP
1297   terminates gui. This fixes dead instances consuming memory
1298   continuously.
1299 - new dbtool command: verb for sending verbatim sql queries.
1300 - fix pid_list races (by removing pid_list)
1301 - codename funnies
1302
1303 --------------------
1304 0.0.97: (2003-10-26)
1305 --------------------
1306
1307 - installation prefix now defaults to /usr/local
1308 - new commands for gui: snozze, sleep and reread config
1309 - config file for gui and sdl_gui
1310 - fix problems with filenames containing funny characters
1311   (reported by Thomas Forell)
1312 - improved signal handling for gui, now it rereads conf on SIGHUP
1313 - new dbtool command: cdb (create database)
1314 - switch from argtable to gengetopt
1315 - major code cleanup and speed improvements
1316 - fix several potential buffer overflows
1317 - many small fixes and cleanups
1318
1319 -------------------
1320 0.0.96 (2003-08-30)
1321 -------------------
1322
1323 - easy stream_defs syntax
1324 - sdl_gui can display images associated to the file being played
1325 - Major feature enhancements for icc_gui including dynamic text
1326   placement and the top/bottom window design
1327 - vrfy/clean now also checks for NULL values in attributes as
1328   well as for invalid picture pointers
1329 - fix long outstanding case sensitivity bug
1330 - many small fixes and cleanups
1331
1332 -------------------
1333 0.0.95 (2003-06-29)
1334 -------------------
1335
1336 - sdl gui runs much faster
1337 - new dbtool command: ca (copy attributes)
1338 - count and display number of times the song has been played
1339 - new feature: scoring
1340 - command line options for sdl_gui
1341 - simpler syntax of streams file
1342 - decrease network traffic of stat
1343 - fix zombie bug
1344 - many small fixes and cleanups
1345
1346 -------------------
1347 0.0.94 (2003-05-04)
1348 -------------------
1349
1350 - new server command: ns (next stream)
1351 - new icc_gui command: c (change stream)
1352 - internal mp3info
1353 - stat shows also id3 tag info
1354 - new sdl based gui
1355 - log flodding bug fixed
1356 - many small fixes and cleanups
1357
1358 -------------------
1359 0.0.93 (2003-03-28)
1360 -------------------
1361
1362 - colors for icc_gui
1363 - icc_gui sets volume directly (linux only)
1364 - proper locking that fixes some races
1365 - fix security bug that caused commands to be executed even
1366   with unsufficient permissions
1367 - new command: hup to make all servers reread their configuration file
1368 - icecast meta data streaming
1369 - many small fixes and cleanups