0.9.19:

 * OK, I broke command line parsing again. Yes, I'm an idiot.

0.9.18:

 * Fixed bug in init_position; we can safely use PPosition now. If
   windows start popping up in bad places, check their size hints
   before yelling at me.
 * Use fork/exec instead of system(3) to run programs. Fixed signal
   handlers to reflect this (we need POSIX sigaction(2)).
 * Cleaned up MWM hints/WM_SIZE hints code (they sort of match now),
   and only request the MWM atom at startup instead of for each call.
 * Started yet another goodies reorganization, and ended up reverting
   a lot of it. However what's changed should go a little ways towards
   cleaning things up.
 * Fix a build error where some goodies files that needed to be
   compiled against X were compiled without -I/use/X11R6/lib, failing
   on systems without a symlink from /usr/include/X11.
 * Tossed out historical 'iheight' junk in border calculation.

0.9.17:

 * Use ln -f to ignore overwriting previously installed manpage links.
 * If MWM hints are enabled, no-border windows will no longer
   get a border upon exiting.
 * The order of buttons in *-palette is no longer changed by title
   updates or unhiding windows.
 * xaw-palette was fixed to work with proper versions of Xaw (shame on
   me for testing with Xaw3d!), including the one in XF4. The new
   internals have ported over to gtk-palette.

0.9.16:

 * Fixed a shaping bug (which actually existed before changes made in
   0.9.15) where a window that used to be shaped, but then became
   unshaped, wasn't updated properly.
 * MWM hints support can now be compiled in with -DMWM_HINTS, thanks
   to help from Adam Sampson <azz@gnu.org>.
 * Set the input focus upon entering a window frame, instead of on
   entering the child window.

0.9.15:

 * Display a titlebar for shaped windows. This also makes the bug
   where shaped windows were getting gravitated as if they had a
   titlebar irrelevant.
 * Tiny cleanups for the Debian package, including:
 * Man page for the goodies.
 * Typo in makefile fixed (tried to strip manpage, ah-reer-reer-reer).
 * Polished the main man page a bit.

0.9.14:

 * Free cursors and GCs in quit_nicely.
 * Switch order of objects and libraries in Makefile to placate
   Solaris cc.
 * Rename raise to raise_win -- raise is in signal.h of course (doh!)
 * Added copyright notice to all goodies and Makefiles due to someone
   ignoring my license (this has been worked out).
 * Bail out on lack of default font. You *should* be reading aewm.h
   first of course ;-)

0.9.13:

 * Fix really stupid thing I did while refactoring make_new_client,
   where a window that started as Withdrawn would stay that way
   instead of getting mapped.
 * Deal with withdrawing clients properly in *-palette, by watching
   for the WM_STATE property to be changed instead of looking at
   UnmapNotify events.

0.9.12:

 * Clean up clients on receipt of a DestroyNotify. This is needed when
   a client is already unmapped (i.e, the user iconified it) and it
   exits.
 * Preserve window stacking order on exit and restart.
 * Mucked about with the make_new_client logic; tell me if this breaks
   something.
 * Added gtk-*-menu clients contributed by Adam Sampson <azz@gnu.org>.

0.9.11:

 * Got rid of unneeded PropertyChangeMask on root window. Silly me.
 * Removed the ugly array/linked-list hack from xaw-palette, so that
   the internal workings of both palette clients are now basically
   identical.
 * static'd everything that should have been static.
 * Updated email, documentation, etc.
 * Got rid of handle_reparent_event, as a client call to
   XReparentWindow is taken care of by handle_unmap_event.
 * Backed out the 0.9.9 change to option-parsing macros, which
   were causing all options to fail miserably (argh).

0.9.10:

 * Handle withdrawing windows properly in xaw-palette. Both palette
   clients are a little saner now.
 * Updated goodies docs.
 * ungravitate when printing geometry for move/resize.
 * Moved more code from individual goodies to common-run.c.
 * Got rid of unhide() as we never use it.
 * Replaced GenericWidget typedef silliness with global variables.
   sometimes you just have to pick the lesser of two evils...

0.9.9:

 * Finally de-insanified handle_xerror. Instead of going through
   contortions in remove_client to avoid raising errors, we turn the
   error handler off during the server grab.
 * Both palette goodies now track iconification of clients and WM_NAME
   changes.
 * gtk-palette is now oriented horizontally, and includes a menu,
   providing lots more space for client buttons.
 * Made the parse_option macros reusable (thanks to the comp.lang.c
   folks for the reminder).
 * make sure get_wm_name in the goodies doesn't crash for windows that
   have no name.
 * Minor typo corrections and stuff.

0.9.8:

 * Brown paper bag: take debugging stupidity out of gtk-palette.
 * Overhaul the goodies' build system yet again.
 * Gtk-palette now gets the screen size correctly.
 * All switch/palette goodies now cut off long titles, use WM_NAME
   instead of WM_ICON_NAME, and place iconified titles in parenthesis.
 * No changes to aewm itself in this release.

0.9.7:

 * Added lots of comments.
 * General code cleanups, tweaks, reformats all over.
 * Fixed iconic state problem.
 * Plugged a memory leak in send_wm_delete.
 * Added -new3.
 * Fixed -new[123] allocation bug.
 * Made debug code considerably saner.
 * Print "80x25" and such when resizing xterms.
 * Replaced sprintf with snprintf.
 * Got rid of -display. set DISPLAY in your environment instead, so
   that it propagates to child processes.
 * Messed around with the goodies' build system.
 * Fixed gtk-palette; events are now filtered properly at the GDK
   level.
 * Replaced variable length arrays with malloc/free.
 * Added xsession, since I've been using it forever.

0.9.6:

 * Fix for handling inital window geometry.
 * A few memory leaks plugged.
 * Wrote a man page
 * More consistent borders for transient windows.

0.9.5:

 * Print window geometry while moving/resizing.
 * Added some WM_NORMAL_HINTS sanity checks
 * Set the keyboard focus on window enter (for rxvt, etc).

0.9.4:

 * Root menu replaced by another client.
 * Added -bw option.
 * Border-drawing fixes (only visible if you have very wide borders).
 * Got rid of mouse button exit.

0.9.3:

 * Put the root menu code back in.
 * Added more goodies and reorganized them.

0.9.2:

 * Minor ICCCM compliance fix regarding WM_STATE.

0.9.1:

 * A small fix to make the palette complain if no rc file exists.

0.9:

 * Initial public release. Before this, aewm was called 'swim' and was
   used by me as a school project. It was also rather unstable.
