Notation for relases pre-1.4.0 beta is not particularly accurate, and
sometimes changed code was released without updating version numbers.
I don't do this any more.
Only the most recent version will have detailed changes described.

3.0.0
-----
Installation is easier than ever.
Added examples directory.
Added conditional programming constructs: /if, /then, /elseif, /else, /endif.
Added loop programming constructs: /while /do /done, /for, and /break.
Added variables (local, global, and environment).
Added /set, /setenv, /unset, /export, and /let commands for variables.
Added math and string operations with $[...] and /test (see "expressions").
Added command substitution with $(...) (see "expansion").
Added /toggle, /expr, /:, /ismacro, /first, /last, /cd, /pwd, and /man.
Added hexadecimal and octal ascii backslash substitutions and keybindings.
Added LNEXT (^V) key function, to quote next typed character literally.
Allows macros to override builtin commands.  Use "/@name" to call builtin.
Added CONFLICT and SHADOW hooks.
Wrapping in logs can be enabled by turning on the "wraplog" variable.
Supports telnet GOAHEAD and EOR commands at end of prompts ("/lp on" is no
  longer required on servers which support this.)
Much improved handling of LP/Diku prompts.
Multiple '/'s in macro expansion are no longer required.  Turn off "oldslash"
  variable to disable all special processing of '/'s.
Added '\' escape character to macro expansion.  Warning:  may break old macros
  with '\' in the body; turn off "backslash" variable to use old behavior.
Hilites can be defined at runtime as bold, reverse, or any other attributes
  by setting the "hiliteattr" variable.  Removed HILITE_BOLD compile flag.
Mail checking can controled at runtime with "maildelay" and "MAIL" variables.
Added RESTRICT options for secure public installation (see README).
Replaced many builtin commands and compile-time options with library macros
  and runtime variables.
Using RECALLB and RECALLF (^P and ^N) will not erase current line.
Better support for /visual on wimpy terminals (no "cs" or "ce" termcap entry).
Supports nonblocking connect on BSD 4.3 Reno and later systems.
Expands tabs from mud and in /quote and /load input.
Handles changes in window size during /sh and suspension.
Correctly handles shell i/o redirection in "/quote !".
Added -n option to /send.
Better handling of spaces with wrapping and /wrapspace.
Fixed substitution of "normal" macros of the form "world_*".
Fixed bug in using /world or other commands in CONFAIL hook.
Fixed bug in using /world in configuration file.
Disabled /quiet when autologin is disabled.
Fixed redraw bug in nonvisual mode when gagged line is (not) printed.
Improved efficiency.
Bug fixes.

2.1 beta 2
----------
Bug fixes

2.1 beta 1 (9/22/92)
--------------------
Added BAMF, SHELL, and LOGIN hooks.
Added logging by world, with "-lig" and "-w[<world>]" options to /log.
Hooks are more like triggers:  multiple hooks, argument patterns, priority.
The helpfile, ~/.tfrc, and files read by /load may be stored compressed.
Keybindings are now macros.  Added "-b" option to macro commands.  Replaced
  builtins with macros: /keys, /listbind, /purgebind, /savebind, /loadbind.
