****************************************************************************
* Version 5.2                                                   7 Sep 2006 *
****************************************************************************

Additions
=========

* There's a new -errors option, which controls the maximum number of errors
  printed before giving up.

* New program in the 'contrib' directory: asciimapper.  This is a tool to
  create IFM maps from ASCII art maps, contributed by Elijah Griffin.

* The GNU Emacs ifm-mode.el in the 'contrib' directory has new commands to
  display maps, items and tasks and various other things.  Based on an
  initial version contributed by Lee Bigelow.

Changes
=======

* Several unused features which added needless complexity have been
  removed.  These are: preprocessing by gpp, expressions for real/integer
  values, and variable interpolation in strings.

* To reduce package size, the Vars library which IFM uses is no longer
  bundled with IFM.  You must install it separately, before building IFM.
  See the README file for where to get it.

Bug fixes
=========

* An obscure bug has been fixed which involved the 'follow' and 'need'
  attributes combined.  This caused some valid task orderings to be flagged
  as cycles.

* A bug with modification of room attributes has been fixed.

* Don't crash when trying to solve game and there are no rooms.

* A crash when trying to print an error message about cyclic task
  dependencies has been fixed.

****************************************************************************
* Version 5.1                                                  30 Nov 2004 *
****************************************************************************

Additions
=========

* The tkifm program now supports line numbering and syntax highlighting,
  thanks to a contributor who wishes to remain anonymous.

* There is now a man page summarizing the command-line options.

Changes
=======

* In PostScript output, up/down and in/out labels are now drawn separately,
  next to their respective rooms.  Also, if a link leaves a room and
  returns to the same room, it's drawn as a small circle.  Thanks to Dan
  Eble (eble@ticalc.org).

Bug fixes
=========

* Hopefully, the Windoze port should work properly now.

* Fixed weird bug with scaled arcs in PostScript output.  More thanks to
  Dan Eble (eble@ticalc.org).

* Fixed bug in ifm2tex with converting strings to TeX format (specifically,
  ones with embedded zeros).

* Fixed crash when using 'it' in some circumstances.

****************************************************************************
* Version 5.0                                                  23 Jan 2003 *
****************************************************************************

Additions
=========

* New map output: Fig format, suitable for viewing or editing with Xfig, or
  exporting to other formats.

* New utility program: ifm2dev, which pipes IFM output in Fig format
  through fig2dev repeatedly to write each map section to its own file.

* New utility program: ifm2tex, which converts Fig files to EPS and
  includes them in a LaTeX document together with tables of items and
  tasks.

* New task output: graphviz (dot) format, which dumps a task dependency
  graph.

* New 'keep with' and 'keep until' syntax for items, allowing items to be
  kept until certain tasks are done or certain other items are dropped.

* New room 'nodrop' attribute, indicating that no items should be dropped
  there.

* New task and item 'ignore' attribute, indicating that these things should
  be ignored when finding a solution.

* New task 'do' attribute, indicating that when a task is done, it also
  does one or more other tasks automatically.

* New option: -style, which sets global styles for all IFM objects.

* New option: -set, which lets you set variables from the command line.  To
  support this, the variable-setting syntax has been changed -- instead of
  a space separating the driver name from the variable, there's now a
  period.

* New -show option: 'maps', which lists all the map sections and their
  sizes.

* The -map option now accepts an optional list of map sections to print.

* There's a bunch of new variables to control things, including the overall
  behaviour of the game solver.

* IFM input is now "preprocessed", in a similar way to C programs.  As a
  result, the old 'include' and 'alias' features have been replaced with
  the preprocessor equivalents.

* There's a new 'require' keyword, which lets you say that a certain
  version of IFM (or later) is required for a map.

Changes
=======

* Changed implicit-link style behaviour -- the 'style' clause on a room now
  applies to both the room and the implicit link, so it's now independent
  of its position relative to the 'dir' clause.

