+Changes since 3.21: * Fixed some bugs in xscreensaver-demo.
+ * Rewrote the Motif version of xscreensaver-demo to
+ match the new Gtk version.
+ * The Athena toolkit is no longer supported.
+Changes since 3.20: * Tweaked the xscreensaver-demo UI (Gtk only.)
+ * Fixed a few visual selection bugs. I think the proper
+ GL visual should be used with nVidia systems now.
+ * Made the Makefiles obey $install_prefix.
+ * Made the `xscreensaver.spec' file able to generate both
+ GL and non-GL packages simultaniously.
+Changes since 3.19: * Added new hacks `ripples' and `sierpinski3d'.
+ * Made `xscreensaver-command -exit' be silent when no
+ screen saver was running (instead of complaining.)
+ * Made `webcollage' and `vidwhacker' use `xloadimage'
+ when available (in addition to `xli' and `xv'.)
+ * Improved memory usage in `petri' and gave it a hard
+ cap on how much memory it can allocate.
+ * Added `-watch' option to `xscreensaver-command'.
+ * Made `xscreensaver-demo' come up with the
+ most-recently-run hack selected by default.
+ * Rewrote the Gtk version of `xscreensaver-demo'.
+ It's a lot easier to use now.
+ * Extended the format of the programs list in the
+ .xscreensaver file, for the benefit of the new
+ capabilities of `xscreensaver-demo'.
+ NOTE: you might want to delete your ~/.xscreensaver
+ file and allow it to be re-created! The old one
+ should still work, but xscreensaver-demo won't be as
+ pretty.
+Changes since 3.18: * Fixed gcc dependencies in `bumps' and `ccurve'.
+ * New hack, `extrusion'.
+ * Some of the web sites that `webcollage' was using as
+ its sources changed formats; tweaked it to understand
+ the current layouts.
+ * Added typeahead in the password dialog: if the screen
+ is locked, and you unlock it by typing a character,
+ that key will be automatically inserted in the
+ password dialog (unless it is Return, Enter, Space,
+ or a non-printing key like Shift.)
+ * Made `xmatrix' take a `-small' option, since some
+ folks with tiny screens prefer a smaller font.
+Changes since 3.17: * New versions of `shadebobs', `lmorph', and `distort'.
+ * Added `ccurve', `blaster', and `bumps' hacks.
+ * Replaced `forest' hack with a rewritten version.
+ * Worked around a Xinerama server bug.
+ * Fixed a bug I introduced in 3.10 that caused some
+ hacks to print out superfluous warnings about not
+ having gotten enough colors.
+ * Made `sproingies' obey the `-delay' option.
+ * Fixed a portability bug in `shadebobs'.
+ * Made `webcollage' and `vidwhacker' use `xli' in
+ preference to `xv', if it is available.
+ * Added a new source of images to `webcollage'.
+ * If running under KDE, xscreensaver will add itself to
+ KDE's list of screensavers (via xscreensaver.kss.)
+ * Improved detection of GL libraries.
+ * Made the password dialog include the date and time.
+Changes since 3.16: * New version of `webcollage' -- deals better with
+ corrupted images, and can use an http proxy.
+ * New hack, `xsublim' (run it in the background,
+ rather than adding it to the programs list.)
+ * The xscreensaver daemon was leaking a file descriptor
+ each time you edited your .xscreensaver file. Fixed.
+Changes since 3.15: * New version of `shadebobs'.
+ * Improved image selection in `webcollage', and sped it
+ up slightly.
+ * Made configure find the right version of perl.
+ * Rewrote the CGI part of `webcollage'.
+ * `make clean' was deleting some things it shouldn't.
+ * Fixed a typo in the default programs list.
+Changes since 3.14: * Added `webcollage' and `shadebobs' hacks.
+ * Added a `-stdout' arg to `vidwhacker' so that it can
+ be used in a pipeline.
+ * Made `petri' use less memory.
+Changes since 3.13: * Various improvements to the Gtk port.
+ * Turned off PAM by default on Solaris, since PAM seems
+ generally to be misconfigured out-of-the-box.
+ * Made the `--without-gtk' configure option work.
+ * Made configure check the Gtk version number, since it
+ requires 1.2.
+ * Fixed a bug in the code that attempted to prevent
+ changes of screen resolution while the screen is
+ locked.
+ * Fixed a race condition in `xscreensaver-demo' that
+ could cause an X error at startup.
+ * Added `-transparent' option to `deluxe'.
+ * Added `petri' hack.
+Changes since 3.12: * Ported `xscreensaver-demo' to Gtk.
+ * Made it possible to build Motif, Gtk, and Athena
+ versions of `xscreensaver-demo' in the same directory
+ without reconfiguring.
+ * Made `xscreensaver-demo' chase symlinks before writing
+ the .xscreensaver file, so that if .xscreensaver is
+ itself a symlink, the underlying file will be replaced
+ instead.
+ * Some Makefile and configure tweaks for Solaris and
+ FreeBSD.
+ * Made it possible to set the fire color in `xflame'.
+ * Made transparency work in TrueColor (for `goop' and
+ `qix'.)
+ * Fixed a multi-head bug introduced by the virtual
+ viewports stuff.
+Changes since 3.11: * Made it so that you can't scroll the screen while the
+ lock dialog is up (with XFree86 virtual viewports.)
+ * Fixed a bug in `flag' that caused bob's chin to get cut
+ off after a few iterations.
+Changes since 3.10: * Made `xjack' be black-on-white-ish, so that it looks
+ less like a computer screen and more like the
+ typewritten paper it's supposed to be.
+ * New version of `pulsar'.
+ * Fixed Solaris compilation problem in `phosphor'.
+ * Made xscreensaver notice XFree86's virtual root window
+ hack, so that if the X server's root window is larger
+ than the monitor's displayable resolution, the screen
+ saver will limit itself to the area that actually
+ appears on the screen.
+ * Made the xscreensaver daemon do a better job of
+ picking the visual class that should be used for GL
+ programs. Less user intervention should be needed
+ now: you can use the logical visual name `GL' instead
+ of having to figure out by hand which one to use.
+ * Oops, the visual was defaulting to "best" instead of
+ "default", because the .xscreensaver file was not being
+ loaded quite early enough.
+ * Made configure figure out how to build icmp ping
+ support into the `sonar' hack automatically.
+ * Made warnings about not being able to read shadow
+ passwords not be printed if compiled with PAM support.
+ * Improved PAM startup diagnostics.
+ * Worked around the Solaris PAM bug that was causing
+ crashes there, so now PAM is turned on by default.
+ * Made configure detect the number of arguments that
+ pam_strerror() takes, since on Linux, this apparently
+ changed between 2.0 and 2.2, sigh.
+ * Made the /proc/interrupts kludge look for "PS/2 Mouse"
+ as well as "keyboard".
+ * Made xscreensaver notice when there has been a sudden
+ large jump in wall-clock time, and if so, lock right
+ away, instead of waiting for "lockTimeout" to expire
+ first. (Laptops need this for safer recovery from
+ ``hibernation.'')
+ * Added `-throttle' option to `xscreensaver-command'.
+Changes since 3.09: * Added `phosphor', `xmatrix', and `pulsar' hacks.
+ * Fixed a bug in the color allocator that sometimes
+ caused `starfish' to fall back to monochrome.
+ * Reduced the amount of code that runs before root
+ privileges are disavowed: "normal" and "shadow"
+ passwords now do some initialization as root, but the
+ PAM and Kerberos authorization schemes will be
+ initialized while running as "nobody". Supposedly
+ this closes a potential security hole when using
+ Kerberos.
+ * Added some more sanity checking to configure.
+Changes since 3.08: * Added `compass', `squiral', `xflame', `wander',
+ `spotlight', and `critical' hacks.
+ * Added some new modes to `decayscreen'.
+ * Made `deluxe' work in monochrome.
+ * Generalized usage of the Double-Buffer server extension
+ in several hacks (`compass', `deluxe', `interference',
+ `kumppa', and `moire2'.)
+ * Fixed another visual-depth problem in `rd-bomb'.
+ * The screen saver will now defer blanking if neither
+ the keyboard nor the mouse could be grabbed. Instead,
+ it will just try again in a few minutes. This fixes
+ a bad interaction between xscreensaver and programs
+ like VMware that hold the mouse and keyboard grabbed
+ for a long time.
+ * Added a new erase mode (expanding spiral.)
+Changes since 3.07: * Fixed some bugs in my port of `t3d'.
+ * Added `penetrate' and `deluxe' hacks.
+ * When linking against Motif 2.x, also link against XPM.
+ * Added support for using /proc/interrupts for idle
+ detection on Linux. Now xscreensaver shouldn't kick
+ in when the user is active on a non-X virtual console.
+ * Upgraded to autoconf 2.13.
+Changes since 3.06: * Configure tweaks (sometimes -lXmu wasn't getting linked
+ in properly; check for _Xsetlocale in -lXintl.)
+ * Portability fixes for sonar.c.
+ * Fixed a compilation problem when you have GL but don't
+ have XPM.
+ * Made configure notice when MesaGL requires -lpthread.
+ * Made `flame' ignore SIGFPE (not sure if this is the
+ right fix; it seems only to be needed on FreeBSD.)
+ * Kludged `rd-bomb' work on visuals that are of depth 24
+ but that *do not* support pixmaps of depth 32.
+ * Fixed `halo' to work properly in TrueColor.
+ * Changed `xscreensaver.spec' to install the hacks in
+ /usr/X11R6/lib/xscreensaver/ by default, since that's
+ where recent Red Hat distributions put them.
+ * Added `t3d' hack.
+ * Updated versions of `crystal', `hopalong', and `flow'
+ from xlockmore.
+ * Imported `demon' and `loop' modes from xlockmore.
+Changes since 3.05: * Oops, the "default-n" visual descriptor was broken;
+ it was always installing a colormap if the
+ `installColormap' preference was set, meaning that
+ `xearth', `xv' and friends were using the wrong
+ colors on 8-bit systems.
+ * Turned off HAVE_PING in `sonar', since it compiles
+ on some Linux systems, but not others of similar
+ vintage...
+Changes since 3.04: * Fixed an off-by-1 in `distort'.
+ * Added `sonar' hack.
+ * New version of `glplanet' (with stars.)
+ * Made all hacks exit when you type `q' or `ESC' at them,
+ and made them obey the WM_DELETE_WINDOW ClientMessage.
+ * Fixed a nonfatal buffer overrun in lament (note:
+ lament still doesn't work with MesaGL 3.0: it dies in
+ lambda_textured_triangle1(), which is Mesa's bug, not
+ mine.)
+Changes since 3.03: * Added an `xscreensaver.spec' file, to make it easier
+ for other folks to generate RPMs.
+ * Made the password code work on HPUX in the situation
+ where: ``enhanced security'' is available; but not
+ used; but the user typed a password more than 8
+ characters long anyway. FTSOHPUX.
+Changes since 3.02: * Made locking work when passwd aging is enabled.
+ * Added support for PAM (Pluggable Authentication
+ Modules.) It is still turned off by default, though,
+ since it doesn't seem to work on Solaris 2.6, and has
+ been behaving erratically on Red Hat 5.1.
+ * Made each possible authentication method be tried in
+ turn until one succeeds; this means that Kerberos is
+ being used, we will first check Kerberos, and if that
+ fails, will then consult the local password file.
+ Likewise with PAM.
+ * Save and restore the bits under the passwd dialog,
+ to avoid leaving a black rectangle behind when
+ unlocking is cancelled.
+Changes since 3.01: * Not everyone has sys/select.h, sigh...