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