* The command-line option `-debug' has been removed; its functionality has
  been replaced by a control variable.

* The old 'puzzle' and 'special' attributes have finally been removed; if
  you have any old maps which use these, you must replace them with the
  corresponding styles instead.

* Documentation is now distributed in HTML and PDF formats, instead of GNU
  Info.

* The GNU Emacs IFM mode in the 'contrib' directory now has font lock
  support.  The ifm.vim file has also been updated with the latest
  keywords.

Bug fixes
=========

* Fixed bug with room 'link' and 'join' attributes: it didn't work to use
  'last' as an argument.

* Fixed glitch in room text on PostScript output: now tries reducing font
  size before squishing, so that text is filled better.

****************************************************************************
* Version 4.1						       10 May 1999 *
****************************************************************************

Bug fixes
=========

* Fixed minor task bug -- in special cases, giving items caused solver to
  fail to find newly-opened paths.

* Fixed stupid blunder with DOS \r characters in one of the source files.

* Fixed core dump problem when reading colour definitions (on FreeBSD, at
  least).

****************************************************************************
* Version 4.0						       21 Apr 1999 *
****************************************************************************

Additions
=========

* PostScript driver can now print in colour.

* New 3D room shadowing effect on maps.

* Many new output variables to control new map features.

* Variables can now be set via expressions, not just values.  Variables can
  now be used to customize many aspects of the input (e.g. notes, repeat
  counts).

* Individual parts of the map can now be customized using 'display styles'.

* New 'include' syntax, which allows files to include other files, either
  explicitly or via a path search.

* New -include (-I) option to prepend directories to the search path from
  the command line.

* New -show option to show various things (defined variables, search path),
  also included in tkifm menus.

* More information is now printed in item lists -- which tasks require an
  item, which tasks an item requires, etc.

* Some example maps are now bundled with IFM, in the 'demos' subdirectory.

Changes
=======

* Names and defaults of many output variables have been changed in order to
  make them more consistent.

* Extra complexity in variable syntax has been removed, as it wasn't being
  used.  Specifically, variables can't be set according to type of output
  or per-map-section any more, only by output driver.

* Removed formatted man page documentation -- now only Info, HTML and text
  documentation is distributed.  If there are enough complaints, I'll put
  it back.

* The 'puzzle' and 'special' attributes are now obsolete -- they're
  replaced by display styles.

* Tkifm now redisplays old map windows when refreshing the map.

* Win32 version is now compiled with Cygwin b20, and so requires
  cygwin1.dll (not cygwin.dll) -- included in the distribution.  See
  README.win32 for details.

****************************************************************************
* Version 3.0						        1 Oct 1998 *
****************************************************************************

Additions
=========

* There's a new program 'scr2ifm' in the distribution, which attempts to
  convert a game transcript into IFM format.  It's a perl script, and gets
  installed on Unix-type systems if perl is detected.

* New 'nolink' attribute for rooms, which suppresses generation of an
  implicit link between this and the previous room.

* New 'nopath' attribute for rooms, links and joins, which stops those map
  connections from being used by the game solver.

* New task 'cmd none' syntax, for tasks that don't need any special user
  commands (e.g. visiting a room for the first time).

* New PostScript variable 'link_arrowsize', which allows you to change the
  size of arrowheads on one-way links.

Changes
=======

* tkifm is now installed automatically on Unix-type systems if wish (or one
  of its namesakes) is detected.

* tkifm now shows busy-cursor when doing something CPU-intensive.

* Improved solver failure messages, which give more information about
  what's wrong.

* Removed PostScript documentation from distribution.

* The 'times' keyword is now obsolete (but still works, for compatibility)
  -- just the repeat count is used instead.

Bug fixes
=========

* Fixed bug with 'drop all except' clause -- was treating it as just a
  simple 'drop' clause.

* Fixed bug in task path calculation -- didn't always choose the best route
  between rooms.

* Linking a room to itself with no 'dir' clause now results in an error,
  instead of failing mysteriously at the map-drawing stage.

* Minor fixes to make installation smoother on FreeBSD.

****************************************************************************
* Version 2.1						       26 Aug 1998 *
****************************************************************************

Bug fixes
=========

* Fixed bug which caused some types of variable not to be set properly.

* Minor fixes to library functions to link properly under Solaris.

****************************************************************************
* Version 2.0						       19 Aug 1998 *
****************************************************************************

Additions
=========

* Lots of new keywords for use by the game solver, which has been
  considerably enhanced.

* New commands to modify previous definitions, which allow you to keep all
  game hacks in one place.

* New 'show_tags' variable, which toggles addition of room tag names to
  room descriptions.

* New -debug command-line option, which gives the gory details of what the
  game solver is up to.

* New recording output, which can generate commands to play back in
  interpreters.

* Package now has a test suite.

Changes
=======

* Links and joins can now be 'hidden' -- which means they're used only for
  task purposes.

* Removed groff output -- it's not worth supporting any more, now that
  PostScript output works so well.

* Text task output now prints details of the rooms you move through to get
  places, including directions moved in (or commands typed to move that
  way).

* PostScript driver now has some standard page sizes.  Also there's a
  variable 'page_rotate' which can override the default decisions on
  whether to print landscape or not.

* Having no rooms defined is not an error any more, in order to placate
  tkifm.

* Changed list attributes to be cumulative, instead of overriding previous
  value.

* Variables can now be set to 'undef', which allows their default setting
  to reappear.

* Various tkifm enhancements to make it convenient to use your preferred
  editor.

* Unix version now uses GNU autoconf/automake for installation.

Bug fixes
=========

* Got tkifm save-as option to set current filename properly.

* Stopped 'outside grid' warnings from causing tkifm to fail when drawing
  map.

* Library function now doesn't clobber read-only strings.

****************************************************************************
* Version 1.0						       11 Jun 1998 *
****************************************************************************

* First release.
