* Various bug fixes

* Support for Tcl 7.0 and Tk 3.3.
  *** Ical no longer works with older versions of Tcl and Tk ***

* Uses GNU style build process.  Installers just need to type "configure"
  and "make".

* Ical is more careful about the fonts it picks.  If a required font
  does not exist, it tries to find another similar font.  Eventually
  it falls back to "fixed".  You can also change from one font family
  to another very easily -- use the "Ical.fontFamily" resource.  See
  the man page for more details.

* Menus behave like most non-motif applications (unless tk_strictMotif
  is set to true).  I put in this change because most people in my lab
  hate the motif-style menus that stay popped up even after you
  release the button.

* Users can now change the interval at which ical polls its calendar
  files.  This can help if you are on a slow machine.

* Added "-popup" option for generating a nice item listing on an
  X display.  You can put "ical -popup" in your ".xsession" file
  and get a little item listing window whenever you login.

* Items now have an "owner" field to indicate who created them.

* You can interactively change alarms for each appointment.

* Backspace now deletes the last character (just like the Delete key)

* If you delete an item you do not own, it does not actually get
  deleted.  It just gets hidden from your view.

* You can now control am/pm printing, and whether a week starts with a
  monday as opposed to a sunday.

* Support for eight-bit characters.

**** Released Ical 1.7b1 ****

* Various bug fixes

* Item text now word-wraps automatically.  An unfortunate side-effect
  of this change is that explicit new-lines in old items may make the
  items have excessive new-lines.

* Notices automatically expand and shrink as the text changes.
  Appointments will optionally not allow text changes that would
  result in overflow.

* More user preferences can be set while ical is running.
  - default alarm intervals
  - default early-warning behavior
  - the time range displayed in the appointment window
  - height of the notice window
  - width of displayed appointments and notices
  - whether or not appointments allow text overflow

* Dragging with the left mouse button held down in an appointment or
  notice sets the X selection.

* The "Insert Selection" entry in the Edit menu can now be used to
  "paste" the current X selection into an appointment or notice.
  The key "^y" invokes this operation.

* On monochrome displays, item selection is indicated by changing the
  border width of the selected item instead of reversing the colors.
  This change was made because reversed colors interacted badly with
  overflow text and X selections.

* Added command line options "-fg" and "-bg".

* The menus have been rearranged a bit.

* Added a print dialog to control printing.

**** Released Ical 1.7 ****

* Added highlighting options for items.

* Changed shut up button to say "No More Alarms"

* Cleaned up man-page formatting (thanks to john@civil.su.oz.au)

* Include user name in printouts

* Changed startup code so that more things get initialized when
  the ical shells start up.  Therefore the tcl startup scripts
  need less junk.  It also makes it easier to build various
  converters and other scripts that manipulate calendar data.

* Added a "contrib" directory.

* Added a script "ical2calendar" to convert from an ical calendar to
  an old-style calendar file.

* Made "dialog_wdays" obey Monday-first option.

**** Released Ical 1.8b1 ****

* The calendar view automatically switches to the next day at midnight.
  (But only if the view is displaying the current date.)

* Added script "icalexpire" to the contrib directory.  This script moves
  expired items from the user's calendar into an archival calendar.  Use
  it if ical uses too much memory or takes too much time starting up
  because there are too many expired items in your calendar.

* Reduced per-item memory requirements.

* Added date/time/time-range/item parsing routines to library.

* Added code to import the current selection as a new item.
  The item parsing code is used to guess the date and times for
  the new item.

* Added script "icaladd" to the contrib directory.  This script reads
  an item from the standard input and adds it to the user's calendar.
  The date and times for the item are extracted from the standard input
  if possible.

**** Released Ical 1.8b2 ****

* Added a "catch" in dialog handling code to ignore the frequent grab
  errors.

* Added hook mechanism --
	ical-startup
	ical-exit
	dayview-startup
	dayview-close
	item-create

* Removed vertical-layout options.  It is probably used very rarely
  and is easy to set-up via a hook.

	append-hook dayview-startup {view} {
	    pack .$view.al -side bottom
	}

**** Released Ical 1.8b3 ****

* Handle color allocation errors so they don't look like bugs.

* Handle infrequent Tcl syntax errors after reading a calendar file.

* Added "item-create" hook that is called on item creation in calendar
  window.  Use this to customize the initial state of new items.

* Allow hilite field to be extensible with more values.

**** Released Ical 1.8 ****

USER-VISIBLE CHANGES
* Repeating items
  - Added more ways for monthly repetitions
  - Cleaned up Repeat menu
  - Added dialogs for complex repetitions
  - Item listings now contain more detailed repeating item descriptions

* Added "Todo" items -- these propagate automatically to today every day

* Added emacs style editing of items.

* Added on-line help.

* Overflowed appointment text now has a background.

* Added documentation of some of the internals (see doc/interface.ps).
  This will be useful if you want to customize ical, or if you want to
  write scripts to manipulate ical calendars.

* Contributed code
  - Added contributed script "icaladdlines"
  - Added contributed code "timeofday.tcl"

* The "pollSeconds" option has been split in two -- "pollSeconds"
  and "saveSeconds".  The first option controls the frequency of
  re-reads.  The second option controls the frequency of saves.

  By default "pollSeconds" is bigger than "saveSeconds".

* The file selector was changed to not display ~ files by default.
  The "children" list was also made a little wider.

* Added more hooks
	dayview-focus
	dayview-unfocus
	dayview-set-date
	alarm-fire

* Adapted the ruler demo from the Tk demo set for selecting a set of
  alarm times.

* Added "Delete Selection" menu item.

INTERNAL CHANGES
* Ical can optionally be built as a single executable that contains
  all required tcl/tk files.  This allows people to copy ical binaries
  around from one machine to another without having to install Tcl/Tk,
  or without worrying about the location of ical's ".tcl" files.  Use
  the following method to build a standalone executable.

	make ical-bundle

* The ical library directory now includes the version number.
  Therefore different versions of ical will not trounce each
  other anymore.

* Lots of internal changes.  These will allow easier creation of
  calendar management scripts and ical customizations.  Plus some
  outright bugs were fixed.  The Tcl code cleanups are --

  - cleaned up menu creation
  - cleaned up dialog code
  - cleaned up key binding mechanism
  - moved most code out of DayView into "actions.tcl".
  - removed obsolete use of "pack"
  - added inheritance support to object system
  - made a subclass of ItemWindow to allow moving/resizing

* C++ code cleanups

  - C++ code now does permission checking and sets modified flags and
    generates triggers on item/calendar modifications.  This drastically
    simplified the tcl code for manipulating calendars and items.
  - added routine to collect all non-hidden items
  - Removed calendar slot from items.
  - Removed "length" sub-command for notices.
  - cleaned up date/time parsing code and moved into C++

* Bug fixes
  - handle invocations when the HOME environment variable is not set
  - Fix hangup that occurs on repeat_check/yes with fast typing into an item
  - Removed memory leaks
  - Do not use "gethostid" unless it really works.  (It was causing
    core-dumps on some HP machines.)
  - Supply "gethostname" routine for machines that do not have it.
    (Solaris is the only problem reported to me.)
