Versions prior to 1.6 - Versions prior to 1.6 were still in the alpha
development stage, and history notes were not maintained.  These notes
may not be comprehensible to you, they were designed to document the
changes I made along the way, and often refer to internals of the 
program.  It is included in the distribution for completeness.

Version 1.60 Alpha (sometime in May 1994)

   - I thought that at this point, it was ready to be tested on TSCNET
	for the first time.  I needed to make sure that the file routines
	would work with the network with more then 2 users.  It went on-line
	for about 2 hours.  (There were many minor bugs, and major problems
	with file sharing across the network that did not appear on one
	machine running Desqview).

Version 1.61 Alpha

   - Added More Error Checking for file opens/reads/writes.

   - Fixed problems with command parser.

   - Expanded Help functions to include help on individual commands.

Version 1.62 Alpha

   - Added /PAUSE command and heap to place coded records recieved while
	paused.

Version 1.63 Alpha

   - Added Line Wrap during text input.

Version 1.64 Alpha

   - Added Commands: /STATUS, /IGNORE, /MONITOR

   - Corrected colors by adding function that always reverse the color back
	to white following text output.  That way the imput color is always
	white.

   - Corrected a problem with text input line wrap.

Version 1.65 Alpha

   - Added even more file open/read/write error checking.

   - Corrected minor spelling errors.

Version 1.70 to 1.72 Beta (6/4/94)

   - Started full Beta process

   - Corrected various minor bugs.

   - Moved various code around to try to improve speed.

   - Move various code around to minimize the time that files are kept open.

   - Fixed a problem where I was calling a string building function that
	required a NULL to be the last parameter.  I was missing the NULL,
	and so garbage was being displayed to the user when the string was
	being printed.  Verified that all calls to this function ended with
	a NULL, and found several more in error.

Version 1.73 Beta (6/7/94)

   - Scraped the stream file functions and most of the previously installed
	error checking in favor of the lower level file I/O functions with
	manual file locking.  (Greatly increased speed by lowering the size
	of file requests).

   - Corrected another line wrap function caused by the correction in version
	1.64 Alpha.  Also had to alter the command parser because of this
	change.

Version 1.74 Beta (6/8/94)

   - Corrected a bug where if a user tried to take ownership of a channel,
	and it was owned by someone else, it would report that node 0 owned
	the channel instead of the correct channel owner.