Fixed nonblocking connect.
Added redirected output for /quote and /repeat with -w option.
Added "/world <host> <port>" semantics.
Added local command quoting (/quote `).
Improved argument substitution:  %{} syntax, orthogonal default values.
Added -f<file> command line option.
Added /retry to library.
/repeat and keybinding bodies go through macro expansion.
Replaced /loadworld builtin with standard macro.
Added multi-shot triggers and hooks.
Macros stored internally in hash table.
Improved standard library and helpfile.
Bug fixes: sockmload after /dc or connection closed; /quiet for background
  sockets; watchdog and watchname; transmitting to failed connecttions.
Removed /stty.
Removed need for -DHPUX.

2.0 beta 2 - 7
--------------
Bug fixes

2.0 beta 1 (7/8/92)
-------------------
Made installation easier and automated
New command line syntax:  removed '-', added '-fln' options
Added standard macro library
Added hooks (and commands /hook and /unhook)
Added background triggers, and /background
Added world-specific triggers (/def -w)
Added /list (with new format and -s option), /load, /save, /purge, and /send
Added -a and -w options to /echo
Added underline, reverse, flash, dim, bell, and norecord attributes
Added -i invisible macro option
Added /input (useful for inline keybindings)
Added world histories, local history, global history, and /recall -lig
Nonblocking /more
Nonblocking world connections
Filenames defined with BINDFILE, HELPFILE, LOGFILE, and WORLDFILE macros
Added command menu at ^C (exit, borg off, kill processes)
Replaced builtins /loaddef, /loadhilite, /loadgag, /loadtrig, /savedef,
  /savehilite, /savegag, /savetrig, /listdef, /listhilite, /listgag,
  /listtrig, /purgedef, /purgehilite, /purgegag, /purgedeft, and /purgetrig 
  with (invisible) standard library macros
Removed /tinytalk, /intr, /intrborg, /refill, /core, and /activity
/bamf on assumes UnterMUD portals; use /bamf old for old-style bamfing.
/listworlds doesn't display passwords unless given -c option
Bug fixes and optimizations

1.5.5 beta3
-----------
Bug fix

1.5.5 beta2
-----------
Bug fixes for time.h, killing /repeats, etc.
Fixed /ps output

1.5.5 beta1
-----------
Autologin support for untermud cyberportals, with '/bamf unter' command
Removed /listbind, /act, /reply, /nointr, /nowrap, /nostty, /nolog,
 /nologme, /nologin, /noquiet, and /qctries
Flags /stty, /log, /logme, /login and /quiet do not turn on when called
 with no arguments.
Expanded /ps and /listsocket output
Imporoved effeciency of keyboard processing and macro expansion
Eliminated busy-wait in /more, /shpause, and Yes/No queries
Command quotes use pipes instead of temp files, and capture standard error
Removed -DIRIX and -DMANUAL_SWITCH compile flags

1.5.4 beta1 (8/20/91, by Ken Keys)
-----------
Added activity notice for non-current worlds, /activity to enable or disable it
Improved /more paging
Increased sizes of command and socket recall buffers
Fixed bug in matching (illegal) patterns of the form "x{y}"
With /intrborg on (default), ^C will query to turn off /borg.
Removed extra iteration from /repeat loop (thanks to OliverJones)
Improved mail check
Ascii code subs of form "\nnn" are done where ever newline subs are done
Replaced SUPPRESS_REDEFS compile-time option with "quiet" option to /redef
Added TINYPREFIX and TINYHELP environment variables
Default priority for hilites and gags is 0, other triggers 1.
Added logging flag to status line

1.5.3 beta1 (5/4/91)
-----------
Added in Madwand's TF status patch
Fixed portals and erroneous portal format in tf.help
Fixed -DOLD_LPPROMPTS option
The <world name> line will be displayed only if -DLOUD_WORLDS is defined.
 
1.5.2 beta5 (3/9/91)
-----------
Fixed a bug with macros deleting themselves
Fixed a bug with triggers doing /dc
 
1.5.2 beta4 (3/5/91)
-----------
Recursion maximum in expand.c
Added support for AT&T WINS
Added -DREFRESH_TIME
/stty on is default
 
1.5.2 beta3 (2/28/91)
-----------
Process handling changed
 
1.5.2 beta2 (2/24/91)
-----------
Bug fix
 
1.5.2 beta (2/23/91)
----------
World macro files changed
Removed /purgewload, added /sockmload
Compile-time options: -DSUPPRESS_REDEFS and -DSNARF_BLANKS 
Off-by-one bugs in ^N and /watchdog
Setting off a bound key resets the count for the pager
Descriptor leak in /kill

1.5.1 beta4 (2/15/91)
-----------
Bug fixes

1.5.1 beta3 (2/13/91)
-----------
Bug fix

1.5.1 beta2 (2/12/91)
-----------
Bug fixes
/more paging is slightly different in visual mode

1.5.1 beta (2/8/91)
----------
Bug fixes

1.5.0 beta2 (2/2/91)
----------
Bug fixes

1.5.0 beta (2/2/91)
----------
Removed /dbs, /packet, /clunused, /bs, /cursopt, /hn, /techo
Added /mecho, /bind, /unbind, /listbind, /savebind, /loadbind,
      /dokey, /grab, /cat, /trigger
Added /sub full option
Expanded /recall format
Allowed quoting out of history buffer
No string maximum lengths
Added %L, %-L, %R, %E argument subs, and default args
Added [] and {} pattern matching
Added mail checking

1.4.17 beta (12/10/90)
-----------
Bug fixes

1.4.16 beta (12/10/90)
-----------
Nothing external

1.4.15 beta (12/9/90)
-----------
Bug fixes
Macro arguments no longer undergo reentrance substitution.
Added one-shot triggers
Added argument grouping by single and double quotes
Changed default editing keys

1.4.14 beta (12/8/90)
-----------
Bug fixes
Added multiple character key sequences
"/world -<name>" will do a /world without logging in.
Disconnecting will move to the top world if there's worlds left.
Added individual time arguments for /quote and /repeat

1.4.13 beta (12/4/90)
-----------
Bug fixes
Removed /sendtries
/world_* substitutions expanded to work everywhere macros do
Removed /fastquote
/ptime now works in milliseconds and is a definite value

1.4.12 beta (12/1/90)
-----------
Bug fixes 

1.4.11 beta (11/30/90)
-----------
Bug fixes
Added default arguments
Expanded %n lastname substitution to macros from triggers.
/tinytalk flag expanded to work with /nogag and /nohilite.
Rewrote output drivers.
Corrected helpfile.

1.4.10 beta (11/26/90)
-----------
Bug fixes
Rewrote helpfile
Changes to docs file
Expanded default world fields to include macro file
Allowed worlds to leave out char and password even if there's no default.

1.4.9 beta (11/24/90)
----------
SIGSEGV, SIGBUS, SIGQUIT handlers
Added /world_* subs

1.4.8 beta (11/24/90)
----------
Bug fixes

1.4.7 beta (11/24/90)
----------
Bug fixes

1.4.6 beta (11/23/90)
----------
Bug fixes

1.4.5 beta (11/23/90)
----------
Bug fixes
Added /qecho (echo /quote text before sending)

1.4.4 beta (11/23/90)
----------
Bug fixes
Added /quitdone flag quites upon disconnection from last MUD.
Changed default location of helpfile to ~/tf.help

1.4.3 beta (11/22/90)
----------
Bug fixes
Added /purgeworld

1.4.2 beta (11/22/90)
----------
Bug fixes

1.4.1 beta (11/22/90)
----------
Bug fixes
/tinytalk flag expanded
Added /lp (display partial lines)
Added /lpquote (wait for "*^H" before doing /quote and /repeat processes)
Added /more flag (does paging).
Expanded /keys to twelve keys (recall and socket keys being additional)
Changed /keys to use things like "^b" or "E-^x" instead of "2" or "E-24"
Removed /crypt.

1.4.0 beta (11/18/90)
----------
Bug fixes
Changed /world to work more intelligently with multimudding

This is the last time a version was released with code changes without
 updating the version number.

1.4.0 beta (11/17/90)
----------
Renamed /clear to /clearfull (and made it somewhat obsolete).
Added /cleardone (clear rather than scroll when you hit <return>).
Changed input window handling to scroll upon <return>.
Added input window arrow keys
Added /keys (reconfigures editing keys)
Removed /pf.
Added macro file field to /addworld
Changed ^P and ^N keys to [ESC]P and [ESC]N
Added multi-mudding, with [ESC]B and [ESC]F
Added /dc (disconnects from current world)
Added /listsockets (lists current sockets)
Allowed running Fugue without connecting
Represented tabs as '@' to make tab handling work

1.3.0 beta
----------
Added /shpause (wait for keypress before returning to Fugue after shell)
Added /addworld, /noworld, /saveworld, /loadworld
Allowed config file to begin with commands
Changed /savedef to save only macros without triggers
 (/savedef, /savetrig, /savehilite and /savegag thus have no overlaps)
Added /clunused (removes the input window when there's no text waiting)
Changed /quote to work without alarm()
Added /ptime to determine max. microseconds to wait between quote lines
 when /fastquote is on
Added /qctries (max number of seconds to attempt to open temporary file
 for a command quote).

1.2.6 beta
----------
Bug fixes
Trigger functions work on basis of hilites first, then gags, then nothing
Expanded /stty to check window size
Added /packet (waits until 512 chars of output are available before sending
  off packets).
Expanded /tinytalk to cause /stty, /log, /logme, /login and /quiet flags
  to turn on when called with no arguments.

1.2.5 beta
----------
Bug fixes
Changed /edit to allow specifying macros by name ("#<num>") or trigger
 ("$<trig>").
Added -DHARDCODE and non-termcap compile modes

1.2.4 beta
----------
Changed /echo to do local echo
Added /kecho (echoes keyboard input)
Added /techo (echoes trigger input)

1.2.2 beta
----------
Added /tinytalk (some tinytalk compatibility)
Added /no<flag> commands

1.2.1 beta
----------
Bug fixes
Added /visual (determines whether to use visual mode)
Added /gpri and /hpri (set priority of subsequent hilites and gags)

1.2.0 beta
----------
Changed code organization
Added -f switch on /def for function
Added /trig, /trigp, /trigpc, /trigc, /act from TF 1.1.2 and tinywar
Changed /listdef command to use switches.
Allowed unnamed macros
Added /untrigt, /undeft, /purgedeft
Added /hn command (removes blank line between output and divider by
 holding newlines)

1.1.5 beta
----------
Bug fixes
Removed /nointr, /nolog, /nostty, etc.
Added /sh back in
Added /sub (determines whether to substitute newlines and crypts)
Added /refill (refills screen upon redrawing)
Added /edit (changes /def without redefining)

----------

The differences section only applies to things that need to be changed
or are not implemented in TinyFugue.  Tf offers a lot more functionality
in many areas than the clients below, of course.

-------------
Differences from TinyTalk (Tarrant's client)
-------------
Compatibility is almost complete.  All .tinytalk files should work
with Fugue.  The /tinytalk flag (defaults to on) makes the necessary
changes to convert between tinytalk command formats to tinyfugue
command formats.

-------------
Differences from TinyWar (Grod's client)
-------------
Use /sub on to substitute %; and %\ for newlines in regular text
%n works only in macros and triggers, and in /sub full mode
/crypt and /random removed
"%2*" argument sub should be replaced by "%-1"

