--- /dev/null
+NEWS
+====
+
+------------------------------------------
+current master branch "cascading gradient"
+------------------------------------------
+
+The highlight of this release is the new -m flag for para_afh which
+lets it modify the meta tags of the given audio file(s). This feature
+is supported for all audio formats. Many small cleanups and bug fixes
+not mentioned here have accumulated and are also part of the release.
+
+- para_afh learned to modify meta tags of mp3 wma ogg spx
+ opus flac aac files.
+- afs commands propagate error codes to the client.
+- The check command now also checks the attribute table for
+ inconsistencies.
+- New -v flag for the version command (print verbose version string)
+- New option --priority for para_server and para_audiod.
+- New mood methods: image_id and lyrics_id.
+- The manual and this NEWS file have been converted to markdown.
++- Cleanup of the wma decoder and bitstream code.
+
+Download: [tarball](./releases/paraslash-git.tar.bz2)
+
+--------------------------------------
+0.5.5 (2015-09-20) "magnetic momentum"
+--------------------------------------
+
+Many new features and a lot of other improvements.
+
+- On Linux systems, local sockets are now created in the
+ abstract name space by default. This allows to get rid of
+ the socket specials in /var/paraslash.
+- The --user-allow option of para_audiod now accepts also
+ usernames rather than only user IDs.
+- New autoconf macros to avoid duplication in configure.ac.
+- Status items (as shown by para_gui) are updated correctly
+ when the meta information of the current audio changes.
+- para_server and para_audiod no longer refuse to start in
+ the background if no log file is given. Instead, all log
+ messages go to /dev/null in this case.
+- Web page cleanup.
+- New syntax for the -l and -s options of the ls command.
+ These options should now be specified as -l=v rather than
+ -lv, for example. The old syntax still works, but support
+ will be dropped in v0.6.0.
+
+Downloads:
+[tarball](./releases/paraslash-0.5.5.tar.bz2),
+[signature](./releases/paraslash-0.5.5.tar.bz2.asc)
+
+------------------------------------------
+0.5.4 (2015-01-23) "exponential alignment"
+------------------------------------------
+
+Another cleanup and bugfix release.
+
+- New server command: tasks.
+- Minor cleanups to daemon.c.
+- New URLs for home page and git services.
+- Improved error diagnostics for the mvblob commands.
+- New sender subcommand: status.
+- Improved help text for server and afs commands.
+- audiod memory leak fixes.
+- Miscellaneous improvements to the build system.
+- oss_writer improvements.
+- Improved handling of mp3 files with both id3v1 and id3v2 tags.
+
+Downloads:
+[tarball](./releases/paraslash-0.5.4.tar.bz2),
+[signature](./releases/paraslash-0.5.4.tar.bz2.asc)
+
+---------------------------------------------
+0.5.3 (2014-08-01) "symbolic synchronization"
+---------------------------------------------
+
+Not many new features, but lots of fixes and usability improvements.
+
+- para_gui has been converted to use the paraslash scheduler.
+- Various alsa-related fixes, mostly for the raspberry pi.
+- Many scheduler improvements and cleanups.
+- The test suite has been extended to include sanity checks
+ for the generated man pages.
+- ao_writer fixes. This writer was in a quite bad shape. Many
+ serious bugs have been fixed.
+- new audiod command: version.
+- Minor improvements to the bitstream API.
+- The cpsi command now prints a meaningful error message if
+ none of the given patterns matched any audio file.
+
+Downloads:
+[tarball](./releases/paraslash-0.5.3.tar.bz2),
+[signature](./releases/paraslash-0.5.3.tar.bz2.asc)
+
+----------------------------------------
+0.5.2 (2014-04-11) "orthogonal interior"
+----------------------------------------
+
+The new sync filter, the AES_CTR128 stream cipher and the overhauled
+network code are the highlights of this release. It also includes a
+fair number of smaller fixes and improvements not mentioned here.
+
+- The new sync filter synchronizes playback between multiple
+ clients.
+- Connections between para_server and para_client are now
+ encrypted by means of AES rather than RC4 if both sides
+ support it. RC4 is still available as a fallback. This
+ feature is fully transparent, i.e. no command line options
+ are necessary, and a client linked against openssl can
+ speak with a server linked against libgcrypt and vice versa.
+- Major cleanup of the networking subsystem.
+- Improvements to para_fade: the new set mode, multi-channel
+ initial volumes, better error logging.
+- The man pages of para_audiod, para_filter, para_recv, and
+ para_write contain the relevant options for receivers, filters,
+ writers. This broke in 0.5.0.
+- ogg/vorbis latency improvements.
+- Improved user manual.
+- Minor fixes to avoid clang warnings.
+
+Downloads:
+[tarball](./releases/paraslash-0.5.2.tar.bz2),
+[signature](./releases/paraslash-0.5.2.tar.bz2.asc)
+
+------------------------------------------
+0.5.1 (2013-12-20) "temporary implication"
+------------------------------------------
+
+Lots of fixes and improvements all over the place, and a major overhaul
+of the build system.
+
+- Audiod improvements and fixes.
+- Buffer tree robustness improvements.
+- Cleanup of the mood subsystem.
+- Fixes and cleanups for the flac decoder.
+- Latency improvements for the ogg/opus decoder.
+- Crypto support is now optional. On systems without
+ openssl/gcrypt, the build succeeds but para_server,
+ para_audiod, para_client won't be built.
+- The build system now works for cross-compile setups.
+- The dependency tree has been flattened, which speeds up
+ builds and avoids to recreate the man pages on every change.
+- The error code helper has been rewritten from perl to C,
+ which further improves build time.
+- Many small bugs in the build system have been identified
+ and fixed.
+
+Downloads:
+[tarball](./releases/paraslash-0.5.1.tar.bz2),
+[signature](./releases/paraslash-0.5.1.tar.bz2.asc)
+
+----------------------------------------
+0.5.0 (2013-08-23) "invertible validity"
+----------------------------------------
+
+Some API-breaking changes, one serious bug fix, and a lot of bike-shedding.
+
+- The sideband compatibility code has been removed, hence
+ sideband connections (introduced in 0.4.11) are now mandatory.
+- Addblob commands can produce output.
+- The stat command no longer sends garbage when para_server was
+ compiled against libgcrypt.
+- Dependencies for gengetopt files are computed automatically.
+ This eliminates a constant source of build bugs.
+- The setatt command now accepts file name patterns rather than only
+ path names.
+- overview.pdf is now based on dia, a simple diagram creation program.
+ The new version is much more detailed and contains descriptions of
+ the various programs of the paraslash package.
+- The separator of all multi-word options has been changed from
+ underscore to dash. For example --log_color becomes --log-color.
+- Overhauled web pages and the new logo.
+
+Downloads:
+[tarball](./releases/paraslash-0.5.0.tar.bz2),
+[signature](./releases/paraslash-0.5.0.tar.bz2.asc)
+
+--------------------------------------
+0.4.13 (2013-07-29) "spectral gravity"
+--------------------------------------
+
+One more 0.4.x release before the API-breaking changes for 0.5.0 go
+in. The main features of this release are the ogg/opus audio format,
+and UTF-8 support, but it includes also tons of other improvements
+and fixes all over the place.
+
+- New audio format: ogg/opus.
+- UTF8 support for para_gui and the mp3 audio format handler.
+- Scheduler improvements and fixes.
+- The obsolete gettimeofday() function has been replaced
+ by clock_gettime() on systems which support it.
+- Speed and usability improvements for para_gui.
+- para_client now restores the fd flags of stdin and stdout
+ on shutdown.
+- Improved manual pages.
+- Consistent version strings for all executables.
+- Reduced dependencies on generated files result in fewer
+ recompilations on changes.
+- Performance improvements for the compress filter.
+- Improved downloads web page.
+
+-----------------------------------------
+0.4.12 (2012-12-20) "volatile relativity"
+-----------------------------------------
+The new command line player, the resample filter, ALSA support for
+para_fade, and the improved build system are the highlights of this
+release which probably marks the end of the 0.4.x series.
+
+- The afh receiver and the para_play executable.
+- The resample filter: A sample rate converter based on
+ libsamplerate.
+- The "versions" directory has been removed from the master
+ branch. The tarballs of the old releases are now available
+ in the new "releases" branch.
+- Overhaul of the build system: All generated files are now
+ written to the "build" directory.
+- The modular mixer API and the alsa mixer.
+- Minor fixes for the osx writer.
+
+--------------------------------------
+0.4.11 (2012-07-20) "mutual diversity"
+--------------------------------------
+
+The major feature in this release is the new sideband API for
+client-server communication. This API will be used exclusively starting
+with 0.5.0, which breaks backward compatibility but allows to get rid
+of quite some compatibility code. Other noteworthy changes include
+decoder latency improvements and a long-standing bug fix for the
+ALSA writer.
+
+- Sideband connections: If both para_server and para_client
+ support this feature, data is sent as a multiplexed stream.
+- The --no_default_filters option of para_filter has been
+ removed.
+- Several fixes and latency improvements to various decoders.
+- The ALSA writer now limits the prebuffer time to 500ms.
+- Documentation improvements.
+- Overhaul of the command_util.sh script.
+- Fixes for some minor problems found by the clang analyzer.
+- Compiles (almost) without warnings on gcc-3.
+- Robustness improvements of the buffer tree code.
+
+------------------------------------------
+0.4.10 (2012-03-30) "heterogeneous vacuum"
+------------------------------------------
+
+Nothing earth-shaking in this release, but quite a few usability
+improvements and the usual mix of cleanups and fixes.
+
+- The --no_default_filters option of para_filter has been
+ deprecated. It still works but has no effect and will be
+ removed in the next version.
+- para_gui now prints also the stderr output of the executing
+ command in the bottom window.
+- Cleanup and consolidation of the various wrappers for
+ write(), writev(), send() and friends.
+- The obscure error messages on mmap() failures have been
+ replaced by meaningful messages. This affects mainly
+ para_afh.
+- para_audioc: Cleanups and memory leak fixes.
+- Test 0004-server no longer fails if para_server is not
+ being built.
+- New configure options: --with-id3tag-{headers,libs}.
+
+-------------------------------------
+0.4.9 (2011-12-06) "hybrid causality"
+-------------------------------------
+
+Support for another audio format, interactive mode for para_client
+and para_audiod and many small improvements/fixes all over the place.
+
+- Support for flac, the free lossless audio codec.
+- Fix for an endless loop in the mp3 decoder for certain
+ (corrupt) mp3 files.
+- When executed without specifying a command, para_client
+ and para_audioc start an interactive shell (requires
+ libreadline being installed). The interactive mode offers
+ full tab completion and command line history.
+- autogen.sh now detects a distcc setup and adjusts the
+ parameter for the -j option of make accordingly.
+- Shared memory areas are no longer restricted to 64K. We now
+ detect the maximal size of a shared memory area at runtime.
+- cleanup of the internal uptime API.
+- para_server prefaults the mmapped audio file to avoid
+ delays on slow media.
+- A new test for the test-suite that exercises the
+ communication between para_server and para_audiod.
+- The alsa writer eats up less CPU cycles when configured to
+ use the DMIX plugin.
+- Simplified and unified receiver code.
+- Makefile cleanups.
+- Commands which print a list of matching audio files now
+ emit a meaningful error message if no audio file matched the
+ given pattern(s).
+
+--------------------------------------
+0.4.8 (2011-08-19) "nested assignment"
+--------------------------------------
+
+Gcrypt support, the overhauled osx writer and regex format specifiers
+are the highlights of this release.
+
+- support for libgcrypt as a drop-in replacement for openssl.
+ Run configure --enable-cryptolib=gcrypt to link against
+ libgcrypt. The two crypto implementations are compatible to
+ each other, i.e. a para_client executable linked against
+ gcrypt can connect to para_server linked against libssl
+ and vice versa.
+- Rewrite of the osx writer (output plugin for Mac OS).
+- audiod: The format specifier for receivers, filters and
+ writers is now treated as a regular expression. This allows
+ to replace 5 lines in the config file (one for each audio
+ format) by one single line. See the manual for details.
+- The \*.cmdline.[ch] files are no longer contained in the released
+ tarballs. This reduces the size of the tarballs but requires
+ gengetopt to build the tarball.
+- Compiles cleanly also with llvm/clang.
+- Corrupt mp3 files are handled more gracefully.
+- The alsa writer uses poll fds instead of computing timeouts.
+- Cleanup of the generic writer API.
+- sched: Optimized zero timeouts.
+- vss timeout cleanups.
+- oggdec fixes and improvements.
+
+--------------------------------------
+0.4.7 (2011-06-01) "infinite rollback"
+--------------------------------------
+
+The new ao writer, support for ssh RSA keys and a couple of other
+enhancements.
+
+- Support for ESD, Pulseaudio, AIX, Solaris, IRIX and other
+ platforms through the libao audio library.
+- Support for RSA keys generated with ssh-keygen.
+- configure: improved options for ogg/vorbis/speex.
+- The git version reported by --version always matches HEAD.
+- The autogen script detects the number of processors and
+ runs a parallel make if possible.
+- Major cleanup of the crypto API.
+- Documentation updates.
+
+------------------------------------------
+0.4.6 (2011-03-31) "deterministic entropy"
+------------------------------------------
+
+Lots of ogg/vorbis improvements, the new test suite, enhancements
+for para_gui and a fair amount of other bug fixes.
+
+- For DCCP/OGG streams the audio file header is only sent once
+ at the beginning of the stream rather than periodically
+ every five seconds. This reduces network traffic and the
+ FEC group size.
+- The vorbis comment header is replaced by an empty dummy header
+ before the header is sent over the network. This also results in
+ less network traffic and smaller FEC groups.
+- The new "test" make target allows to perform some sanity checks prior
+ to installing the package.
+- ogg timing fixes and performance improvements
+- Scheduler improvements
+- Proper exit codes for para_write
+- para_gui: New option --theme to select a startup theme. Several
+ other improvements and fixes.
+- aacdec error message cleanups
+- simplified color error handling
+
+--------------------------------------------
+0.4.5 (2010-12-17) "symmetric randomization"
+--------------------------------------------
+
+Bug fixes, internal cleanups and variable-sized FEC slices.
+
+- Contains a fix for an invalid-free-bug in the ogg audio format
+ handler code.
+- Switching off the DCCP sender works again.
+- para_audiod handles crashes of para_server more robustly.
+- Internal scheduler and writer cleanups.
+- Reduced latency due to variable-sized FEC slices.
+- Improved documentation and error diagnostics.
+- The build of para_server is now optional, allowing the build
+ to succeed in case libosl is not installed.
+
+------------------------------------------
+0.4.4 (2010-08-06) "persistent regularity"
+------------------------------------------
+
+Support for yet another audio format, para_write improvements and
+bug fixes.
+
+- Support for the speex codec.
+- Support for sample formats other than 16 bit little endian.
+- error2.h is now created by a perl script which speeds up configure
+ considerably.
+- Fix a bug in the aac decoder which could lead to segfaults in
+ para_filter/para_audiod.
+- Fixes for autoconf-2.66.
+
+----------------------------------------
+0.4.3 (2010-07-05) "imaginary radiation"
+----------------------------------------
+
+Many improvements for the DCCP and the UDP transport, the new user
+manual and the usual mix of bug fixes and internal improvements.
+
+- FEC support for the DCCP sender (Gerrit Renker). The new
+ --dccp_max_slice_size, --dccp_data_slices_per_group and
+ --dccp_slices_per_group options can be used to set the FEC
+ parameters for the DCCP transport.
+- DNS lookups for UDP targets (Gerrit Renker).
+- The new user manual replaces the README, README.afs, REQUIREMENTS
+ and INSTALL documents.
+- Fix an end-of-file detection bug in the oggdec filter.
+- The new nonblock API.
+- Both options of the oggdec filter have been removed.
+- New debug mode for the internal scheduler.
+
+------------------------------------------
+0.4.2 (2010-04-23) "associative expansion"
+------------------------------------------
+
+It's been some time since the last release, but finally here is
+paraslash-0.4.2. The bulk of the changes comes from the new buffer
+tree API, but there are changes all over the tree. Mainly performance
+and usability improvements, but also quite some bug fixes.
+
+- The new buffer tree API.
+- DCCP: Support for CCID negotiation (Gerrit Renker).
+- UDP robustness fixes.
+- The --bufsize option for mp3dec is gone as it no longer makes sense
+ for the new buffer tree API.
+- Fix audible buffer underruns for wma streams.
+- The alsa writer no longer prints meaningless underrun durations.
+- audiod: Defaults work also for udp streams. If no filter is
+ given for an audio format that is received via upd, fecdec is
+ automatically added as the first filter (along with the decoder).
+
+---------------------------------------
+0.4.1 (2009-12-22) "concurrent horizon"
+---------------------------------------
+
+Support for another audio format, minor feature enhancements and lots of bug
+fixes. All fixes that have been accumulated in the maint branch (in particular
+those mentionened in the 0.3.6 release notes) appear in this release as well.
+
+- wma support.
+- new afh option: --human to activate human-readable output.
+- new server/audiod option: --log-timing to print timing information.
+- build system improvements.
+- source code documentation updates.
+
+-------------------------------------
+0.3.6 (2009-12-07) "cubic continuity"
+-------------------------------------
+
+Quite a few bugs have been found and fixed since 0.3.5, so here's
+another 0.3.x release. No new features.
+
+- Always check return value of malloc().
+- ogg vorbis/FEC: Do not write garbage after the audio file header.
+- exit if root privileges could not be dropped.
+- FEC: Fix computation of extra slices.
+- oss: Fix check for empty input buffer.
+- Avoid buffer underruns due to filter chain output buffer constraints.
+- server: Fix assignment of afs_pid.
+- Don't panic if the afs database contains unknown audio formats.
+- http/dccp: Do not send the audio file header twice.
+- FEC: Timing improvements.
+
+----------------------------------------------
+0.4.0 (2009-11-10) "simultaneous independence"
+----------------------------------------------
+
+Two significant changes which require the new version number: The
+improved authentication dialog and the fact that the database code
+has been moved to a library, libosl. To use the new version, you have
+to generate new RSA keys, see INSTALL for details. A shell script is
+provided for conversion of the 0.3 database to the new 0.4 format.
+
+- stronger crypto for client authentication
+- the database code has been moved to a library
+- improved status item handling
+- cleanup of the build system
+- The "-V" option now also prints the git version
+- the new parser-friendly listing mode for the ls and stat commands
+- mandatory rc4 encryption
+- major audio format handler cleanups
+- (id3,...) tags are no longer stored as a combined string in the database
+- new mood methods: artist_matches, title_matches, comment_matches,
+ album_matches, year_maches, year.
+
+--------------------------------------------
+0.3.5 (2009-09-21) "symplectic separability"
+--------------------------------------------
+
+Full client support for \*BSD Unixes, complete re-write of the ogg
+vorbis audio format handler, various improvements all over the place
+and the usual mix of bugfixes. This release marks the end of the 0.3
+series if no serious problems show up.
+
+- the new oss writer (supported on \*BSD and Linux)
+- rewrite of the ogg vorbis audio format handler. It's
+ recommended to replace the chunk tables of existing ogg
+ vorbis files in the afs database by re-adding these files
+ with "add -f".
+- support for netmask subsets (Gerrit Renker)
+- the new prebuffer filter
+- improved signal handling
+- variable fec output buffer size
+- improved FEC timing fixes audible buffer underruns in UDP mode
+- --log_color actually works
+- new ls option: -d (print dates as seconds after the epoch)
+- update to gengetopt 2.22.2
+- support for RSA keys of size > 512 bits
+- new option "mixer_channel" for para_fade
+
+-----------------------------------------
+0.3.4 (2009-05-07) "elliptic inheritance"
+-----------------------------------------
+
+The new udp sender, forward error correction, colored logs and various
+other improvements. As the udp sender does not depend on any special
+libraries, it is built unconditionally.
+
+- The udp sender replaces the ortp sender. The new code uses forward
+ error correction to protect against packet losses. Many thanks to
+ Gerrit Renker for providing ipv6 support.
+- The default port for udp streaming now defaults to 8000, like
+ for the http and the dccp senders/receivers.
+- Loglevels are now specified as symbolic names, e.g.
+ "--loglevel info".
+- improved ipv4 and ipv6 URI parser (Gerrit Renker).
+- para_server/para_audiod: Color support for log messages.
+- new options for mp3dec: --ignore-crc, --bufsize
+- new audiod option: --config-file.
+- gengetopt cleanups.
+- Improved help/man pages: The documentation of para_audiod,
+ para_recv, para_filter and para_write now also contains
+ all options of the available receivers/filters/writers. The
+ man page of para_fade contains a description of the different
+ modes of operation.
+- More source code documentation.
+- vss timing fixes.
+
+--------------------------------------------
+0.3.3 (2008-12-01) "axiomatic perspectivity"
+--------------------------------------------
+
+Internal code cleanups, bug fixes, improved tag handling and the new
+amplification filter.
+
+- para_server uses the generic scheduling code.
+- overhaul of the virtual streaming system.
+- mp3: id3 version 2 support via libid3tag (optional)
+- ogg: vorbis comment support.
+- aac meta info support.
+- mp3 audio format handler cleanups.
+- new filter: "amp" to amplify the amplitude of the audio stream
+- new status item/database entry: amplification. It is
+ used by the amp filter to pre-amplify the audio stream.
+- fix a close-without-open bug in para_write.
+- fix a bug in com_init() which was introduced in 0.3.2.
+- better error diagnostics for para_client.
+
+-----------------------------------------
+0.3.2 (2008-04-11) "probabilistic parity"
+-----------------------------------------
+
+The new para_afh executable, scheduling and documentation improvements.
+
+- new ls option: -lc (list chunk table)
+- new executable: para_afh, the stand-alone audio file handler tool
+- afs commands can send output more than SHMMAX (32MB on Linux). This
+ also reduces the memory usage of commands that produce large amounts
+ of output.
+- major scheduler and audiod cleanups.
+- more detailed and much nicer man pages.
+
+---------------------------------------
+0.3.1 (2008-02-23) "liquid interaction"
+---------------------------------------
+
+A mix of cleanups, bug fixes, improvements, and some new features. No
+significant changes to the new database (osl) code, which is generally
+a good sign.
+
+- Share some similar/duplicate code between the http and the
+ dccp sender.
+- Generic access control lists for paraslash senders.
+- dccp sender: Access control lists, connection limiting and support
+ for the allow,deny,on,off,help sender commands.
+- The default dccp port changed from 5001 to 8000 (suggested by
+ Gerrit Renker).
+- para_server starts even if not all public keys could be loaded.
+- Audiod performance improvements.
+- fix a bug in the "off" command of the http sender.
+- fix some fd and memory leaks.
+- Update to gengetopt-2.22.
+
+-------------------------------------
+0.3.0 (2008-01-12) "solar saturation"
+-------------------------------------
+
+paraslash.0.3.0 -- 'WWDBND --what would databases never do?'.
+
+
+Usually one might expect lots of new features AND a big increase in size
+for a major release like this.
+
+However, paraslash-0.3.0.tar.bz2 is the smallest paraslash tarball
+ever. The decrease in size is mostly due to the removal of some
+graphical tools (which were only quick hacks anyway). But also the
+fact that the mysql code is gone cuts down the size a bit.
+
+Being independent of mysql comes at a cost: The fact that paraslash
+now contains its own database (the object storage layer, osl) increases
+the (stripped) binary size of para_server by ~50K on i386.
+
+- no more restrictions on unique basenames.
+- independent of mysql: The new self-contained object
+ storage layer (osl) replaces the mysql database.
+- New executable para_fsck: Check integrity of osl tables.
+- Lyrics support.
+- Reliable audio file move/rename detection.
+- More portable than ever: Tested on Linux (x86_32, x86_64, sparc64),
+ MacOS (ppc32, x86_32), FreeBSD (x86_32), NetBSD (x86_32) and
+ Solaris (sparc64).
+- the new osl-based audio file selector (afs) replaces the random,
+ the playlist and the mysql selector of paraslash-0.2.x.
+- IPv6 support (thanks to Gerrit Renker).
+- paraslash-0.2.x streams are now called "moods". Writing
+ 0.3.x-mood definitions should be both easier and more
+ powerful than writing 0.2.x-stream definitions.
+- para_krell, para_slider, para_para_sdl_gui, para_dbadm have
+ been removed. The world is a better place without them. However,
+ para_gui is still there.
+- afs tracks audio file selection also in playlist mode.
+- few easy-to-use afs commands replace the many not-so-easy-to-use
+ mysql commands (and are available also in playlist mode).
+- Improved error subsystem.
+- The earth-shaking new logo.
+
+-----------------------------------------
+0.2.17 (2007-11-20) "isotropic threshold"
+-----------------------------------------
+
+Mainly bugfixes and cleanups in this version which marks the end of
+the 0.2.x series if no serious bugs show up after the release.
+
+- mysql_selector: fix a locking bug.
+- universal chunk queueing.
+- dccp sender uses chunk queueing if write() returns EAGAIN (thanks
+ to Gerrit Renker).
+- be more carful wrt. signed vs. unsigned argument passing.
+- cleanup error.h and fix some references to invalid error
+ codes.
+- update to gengetopt-2.21.
+- update to ortp-0.13.1.
+- autoconf: extend checks for headers, library functions and
+ compiler characteristics.
+- Fix streaming of large mp3 files.
+- Fix an off-by-one bug in playlist handling.
+
+--------------------------------------
+0.2.16 (2007-04-05) "neural discharge"
+--------------------------------------
+
+The main change in this release is the major audio format handler
+cleanup which removes some similar/duplicate code and makes it easier
+to implement plugins for other audio formats. Of course, the usual mix
+of other improvements/changes/bugfixes also made it into the release.
+
+- simplified audio format handlers (most of the handling functions
+ were moved one layer up to the virtual streaming system).
+- para_server uses mmap to read audio files
+- repositioning of mp3 streams is much faster, in particular for
+ jumping near the end of large mp3 files.
+- permission flags DB_READ,DB_WRITE have been renamed to AFS_READ
+ and AFS_WRITE.
+- fix a bug in para_filter that caused decoding of aac files
+ to start only after a few seconds.
+- fix osx_writer hangs
+- simplified dccp code (thanks to Gerrit Renker)
+- the compress filter works also on big endian systems (ppc)
+
+-----------------------------------------
+0.2.15 (2007-02-16) "inductive resonance"
+-----------------------------------------
+
+Minor improvements, more documentation and a bunch of bug fixes.
+
+- para_server: The server.users file is only read once on server
+ startup rather than for each connection
+- mp3dec: Fix decoding of corrupt mp3 files
+- afs (audio file sender) is now called vss (virtual streaming
+ system). Consequently, the permission flags specified in
+ ~/.paraslash/server.users have also changed: AFS_READ and AFS_WRITE
+ become VSS_READ and VSS_WRITE respectively.
+- para_audiod/para_filter: Fix a bug that caused the last chunk
+ of audio data not being written under certain circumstances
+- audiod: compute the difference of server time and local time
+ correctly
+- para_server/para_audiod: Fix some memory leaks
+- documentation improvements
+- configure.ac: fix checks for para_krell
+- new man pages
+
+-------------------------------------------
+0.2.14 (2006-10-15) "transient singularity"
+-------------------------------------------
+
+The only major enhancement of this version is the osx writer which completes
+the Mac OS Port and was originally planned already for 0.2.13 but had to wait
+until now for reasons beyond the scope of this changelog entry.
+
+- new output plugin for Mac Os: the osx writer
+- rename configure command line options from --enable-xxx-headers to
+ --with-xxx-headers and --enable-xxx-libs to --with-xxx-libs
+- configure: new command line options: --with-mad-headers,
+ --with-mad-libs, --with-oggvorbis-headers, and --with-oggvorbis-libs
+- some robustness fixes
+- dymamic audio format recognition for audiod
+- para_server: new command line option: --autoplay_delay
+- para_audiod: new command line option: --clock_diff_count
+
+---------------------------------------
+0.2.13 (2006-07-14) "sonic convolution"
+---------------------------------------
+
+A bunch of new features and core changes.
+
+- the new paraslash scheduler, short and sweet.
+- Support for m4a/mp4 files via the new aac audio format
+ handler/filter (requires libfaad).
+- each writer has its own command line parser, just like
+ para_recv and para_filter.
+- para_client and para_audioc use the error subsystem
+- writers are integrated in para_audiod (currently linux-only)
+- para_client is integrated in para_audiod
+- random/playlist selector: improved info strings
+- new audiod commands: tasks, kill
+- update to libortp-0.10.1
+- para_fade: wake time defaults to 8 hours from now
+- update to autoconf-2.60
+
+------------------------------------------
+0.2.12 (2006-05-12) "oriented abstraction"
+------------------------------------------
+
+Many user-visible changes in this release and lots of new
+features:
+
+- the new optional dccp sender/receiver. It uses the datagram
+ congestion control protocol. You'll need a fairly new kernel
+ for this.
+- paraslash works on Mac OS X (thanks to Gerd Becker)
+- para_play renamed to para_write
+- modular output plugin design (writers) for para_write
+- new file_writer output plugin for para_write
+- compress filter speed improvements
+- update to libortp-0.9.1
+- update to gengetopt-2.17rc
+- para_client no longer depends on libreadline (as the
+ code for the interactive mode was removed).
+- gcc-2-95 is no longer a supported compiler. It may still
+ work, but it gets no more testing.
+- the tarball no longer contains the screenshot images which
+ reduces its size quite a bit.
+- configure: new command line options: --enable-mysql-headers
+ and --enable-mysql-libs
+
+------------------------------------
+0.2.11 (2006-03-11) "atomic duality"
+------------------------------------
+
+Here it is, the first paraslash release developed with git. There
+are fairly many user-visible changes in this release. As two out of
+the three "database tools" of paraslash don't use a database at all,
+they are now called "audio file selectors" instead.
+
+- the cdt command (change database tool) becomes chs (change
+ selector)
+- no more colon separators: The syntax of some options of
+ para_audiod and para_filter have changed. Use --help for
+ more info (and some examples).
+- update to gengetopt-2.16 (thanks to Lorenzo Bettini)
+- switch from cvs to git (should've done that earlier)
+- the new ipc subsystem
+- new audio file selector: playlist
+- para_server: the dopey selector is now called "random",
+ and is the default selector. Use the --selector option to
+ choose another selector at startup, or the chs command to
+ change the selector at runtime.
+- X86_64 fixes (thanks to Steffen Klassert)
+- para_play fixes
+
+--------------------------------------
+0.2.10 (2006-02-17) "cyclic attractor"
+--------------------------------------
+
+Huge documentation update, a scrollable window for para_gui, ortp
+improvements, and of course many small fixes not mentioned here.
+The diffstat below is rather misleading as most insertions are due
+to the new source documentation.
+
+- autoconf cleanup
+- para_server also uses the new error subsystem
+- lots of new documentation (UTSL)
+- gui improvements:
+ - keysyms for cursor keys and for next/previous page keys
+ - scrollable output window
+ - new internal commands: scroll up/down, page up/down
+ - fix color of command output.
+- ortp: the --chunk_time and --header flags are no longer needed
+for para_recv/para_audiod as this information is now encoded in
+each rtp packet sent by para_server.
+
+-------------------------------------------
+0.2.9 (2006-01-24) "progressive turbulence"
+-------------------------------------------
+
+Internal audiod receivers/filters, the new error subsystem and
+a lot of small improvements.
+
+- para_recv and para_filter are integrated into the para_audiod
+ binary, i.e. audiod no longer spawns a new process for
+ each receiver/filter. As para_recv and para_filter might be
+ useful as standalone programs, they still get built (linked
+ against the same object files that are also used for audiod).
+- further ortp timing improvements should reduce the CPU usage
+ of the ortp receiver.
+- improved audio grabbing. The 'grab' command of para_audiod
+ has its own set of command line options. Read the output of
+ "para_audioc help grab" for more info.
+- oggdec: configurable input prebuffer size.
+- the new error subsystem gives better error diagnostics
+ and reduces code size.
+
+-----------------------------------------
+0.2.8 (2006-01-02) "dynamic accumulation"
+-----------------------------------------
+
+The new modular filter design and the para_play-hangs bugfix.
+
+- new executable: para_filter. It combines para_mp3dec,
+ para_oggdec and para_compress. It also adds a further filter
+ type, wav, that just inserts a wave header at the desired point
+ of the filter chain. All 'piping' is done in-memory (i.e. no
+ read/write operations are used).
+- para_play: fix a stupid bug that caused it to hang under
+ certain circumstances.
+
+-------------------------------------------
+0.2.7 (2006-12-27) "transparent invariance"
+-------------------------------------------
+
+Not many user-visible changes but a fair amount of internal improvements.
+
+- The http sender buffers data if it can not be sent
+ out immediately (because the socket is not writable). This
+ should prevent para_server from shutting down the connection
+ too early on a loaded network.
+- para_play also prebuffers data if it is told to start at a
+ future time by the --start_time option.
+- The return of para_recv: It combines para_ortp_recv and
+ para_http_recv. Use the --receiver option to switch between
+ the two. para_recv builds without libortp, but contains
+ only the http receiver in this case.
+- update to ortp 0.8.1. As this ortp release contains incompatible
+ changes, para_recv-0.2.7 won't link against older ortp libs.
+- improved ortp timings.
+- use of gcc-extensions that #define away for non-gcc and
+ gcc < 3.0.
+
+-------------------------------------------
+0.2.6 (2005-10-29) "recursive compensation"
+-------------------------------------------
+
+Transparent session encryption (uses openssl's Alleged RC4 cipher),
+the internal find command and several other improvements and cleanups.
+
+- Encrypt the session if encryption is requested by the client
+ (default for para_client 0.2.6). This is backwards
+ compatible, so older clients can still connect to para_server
+ 0.2.6. Use the new client option --plain to request an
+ uncrypted session (off by default, must be set to on in
+ order to connect to para_server 0.2.x with 0 <= x <= 5).
+- para_server uses an internal function to locate audio files
+ rather than calling find(1). The server option
+ --mysql_audio_file_dir replaces --mysql_find_cmd.
+- documentation update
+- man pages
+- header file cleanup
+- para_client code cleanup
+- para_gui: faster display of output of display commands
+
+------------------------------------------
+0.2.5 (2005-10-13) "aggressive resolution"
+------------------------------------------
+
+This release adds internal senders, i.e. no more external programs are
+spawned for sending out the audio data. There are two different senders
+available: The http sender and the ortp sender (former para_send which
+is no longer needed).
+
+The new sender code has a plugin-like design so it can be easily
+extended should there be be any future need for supporting another
+network streaming protocol. All senders are completely independent of
+each other. In particular, the http and the ortp sender can operate
+in parallel.
+
+- new server command: sender to control senders at runtime.
+ Read the output of "para_server -h" and "para_client help
+ sender" for more information.
+- para_recv renamed to para_ortp_recv
+- new executable: para_http_recv, a simple command line
+ http receiver.
+- major afs/mp3/ogg code simplifications due to internal
+ senders.
+- ogg timing improvements
+- fix several minor memory leaks (found by valgrind)
+- empty stream definitions work again
+- com_ne(): ignore errors on remove
+- audiod: fix segfault on server restart
+
+---------------------------------------
+0.2.4 (2005-09-21) "toxic anticipation"
+---------------------------------------
+
+Several small improvements, fixes and the new grab command.
+
+- audiod:
+ - new command: "grab" to grab the output of the stream reader
+ or any filters. Read the output of "para_audioc help grab"
+ for more information.
+ - fix memory leak
+ - code cleanup
+- audioc: new command line option: --bufsize to specify a
+ buffer size different from the default size 8192.
+- improved error diagnostics for para_play.
+- new configure option: --enable-ssldir so search for openssl in
+ non-standard places
+- sdl_gui: Make it look nice again for 1024x768
+- server: report total size of memory allocated with sbrk by malloc,
+ new command line option: --announce_time
+
+-----------------------------------------
+0.2.3 (2005-09-01) "hydrophilic movement"
+-----------------------------------------
+
+Two new executables and major feature enhancements.
+
+- audiod filters: It is now possible to specify arbitrary many
+ (including none) filters for each supported audio
+ format. This can be used e.g. for normalizing volume,
+ transforming or grabbing the audio stream, or for using
+ visualizers. Read the output of "para_audiod -h" for the
+ syntax of the new --filter_cmd option.
+- new executable: para_play, a tiny alsa player. It
+ can play wave files or raw pcm (16 bit little endian)
+ from stdin.
+- new executable: para_compress, a dynamic range compressor
+ intended to keep audio output at a consistent volume. Derived
+ from [AudioCompress](http://trikuare.cx/code/AudioCompress.html).
+- audiod: New option: --stream_delay. This can be used in
+ a local network to syncronize the audio output of all
+ clients that play the same stream.
+
+------------------------------------------
+0.2.2 (2005-08-19) "tangential excitation"
+------------------------------------------
+
+Mostly internal changes in this release, but also some new commands
+for the mysql database tool.
+
+- cleanup exec.c, fix para_exec bug
+- compile time loglevel (log messages below the given level
+ won't be compiled in, which reduces the size of the
+ resulting binaries)
+- new log macros that shorten the size of the source code.
+- workaround a gcc-4.1 bug (?) that caused send_cred_buffer()
+ to send only zeros. With this workaround, para_audioc works
+ again.
+- avoid gcc-4 warning: conflicting types for built-in function 'clog'
+- new mysql commands: "rm" (remove entry), "mv" (rename entry) "ne"
+ (new entry), "snp" (set numplayed). Read the manual for more
+ information.
+
+---------------------------------------
+0.2.1 (2005-08-15) "surreal experience"
+---------------------------------------
+
+Here comes paraslash-0.2.1. It contains a couple of new features and,
+surprise, only minor bug fixes.
+
+- kill noisy mp3 debug message
+- cleanup of the build system
+- para_server and para_client directly use the crypto routines
+ of the openssl library rather than invoking the openssl command
+ line utitlity
+- server/audiod: new option --user to switch to the given user
+ when invoked as root. Read the output of "para_server -h" for
+ more information.
+- gui/sdl_gui: new option --stat_cmd to be used to retrieve the
+ status. Default: "para_audioc stat"
+- sdl_gui: new option --pic_cmd to be used to download the picture.
+ Default: "para_client pic"
+- audiod: 5 slots ought to be enough for everybody
+- audiod: new status item: Uptime, kill hup command
+
+------------------------------------------
+0.2.0 (2005-08-06) "distributed diffusion"
+------------------------------------------
+
+After several month of increased development activity, paraslash-0.2.0
+has arrived. It contains many new features and is much more
+self-contained than the old 0.1.x series. Enjoy!
+
+- para_server: fix hang on song change and crash on sighup.
+ Speed up mysql queries. The DIR_LIKE macro is gone.
+- new executables: para_audiod, the local audio daemon that
+ starts playback (uses SCM_CREDENTIALS socket magic) and
+ para_audioc, the corresponding client.
+- new executables: para_mp3dec/para_oggdec, two really teensy
+ decoders. para_mp3dec is based on libmad, para_oggdec requires
+ libvorbisfile.
+- ovsend/ovrecv are capable of streaming ogg as well as mp3, so
+ they are now called para_send and para_recv respectively.
+- documentation updates
+- para_gui is themable. For now there is the default theme that
+ looks as before and the simple theme: blue and easy.
+- gui: audio streaming is now handled by audiod. Time display shows
+ playback time rather than streaming time
+- slider: update to libzmw-0.2.0
+- para_krell: fix crash on server shutdown
+- switch from gzip to bzip2
+
+----------------------------------------
+0.1.7 (2005-04-18) "melting penetration"
+----------------------------------------
+
+The main change in this release is clearly the oggvorbis rewrite,
+but there are also lots of smaller changes. If you intend to use both
+the mp3 and the ogg plugin, it is recommended to use software mixing,
+e.g. the dmix plugin which is provided by ALSA.
+
+- new executables: para_ovsend and para_ovrecv for sending/receiving
+ oggvorbis files via rtp. Requires the open rtp library. Get it at
+ http://www.linphone.org/ortp/
+- rewrite of the ogg_vorbis core code
+- configure detects libzmw and, if detected, includes
+ para_slider to the list of binaries to be built by make
+- server stream writers read from their associated fifo rather
+ than from stdin
+- slider: two new sliders, lastplayed and numplayed
+- fix nasty double free bug which caused random segfaults in case of
+ mp3 files with invalid header information
+- gui: new command line option: --stream_timeout=seconds to
+ deactivate a slot if it is idle for that many seconds (default=`5')
+- diffstats
+
+---------------------------------------
+0.1.6 (2005-03-05) "asymptotic balance"
+---------------------------------------
+
+Only little user-visible changes in this release. Mainly bugfixes and
+core code cleanup. This is probably the most stable version ever if you
+stick to mp3...
+
+- fix several memory leaks
+- rename default name of mysql database from "music" to "paraslash".
+ Use para_server's --mysql_database option if you do not want to
+ rename your old database.
+- rework ogg vorbis code
+- make update command work on mysql servers with LOCAL_INFILE
+ disabled
+- gui: improved stream I/O (slots)
+- simplified audio format API
+- para_pob_ogg is gone
+
+------------------------------------
+0.1.5 (2004-12-31) "opaque eternity"
+------------------------------------
+
+Let's slide gently into the new year.
+
+- new: para_slider (not built automatically, type "make
+ para_slider" to build). A toy for those who always felt that
+ creating stream definitions is difficult. See screenshots,
+ README and FEATURES for more info.
+- improved signal handling. Fixes server segfault on SIGHUP
+ for linux kernels newer than Aug 24 2004 and makes para_gui
+ race-free.
+- reload database tool on SIGHUP
+- improved help message for sl
+- do not log "broken pipe" messages as errors. They are
+ perfectly ok.
+- fix wrong error message on permission errors
+
+-----------------------------------------
+0.1.4 (2004-12-19) "tunneling transition"
+-----------------------------------------
+
+Bugfix release. As expected, 0.1.3 introduced a bunch of new bugs.
+Hopefully, most of them got wiped out with this release. Some
+enhancements went also in.
+
+- improved error diagnostics for all commands
+- stradd/picadd: overwrite previous contents if entry already
+ exists, rather than returning errors
+- stradd: use current stream if invoked without args
+- faster (and hopefully more stable) ogg-vorbis handling
+- para_krell: reap children to avoid zombie-flooding in case
+ no server is running
+- si: report also server pid
+- server: don't busy-loop if dbtool reports only invalid files.
+- gui: CTRL+C works again, fix stream_read command line option
+- fix pic_add, hist
+- fix mysql dbtool startup in case no database exists
+- many small fixes and cleanups
+
+---------------------------------------
+0.1.3: (2004-12-10) "vanishing inertia"
+---------------------------------------
+
+Starting from this release, the database tools are integrated in the
+server binary. This decreases server startup time, reduces code size
+and speeds up database commands. However, the layout of the underlying
+mysql database changed only slightly and 0.1.3 should be backwards
+compatible in that respect.
+
+Visible changes:
+
+- If mysql is not detected at compile time, or fails to init
+ at runtime, fall back to the dopey database tool which should
+ always work.
+- para_dbtool and dbtool.conf are gone. All mysql specific
+ options are read from server.conf and are prefixed by 'mysql_'.
+- new command: cdt (change database tool)
+- new command line option: dbtool (choose startup database tool)
+- The name of current stream is now stored in the database,
+ so paraslash remembers its current stream when restarted.
+- new command: csp (change stream and play)
+- para_gui also reports current database tool and server uptime
+
+-------------------------------------------
+0.1.2: (2004-11-28) "spherical fluctuation"
+-------------------------------------------
+
+Point release before the big dbtool changes go in.
+
+- dbtool: rename ca to cam (copy all meta data). It now also
+ copies numplayed and lastplayed time as well as the picture
+ id.
+- fix endless-loop-bug caused by mp3 files with invalid header
+
+-----------------------------------------
+0.1.1: (2004-11-05) "floating atmosphere"
+-----------------------------------------
+
+- gkrellm plugin
+- new dbtool command: mbox. Browse your sound-file collection
+ with your favorite mail reader.
+- several small fixes
+
+-------------------------------------
+0.1.0: (2004-10-22) "rotating cortex"
+-------------------------------------
+
+- fix logging bug for loglevel > VERBOSE
+- fix skip command
+- correct timings for vbr mp3s
+- modular audio format support
+- ogg-vorbis support (experimental)
+- new server option: autoplay
+
+-----------------------------------------
+0.0.99: (2004-07-25) "harmonic deviation"
+-----------------------------------------
+
+- rename projectname from icc to paraslash (play, archive, rate
+ and stream large audio sets happily)
+- paraslash is no longer restricted to one particular audio
+ streaming software
+- new dbtool commands (stradd, strq, strdel) for easy stream
+ managment w/o configuration file. That obsoletes stream_defs
+ file/config option for dbtool.
+- picadd accepts jpeg data from stdin
+- new server commands: ps (select previous stream), sc (song change)
+- new default pictures for sdl_gui
+- gui: new key_map option for binding commands and internal
+ functions to arbitrary keys, nice help screen, rip out
+ soundcard/linux specific stuff, avoid noise artefacts while jumping,
+ show silly logo on startup
+- new executables: para_fade for fading volume, para_dbadm for
+ manipulating attributes
+- cdb adds _all_ tables to mysql database
+- revised and beautified documentation
+- sample dbtool rewritten in C
+- autoconf
+
+---------------------------------------------
+0.0.98: (2003-12-26) "incremental smoothness"
+---------------------------------------------
+
+- kick icecast in favour of poc. That removes some races and reduces
+ core code considerably.
+- cbr/vbr is displayed by stat and gui/sdl_gui. New status flags
+ give finer info on afs' status.
+- gui can start decoder (see config options). Further new gui
+ commands: refresh (^L), jmp (F1-F10)
+- gui rereads conf on SIGUSR1 instead of SIGHUP. SIGHUP
+ terminates gui. This fixes dead instances consuming memory
+ continuously.
+- new dbtool command: verb for sending verbatim sql queries.
+- fix pid_list races (by removing pid_list)
+- codename funnies
+
+--------------------
+0.0.97: (2003-10-26)
+--------------------
+
+- installation prefix now defaults to /usr/local
+- new commands for gui: snozze, sleep and reread config
+- config file for gui and sdl_gui
+- fix problems with filenames containing funny characters
+ (reported by Thomas Forell)
+- improved signal handling for gui, now it rereads conf on SIGHUP
+- new dbtool command: cdb (create database)
+- switch from argtable to gengetopt
+- major code cleanup and speed improvements
+- fix several potential buffer overflows
+- many small fixes and cleanups
+
+-------------------
+0.0.96 (2003-08-30)
+-------------------
+
+- easy stream_defs syntax
+- sdl_gui can display images associated to the file being played
+- Major feature enhancements for icc_gui including dynamic text
+ placement and the top/bottom window design
+- vrfy/clean now also checks for NULL values in attributes as
+ well as for invalid picture pointers
+- fix long outstanding case sensitivity bug
+- many small fixes and cleanups
+
+-------------------
+0.0.95 (2003-06-29)
+-------------------
+
+- sdl gui runs much faster
+- new dbtool command: ca (copy attributes)
+- count and display number of times the song has been played
+- new feature: scoring
+- command line options for sdl_gui
+- simpler syntax of streams file
+- decrease network traffic of stat
+- fix zombie bug
+- many small fixes and cleanups
+
+-------------------
+0.0.94 (2003-05-04)
+-------------------
+
+- new server command: ns (next stream)
+- new icc_gui command: c (change stream)
+- internal mp3info
+- stat shows also id3 tag info
+- new sdl based gui
+- log flodding bug fixed
+- many small fixes and cleanups
+
+-------------------
+0.0.93 (2003-03-28)
+-------------------
+
+- colors for icc_gui
+- icc_gui sets volume directly (linux only)
+- proper locking that fixes some races
+- fix security bug that caused commands to be executed even
+ with unsufficient permissions
+- new command: hup to make all servers reread their configuration file
+- icecast meta data streaming
+- many small fixes and cleanups