Version 1.80 Beta (6/9/94)

    - Improved Source Code Documentation.

    - Added code for the configuration file.  The program will now read the
   	configuration file for the following values:

	BBS NAME  (Name of BBS)
	Registeration Code (Registeration)
	Chat file Path (Path to the CHAT.DAT file)
	Help file Path (Path to the Help Files [.CHF])
	Action file Path (Path to the Action Files)
	Finger file Path (Path to the finger data)
	Check Interval (Interval with which to check the data file)
	High Always Public Channel (High always public Channel)
	Chat File Coded Records (# of fixed length coded records)
	Sysop Security (Sysop Security Level)

   - Added the following commands to the command parser: /TERM, /GIVE,
	/TOPIC, /UP, /ONE /HIDE(sysop).  These are active in the parser,
	but are not implemented yet.

   - Fixed a problem where if the file was locked at the same time that
	it was being checked for text while you are typing, it would give a
	network delay right in the middle of your text.  Since this check is
	not critical, if the file is locked during this check, it is skipped.

   - Added code to prevent a blank (empty) record being sent if the command
	is PUBLICTEXT or PRIVATETEXT.  This keeps users from sending blank
	lines by just hitting enter.

   - Overrode the PCBoard ToolKit's default file error handler and modified it
  	to delay longer before giving the user a Network Busy message.  It
	will now recheck a locked file every 1/4 second for the first 2 
	seconds and then delay for 1 second for 8 more seconds.  Only then
	will it display the network busy message and conduct retries for 
	the network timeout on re-tries period.

Version 1.81 Beta (06/11/94-06/21/94)

   - Corrected a problem with the string handling in while processing the
	text read from the configuration file.  This could have caused a
	problem, but it didn't with the default values I used for testing.

   - Added the channel mode ONE-ON-ONE.  The /ONE command is now working, and
	the channel is properly made PUBLIC, PRIVATE, and ONE-ON-ONE.  Also
	modified the /INVITE and /CALL commands to check to see if there are
	already 2 people on the channel and if so, give an error message.

   - Modified the joinchannel code so that if the channel is ONE-ON-ONE, then
	it will see if there are already 2 people there.

   - Modified the /SHOW command and function to show ONE-ON-ONE channels.

   - Modified the /SHOW command and function to show who is the channel
	owner by putting a '*' next to the node number.

   - Got the One-On-One mode working.  Will not currently process Backspaces
	or do line wrap properly.  Also each keystroke will create an
	attempted channel file access; will want reuse a timer to keep file
	accesses limited to a predefinable value (say every second).

Version 1.82 Beta (06/22/94)

   - Corrected backspace processing in one-on-one mode.

   - Corrected Line Wrap processing in one-on-one mode.

   - More work on the One-On-One Mode.  Added the code to do file accesses
	based on a timer instead of attempting a file access at every
	keystroke.  This, of course, promptly broke the backspace and line
	wrap.

Version 1.83 Beta (06/24/94)

   - Corrected the backspace by checking to see if there is a pending write
	or not.  (i.e. do we need to send a BS to the channel file, or just
	change the local buffer).

   - Corrected Line Wrap in the same manner, but something is still subtley
	wrong.

   - Added Color and cursor positioning similar to that in the original
	PCBoard chat module.  There are still some problems with this, and it
	needs a full debugging session.

Version 1.84 Beta (06/29/94)

   - Continued Work on One-on-One mode.  Added a special print function for the
	one-on-one mode.  Cursor positioning on the remote end still does not
	remain in sync with local screen.

Version 1.85 Beta (7/3/94)

   - Added cursor positioning functions that move the remote cursor using
	relative rather than absolute coordinates.  This corrected the problem
	with the remote screen not syncing with the local screen in the 
	one-on-one mode.

Version 1.86 Beta (7/11/94)

   - After a long debugging session, fixed the one-on-one mode and associated
	line wrap.

   - Changed code so that the channel file is deleted when a one-on-one chat
	is concluded (Made Public, Made Private, or Both partys departed)

   - Fixed /IGNORE so that a node can now be correctly "Unignored".

   - Added /GIVE command, allows the channel owner to give ownership to
	another node in the same channel.

   - Modified the joinchannel function so that if you are already on the
	channel that you requested, it will tell you so.

   - Added the /WHOIS sysop command.  This command will show a sysop info
	about another chat user.  Also modified the /QUERY command.  Both of
	these will now get a response from another node even if coded records
	are going to the heap on that node.

   - Added pauses (while in the /PAUSE mode) to the /SHOW and /WHO displays.

   - Added /FINGER Command.  /FINGER shows the finger infomation that is
	saved when using Brad Dameron's PROFILE (FINGER) PPE.  /FINGER LIST
	will show all users who have entered finger information.

Version 1.87 Beta (7/12/94)

   - Modified the /FINGER command so that if the configuration file setting
	FingerPath= is blank, and a user issues the finger command, it will tell
	him that "finger is not installed on this system."
 
   - Modified the /FINGER LIST command so that it recognizes the pause
	status and pauses (while putting coded records to heap).

   - Added Configuration file option ChannelFileCheckInt= which establishes
	the period of time between reads or write to the channel file in the
	one-on-one mode.  This value is clock ticks rather than seconds.  The
	default value is 18 (1 second).

   - Modified Configuration file option ChatFileCheckInterval= to be in
	clock ticks vice seconds.  The default value is 91 ticks (5 seconds)
	{TICKS = (int)(Seconds * 182 / 10)}

Version 1.88 Beta (7/15/94)

   - Completed Work on actions.  See documentation for implementation details.

   - Made Minor changes to color scheme.  (Public text is now a differenct
        color than the node number and name that sent it).

   - Corrected CHAT.PPE to properly handle the CHANNEL.TMP file that is
        created by the CHANNEL.PPE when a page request is recieved.  This allows
        you to page someone into a channel that is already private.

   - Added a check against the users remaining time that will let them know
        each minute less than 5 remaining that there will be an auto disconnect
        in x minutes, and when thier time reaches 0, they will be logged off.

   - Changed logoff processing so that if you use /BYE or run out of time,
        chat is exited with an ERRORLEVEL of 1, which is then returned to the
        CHAT.PPE, and it will then log the user off.

Version 1.89 Beta (8/20/94)

   - Corrected a bug in the give channel command.  If the /GIVE command was
        without a parameter, and then nothing was entered at the prompt, the
        user using the command would fill all open slots in the channel.

   - Added support for the 'H' status in the USERNET.XXX file.  This is the
        Handling Mail code available in PCBoard 15.2  (This does NOT mean
	that 15.2 is required, the code will still work with 15.0 and 15.2)

   - Added the code to support registered and non-registered versions of the
        chat program.

Version 1.90 Beta (8/28/94)

   - Corrected a bug in the WHO display. If pause mode was on it would cause a 
        File Not Open Error.

   - Corrected the Node up status to show only if a node is actually waiting 
        for a caller.

   -  Added /INFO command. This will give the user information about the chat 
        and where to get updates or send request's for new additions.

   -  Changed the way it displayed the list of actions. Used to display 5
        actions wide. Now display's 6 wide..

   -  Changed the Registration information a bit.

   -  Attempted to totally debug the One-on-One mode. Will spend a few days
        debugging the heck out of it.

Version 1.91 Beta (9/18/94)

   - Corrected a problem that would not allow a person in SysOp mode to kick the
       owner of the channel off the channel.

   - Corrected One-on-One mode problem's. Need to test this thoroughly.

Version 1.92 Beta (9/27/94)

   - Temporarily disabled the give command until i can find the bug in it.

   - Corrected a problem with users not being able to call in the Public Always
       Channel's

   - Fixed a problem with the PPE that initiate's the chat. It was not reading the
       USERS.SYS when it returned thus giving keyboard timeout's.

Version 1.93 Beta (10/31/94)

   - Corrected a problem to where if a person was in SysOp mode on a One-on-One
       channel and there were already 2 people in One-on-One and they used
       the FORCE command to force another user into there channel it would
       cause that user being FORCED to go into a never ending loop.

   - Corrected the /GIVE command for the finaly release.

   - Went through and corrected as many spelling error's as possible.

Version 1.94 Beta (11/14/94)

   - The bug with the /GIVE Command that would cause the users name
	to occupy all blank spots in the channel has been located and
	corrected.  Therefore, the command has been re-activated.

Version 1.95 Beta (11/16/94)

   - Added Channel Topics, the /TOPIC command, and the TOPIC.CFG file
	for predefined topics.

   - Changed the functionality of the /LIST command.  This command will
	now list all channels in use or that have topics.  Additionally
	it will also show the number of users in the channel.  This
	was part of the original design of the program and that's why
	the /LIST command was in previous versions (although before it
	was the same as the show command).

   - Added a configuration file option called 'PathToLogFiles=' that will
	define the location for storage of the log files.  The /LOG command
	is comming, but is not yet implemented.

   - Added the configuration file option 'InactivityTimeOut=' which
	defines the time in minutes before a caller will be disconnected
	due to keyboard inactivity.  In prior versions, this was hard
	coded to be 30 minutes.  (Not fully implemented yet.)

   - Added a sysop command /CONFIG that displays the configuration file info
	as it was read from the configuration file.  This info was
	previously available by using the /DEBUG command, but has been
	moved to a command of it's own.

   - Changed the Configuration file processing so that it is not necessary
	for the path to end in a '\', it it's missing, the program will
	now add one.

   - Corrected the /NOTIFY command.  The command was not correctly
	intercepting the fact that someone was exitting.  It now does.


Version 1.96 Beta (11/24/94)

    - Fixed a problem with the /WHO diisplay that was incorrectly displaying
	nodes that we marked in the USERNET.XXX file as up with the up status
	flags, but had a status code of 'Z' (Off-line).

    - Added text that is displayed to another user when the channel owner /
	sysop removes the channel topic.

    - Modified the text displayed when someone changes the channel topic so
	that if it will fit on one line it is put on one line, but if it
	doesn't fit on one line, iit put the topic on a line of it's own.

    - Fixed a bug that made the color not switch back to white following
	a topic changed message.

    - Completed the code for the InactivityTimeOut setting the the 
	configuration file.

    - Corrected a bug that if there was a path listed in the configuration
	file for the TOPIC.DAT file and there was actually no file, the
	program would try to open an non-existant file issue an error message.

    - Added the code for the /TERM command, which allows a user to view /
	change his terminal mode (ANSI/GRAPH/RIP).

    - Added an option under the /TOPIC command that if the user is in the 
	Sysop mode, it will ask if the topic should be protected.  Protected
	topic could previously be made in the TOPIC.DAT file.  Thiis command
	does not change the contents of the TOPIC.DAT file, and proteced
	topics will disappear if the chat data file is re-created, unless
	they are placed in the TOPIC.DAT file.

Version 1.97 Beta (11/26/94)

    - Fixed several very minor bugs.

Version 2.00 (11/28/94)

    - First public non-beta release.  This release is the second public
	release, this one is the first non-beta release.  The code should
	be quite stable.
