Version 0.11, 2001-04-08
Version 0.11, 2001-04-08
------------------------
* The race condition with --mappingmode has been fixed. 

* Xalf sets different WM_CLASS names for the different indicators.

Version 0.11_test, 2001-04-02
-----------------------------
(Not released to public)

* The animated star has been re-implemented. Xalf versions < 0.11_test
  used one single window and re-shaped it every time a new frame was
  displayed. Unfortunately, this seems to crash many Xservers under
  load (for example XFree86 3.3). Therefor, Xalf now uses 9 different
  windows and shows/hides these to make up the animation. This is both
  slow and ugly, but at least it doesn't crash the Xserver
  (hopefully).

* libxalflaunch.so supports FreeBSD. 
   
* libxalflaunch.so: dlopen() is not used anymore. Instead,
  dlsym(RTLD_NEXT, "XMapWindow") is used. This makes it unnecessary to
  hardcode the Xlib library name. 

* libxalflaunch.so: The restoration/truncation of LD_PRELOAD is done
  in-place, eg. without any malloc(). The restoration now also handles
  both space- and colon-separated LD_PRELOAD. 

* The documentation has been updated. 

* The Capplet links to the newly written Xalf Capplet documentation.

Version 0.10, 2001-03-13
------------------------
 * Uses putenv() to unset the environment variable XALF_LAUNCH_PID on
   platforms that don't support unsetenv(). This seems to
   (mysteriously) fix problems with crashes on Solaris. 

 * xalf uses RTLD_NODELETE when available. 

 * Error-trapping to handle cases where windows are deleted etc. 

Version 0.9, 2001-03-07
-----------------------
 * Added @GTK_LIBS@ and @GTK_CFLAGS@ to capplet Makefile.am. This is
   needed for compiliation with gtk+ 1.2.9. 
 
 * Fixed bug in xalf.c: Versionnumber is now correctly reported. 

 * If xalf is executed with arguments "/bin/sh -c <appname>
   [arguments]", it will check if <appname> exists and if it's
   setuid/setgid. This fixes lots of problems when running Xalf with
   GNOME, since gnome-libs always executes applications through
   /bin/sh. 

 * Portability issues: getopt files copied to capplet directory. 
   xalf_capplet_LDFLAGS changed to xalf_capplet_LDADD in capplets
   Makefile.am. AC_PATH_XTRA is used for X libraries. 

Version 0.8, 2001-02-19
-----------------------
 * Applied patch from Greg Hudson <ghudson@mit.edu>. This patch
   removes -Wall from CFLAGS, so Xalf can be compiled with other
   compilers than gcc. 

 * Applied patch from Jonathan <jrb@redhat.com>: Better strings and
   moved capplet to Desktop. 

Version 0.7, 2001-02-12
-----------------------
 * Applied patch from Frederic Crozat <fcrozat@mandrakesoft.com>. This
   fixes some problems related to glibc and setuid apps. 


Version 0.6, 2001-02-12
-----------------------
 * Applied patch from George <jirka@5z.com>: Some sanity checks,
   checks for Xsync, and more.


Version 0.5, 2001-01-31
-----------------------
 * Applied patch from George <jirka@5z.com>: xalf-capplet now
   correctly sets up "invisible window" as default. 


Version 0.4, 2000-06-18
-----------------------
 * Added GNOME Control Center capplet. 

 * New indicator: Animated star, by Martin Engel <m.engel@ndh.net>. 


Version 0.3, 2000-06-01
-----------------------
 * Added option --title

 * If LD_PRELOAD is already set upon Xalf start, it is appended. This
   means that Xalf now should work well even if LD_PRELOAD is
   needed for other purposes. 

   Not all systems support this. Probably, it only works on systems
   running a recent version of ld-linux.so.

 * New hourglass splashscreen, thanks to Tuomas Kuosmanen
   <tigert@gimp.org>. 

 * XALF_LAUNCH_ID is removed from started applications environment,
   eg. should be invisible. 

 
Version 0.2, 2000-04-14
-----------------------
 * Total code rewrite. 

 * Overloads XMapWindow instead of XCreateWindow. 

 * Uses a environment variable called XALF_LAUNCH_PID with the pid of
 the tracking xalf process. XMapWindow, when called, sends an signal
 to this process. 

 * Optionally uses "mappingmode" instead of the LD_PRELOAD approach. In
 this mode MapNotify events are detected. In this mode, it's not
 possible to distinguish between created windows. This mode is useful
 for applications requiring exclusive control over the LD_PRELOAD
 variable, such as StarOffice 5.1. 

 * Uses GNU getopt for option parsing. 

 * Check if unsetenv() is available. Use putenv() if it doesn't
 exist. 

 * Launch timeout. 

 * Build system uses Automake, Autoconf and Libtool. 

 * Three different indicators available: invisible window,
 splashscreen and mouse cursor change. 

 * Detects if launched application is setuid/setgid, and automatically
 use --mappingmode if this is the case. 

 * Detects if LD_PRELOAD is already set, and automatically
 use --mappingmode if this is the case. 

 * Detects if libxalflaunch.so if available, and automatically use
 --mappingmode if the library is not available. 

 * Catches SIGTERM, SIGINT and SIGQUIT signals, and restores changed
 cursor upon these signals.