   NOTE: - Beginning with this release (3.00) compatibility with PCB 14.5
           is no longer maintained. PCB 15.0 is required. Support for
           the OLDINDEX switch is still provided.

   NOTE: - As of this level, Kmail has been fully converted to use the
           new .IDX file format. It will, however, still maintain the
           older .NDX files if the DOS environment SET PCB=/OLDINDEX is
           present *OR* on a conference-by-conference basis as indicated
           by the individual conference "maintain old NDX' switch.

           This switch can be found in PCBsetup by selecting a conference
           and then pressing PgDn to get to page two of conference setup.

           It is not necessary to specify any form of NDX support unless
           you have other 3rd party software that still requires it.

   NOTE: - Due to problems in the comm library this version does
           not support the FOSSIL interface.

KM300l   - 12/05/93 - Level 'l' of this beta series.

l|       - Added additional option to attached file processing to allow
 |         callers to receive attached files addressed to someone else.
 |         See sample CFG file, default changed from Yes to No and now
 |         includes an All option.

l|       - Now logs error info to $door.err file during ATTACHED file
 |         processing. (trying to determine why some files not included
 |         in the qwk packet.
 |
 |       - Diagnostic info is now written to caller log to help
 |         determine if the PCBSTUFF command is working correctly on
 |         multi node systems.

k|       - Added checking for the conference specific "Force Echo" flag.
 |         This will allow R/O messages imported from Internet to be
 |         downloaded by network sysops if they are otherwise authorized
 |         to download R/O messages via the Qnet_Private=Yes parameter.
 |
 |         The problem was that the internet messages did not have the
 |         echo flag set in their message headers and therefore could
 |         not be downloaded by network sysops.


j|       - Level 'h' exposed a problem in dealing with messages imported
 |         from InterNet... an unexpected date format was being used.
 |         Instead of mm-dd-yy, they are using mm-ddyy. (look closely
 |         and you will see that the 2nd dash is really the long narrow
 |         line used to draw boxs).

i|       - Additional checking to prevent a Range-Check when using
 |         the 'K' command.

h|       - If a message was re-edited in PCBoard and the added text
 |         caused PCB to relocate the message because it would no
 |         longer fit in the original location, Kmail would sometimes
 |         get out of sync resulting in missed messages and the
 |         last-read pointer would be reset to zero or the lowest msg
 |         in the conference.

g|       - Added support for ARJ compression. Suppport is automatic
 |         even without changes to the CFG file. See sample CFG for
 |         the default values.
 |
 |       - Altered attached file processing to allow the sysop to
 |         receive files in messages addressed to all or anyone.

f|       - Lockup processing a REP file. Problem was caused by not
 |         properly detecting eof when reading the NETWORK.DAT file.
 |
 |       - Added additional error checking during copy of attached files.


e|       - Increased stack allocation.
 |
 |       - Made adjustments to Attached File processing to allow the
 |         OLX mail reader to detect attached files in the mail packet.
 |
 |       - Increased maximum message size to 200 blocks.

d|       - Attached-File processing. Ok, let's try this and see what
 |         what happens. If enabled by the sysop and selected by the
 |         caller, Attached-Files to a specific person will be included
 |         in the mail packet. Attached-Files within messages addressed
 |         to ALL will not be processed.
 |
 |       - The Attached-File option for the caller is located under
 |         the (E) - Extended Options selection.
 |
 |       - Disabled overlay swapping to EMS memory to see if that
 |         will help clear up a couple of flakey problems. Swapping
 |         is now performed to disk only.

c|       - Due to some reorganization, the QNET status flag was not
 |         being read soon enough which effectivly caused the QNET=
 |         parm to be ignored. This resulted in an internal default of
 |         300/1500 message limit for 9600 and higher callers.
 |
 |       - Info from DSZ.LOG now posted in caller log file.

b|       - TAG lines were being truncated and converted to upper case.

a|       - Added support for up to 9 unique network tag lines.
 |
 |       - Removed the RO1, RO2, and RO3 parms from the cfg file. These
 |         parms had been used to specify read-only conferences. This
 |         information is now taken from the CNAMES.ADD file.


KMAIL299 - Not Released
KMAIL298 - Not Released
KMAIL297 - Not Released

KMAIL296 - 07/17/93

         - System lockup have been reported at the 'j' beta level.
           Re-compiled using ProKit libraries that were in effect at
           the 296g beta level.

         - Increased the maximum message length to 192 message blocks.

         - Fixed a runtime error after an aborted download because the
           kwork directory was not cleaned out properly.

         - Qnet status was not always enabled for private conferences.

         - Added additional carrier-loss checks in conf selection routine.

         - Removed fossil support since it has never worked correctly.
           Will readd it later pending an update to ProKit.

         - Removed experimental call to PCBPack which should not have
           been compiled into the public version.

         - Similar (again) to the problem fixed in level 'd', if only
           a SINGLE message existed beyond a users last-read pointer
           and that message was killed, an endless loop occured. Fixed!


         - If a reply to an existing message was uploaded, Kmail
           incorrectly attempted to reference the old NDX file strucrure
           in order to locate the ReferTo message... causing a DOS error [6]

         - Added the following option to the KMAIL.CFG file.

           ;------------------------------------------------;
           ;               Local_QWK=A/R
           ;------------------------------------------------;
           ; When creating a QWK packet in local mode and an
           ; existing QWK packet is found in the receiving
           ; directory, should the packet be over-written?
           ;
           ;        A = Ask
           ;        R = Replace without asking.
           ;------------------------------------------------;
           Local_QWK=A

         - Similar to the problem fixed in level 'c', if ALL messages
           beyond the last-read pointer have been killed or packed out
           then the mail scan would begin at a random location. Fixed!

         - If the next sequential message number beyond the current
           last-read pointer has been killed or packed out of the msg
           base, then the message scan will begin at a random location
           causing excess or missing messages in the mail packet. Fixed!

         - Incorrect julian date calculation caused a runtime error
           during upload processing.

         - Kmail is now fully compliant with the new PCB 15.0  'IDX'
           record format and no longer needs the /OLDINDEX setting in
           the DOS environment. However, Kmail will still maintain the
           older 'NDX' records on a global basis if the /OLDINDEX
           variable is found, or on a conference by conference basis
           as specified by the "Maintain Old NDX" switch in PCBsetup
           for each conference.

         - Under some conditions Kmail would not allow a user to select
           a conference unless the 'X' flag was set in the user record.

KMAIL295 - 04/25/93

         - Initial compatibility with PCB 15.0 code... backward
           compatibility with PCB 14.5 is maintained, no special
           action required, the code detects what level you are running.

         - Added additional checks for carrier-loss during msg scan.

         - Allow an aborted download to restart without having to
           perform a full conference message scan.

         - Check for and honor the sliding-event flag in PCBSetup.

         - Restructuring to reduce memory requirements by 8k.

         - Added support for 115200 baud rate.

         - Adjusted scan routines to NOT include File, Bulletin, and
           News scan for 2nd ann later passes during the same call.

         - Adjustments to Speed= processing so that /LOCALON will
           be processed correctly.

         - Fixed the "Set Personal Message Limits" menu screen, it
           was displaying incorrect information.

         - CONTROL.DAT was incorrectly built for a null conference
           if the conference was also private.  Fixed!

         - Adjusted code so that stacked command "D;Y;G" will work
           with a prescanned mail packet waiting.

         - Fixed inability to ADD/DROP conferences above 1000.

         - Added user option to allow selection of large or small
           CONTROL.DAT. (Small control.dat will only contain the
           conferences that have been selected for scanning.)
           See the (E) option on the main menu screen.

         - Fixed a problem where the "Download Own Msgs" flag was
           being incorrectly reset.

         - Fixed a problem that caused the stacked command D;Y;G
           to fail if there was a prescanned packet waiting.

KMAIL294 - 01/10/93

         - Changes for compatibility with PKUNZIP v2.04c. The default
           is now PKUNZIP -e which is compatible with the current and
           previous levels of PKUNZIP. UnZip_Opt= is now supported in
           the KMAIL.CFG in case additional options are required by
           your system.

         - Added support for 19200 & 38400 speeds because some front-
           end programs can pass these values to PCBoard as valid
           carrier speeds. Update KMAIL.CFG if you need these speeds.

         - Compatibility problems associated with some readers trying
           to read CONTROL.DAT and associated xxx.NDX files because of
           the changes introduced for greater than 999 conf support.

           Adjusted download routines to check the number of conferences
           allocated on a system and when less than 999, then use
           the old format to build CONTROL.DAT and xxx.NDX files.

         - Changed conference selection screen to be more user friendly.

         - Corrected problems in CONTROL.DAT associated with conferences
           greater than 999.

         - Number of conferences supported raised to 3,000.

         - Increased stack allocation.

         - Added check for negative conference #'s in REP packets.

         - Added support for FOSSIL interface.  (see doc)

         - Allow PNT file to be included within the REP pcaket.

         - Updated the online KMHELP file.

         - Added support for 7200 and 16800 carrier speed.
           (Remember to add Speed= parms to your KMAIL.CFG file.)

KMAIL293 - 10/04/92

         - Allow Net sysops to deselect forced conferences.

         - Added .CFG parms RO1=, RO2=, and RO3= to allow defination
           of up to three Read-Only conferences. (see sample CFG)

         - If a "disk-full" condition was encountered while scanning
           messages Kmail would currupt memory an cause a system lockup.
           Finally nailed this one down after many hours of tracing.

         - Fixed runtime error 201 in conference selection routine.

         - Added .CFG parms FC1=, FC2=, and FC3= to allow defining
           forced conferences. (ex: FC1=0) to force conference 0.

         - Added code to check the required security level to enter
           messages. This allows the sysop to define read-only
           conferences by using a negative number in in the added_security
           field of one or more conferences.

         - Broke the extended services file send in v2.92, Fixed!

         - Added support for 12000 carrier speed, you'll need to add
           a Speed=12000 to KMAIL.CFG file.


KMAIL292 - 07/05/92

           Added additional offline configuration options. In addition
           to the normal Add, Drop, and Reset... the following new
           options are accepted by Kmail:

           Yours #     (select a conference and scan only Your mail)
           YA #        (select a conference and scan your mail +
                        mail addressed to All).

           The # is an optional parameter. If positive the last-read
           is set to that value, if negative, the last-read pointer
           is set to that number of messages below the high number.

           Fixed an unusual case where bi-directional xfers would fail.

           More adjustments to the routine handling the NoTime option.

           Added the ability to run KMail from a batch file using the
           PCB /localon switch. Uploading, downloading and stacked
           commands are all supported.  See sample KMBATCH.BAT file.

           Changes in NoTime processing to prevent crediting too much
           time in some cases.

           Added NoTime=Yes/No option in the CFG file.

           Closed security exposure when using the Block-Add routine
           to select conferences.

           Changed the wording on the conference Block-Add function
           to help clarify the meaning of the prompt.

           Disabled checking the BBS name in the KMAIL.KEY file due to
           the problems associated with multi-node systems having a
           unique name on each node. Now, only the sysop name is checked.

           Corrected processing of the .PNT file. Last-read pointers
           were out of sync by one conference.

           Added a check when downloading in local mode to test if a
           QWK file already exists in the target directory. The user
           is given the option to continue or cancel the operation.

           Installed filters to test for invalid/non-displayable chars
           in the To/From name field of the message header record. These
           invalid characters would prevent TCAN filters from working.
           Any messages with invalid characters will be TCAN'ed by KMail.


KMAIL291A  03/09/92

           Automatic logoff was not working correctly if Disable_Goodbye
           option was enabled in the CFG file.

KMAIL291 - 03/05/92

           Broke the bulletin scan routine earlier in this beta cycle.
           It ended up trying to scan bulletins from the highest
           numbered conference. Fixed!

           Added the beginning of multi-lingual support. You may now
           customize the following files with a .language extension
           as necessary. The English versions will NOT have a .extension.
           KMail also supports the PCB @XX color codes in these files.

              NEWUSER
              PNTMSG
              KMHELP

     ===>  The KMAIL.HLP has been renamed to just KMHELP. Please delete
     ===>  the old version and use the new help file with this version.

           Any sequence of stacked U/D commands are now accepted.
           KMAIL U D Y G  or  KMAIL D Y U G  will work just fine now.

           Local mode now works exactly the same as remote callers.

           The .PNT file now contains message pointers of both BEFORE
           and AFTER the mail download. When resetting message pointers
           the caller may choose which set to use.

           Added "File Send" services, see KMail DOC under heading
           Extended Services for info.

           Changed "Want to Receive this Packet" prompt to require
           a specific match rather than default to No.

           Added enhanced error messages in a couple of places to help
           isolate a problem reading CNAMES.@@@

           Added Fido style tag line support. Use: Fido_Tag=Yes in CFG.

           Revised security checking to test for "Locked" conferences
           and expired security levels.

           KMail now adds user for Yours Only if a message is uploaded
           into a non-selected conference. (subject to security checks)

           No longer strip the NE: from the Subject line so the the
           receiver will be aware that the message is local only.

           Added message to indicate MESSAGES.DAT has reached limit.

           PreZip process failed when scanning for the name in USERS
           record #1. This bug has been here since day 1 and nobody
           has tried doing this until recently.

           Changed BBSID.PTR to BBSID.PNT to avoid conflict with Rnet.

           Fixed error 201 which occured processing a REP packet if the
           message + the tag line ended exactly on the last byte of any
           given message buffer.

           Changed logic in the conference selection routine to avoid
           the "Conference out of Range" message. The user is now moved
           directly to the appropriate selection panel.

           Added ability to specify maximum MESSAGES.DAT size.

           Fixed error 201 at 0051:2D3E in the PTR processing routine.
           It couldn't handle a message number greater than 65,535.

           New option "Sysop_Alias=" is implemented in the CFG file. This
           option is intended for those Sysops who may have something
           other than their real name in record #1 of users.  Using this
           option will cause messages addressed to the alias name to be
           included in the personal index of a download packet. The
           messages will also be marked as having been read. This option
           has no effect when uploading.

KMAIL290 - 12/22/91

           Fixed a long standing problem that caused a caller to be
           returned to CONF 255 if the door was opened from within any
           conference greater that 255.

           Adjusted routines so that CTRL-K will abort the message scan.

           Added check for carrier-loss in the conference scan routine.

           New parm "Disable=xx" added to configuration to indicate the
           number of minutes prior to event to prohibit downloading.

           Kmail was incorrectly asking for qwk/rep location after
           receiving a .REP using a bi-directional protocol.

           Due to debugging code enabled, Kmail was trying to read
           CONFINFO causing an error message.    Fixed!

           Adjustments made to handle EZ 2.0 reply packets.

           Chat time was not being credited to the caller

           Network status was not being granted for private conferences.

KMAIL289 - 11/11/91

           Due to debugging code left in a routine, the Speed parms
           were not being processed from the CFG file.

KMAIL288 - 11/09/91

           Added additional user option "Message Limits" to allow
           callers to specify messages per conference and overall
           number of messages. (not to exceed system defaults).

           Added HS/Link protocol support. Just add the appropriate
           HS= and HR= entries to KMail.CFG to enable HS/Link.

           Expanded TPA bytes to 18 to allow saving the date/time of
           files sent via the SysFile function and to allow for
           future functions.

           Using PCBSM, select "User Info File Maintenance" and update
           the KMAIL Third Party Application entry with the following info.

   ==>     Version      :    30    <---- This changed!
   ==>     Static Size  :    18    <---- This changed!
           Dynamic Size :     1
           Keyword      : KMAIL

           Network status not enabled correctly on some systems when
           Ignore_Echo=Yes was in effect.  Fixed!

           Corrected new files scan when in conferences > 255.

           Added an option to prevent the caller from logging off
           from within the door. Include:  Disable_Goodbye=Yes
           in the KMAIL.CFG to enable this option.

           Update the time-used and time-left fields more frequently
           to try and keep them in sync with PCBoard.

KMAIL287 - 08/26/91

           Added ability to transmit network adminstration files
           within the QWK packet. See heading SYSFILE.DAT in docs.

           Increased HEAP and STACK allocations to see if that will
           prevent the lockup that a couple of people have reported.

KMAIL286 - 08/14/91

           Midnight boundry still causing a problem. Revised elapsed
           time checking to cover all cases that I can think of.

KMAIL285 - 08/11/91

           Fixed a problem for multinode systems where an abend would
           occur during the New File scan if PCBFiler was also running.

           Fixed a midnight boundry problem that could cause a user to
           have ZERO time the following day. This could happen if the
           KMail session spanned the midnight boundry and the caller
           logged off from within the KMail door.

           Added the KWORK drive and path info to the %3 parm passed
           to Xmodem protocol batch files.

           No longer translate @USER@ to real name if caller has
           network status.

           Added user selectable mail scan option to allow scanning
           of "Personal" + "To All" messages.

           Updated KMAIL.HLP file.

           Changes to allow KMail to use the protocol batch files
           from the KMail subdirectory when present.

           Strip trailing blanks from entries in the .CFG file.
           Some editors were doing this, causing a problem.

           KMail was appending a TAG line to messages imported from
           other systems. This is incorrect, TAG's should only be
           appended to messages which originate on your system. Fixed!

           The help info would not display on the first invocation by a
           user, except for the sysop. That's why I missed it.  Fixed!

KMAIL284 - 07/13/91

           Fixed yet another failure to set the mail-waiting flags.

           Added TAG line support. (See .CFG for details.)

           Also included with this level are new Welcome and Welcomeg
           files. Be sure and include them in your \KMAIL directory
           unless you have customized your own version.

KMAIL283 - 07/06/91

           Added @XX color codes to the KMAIL.HLP file.

           Corrected an intermittent problem causing the mail waiting
           flags to not be set.

           SCRIPT0 processing was causing an unexpected "Enter to
           Continue" prompt to the caller. Disabled displaying
           the script0 file for now.

KMAIL282 - 07/01/91

           Added processing to set the "Mail Waiting" flags for the
           various conferences during message importing. A .CFG option
           Mail_Waiting=Yes/No is provided to disable it.

  ====>    KMAIL.HLP has been changed to a new format, be sure and
           put the new version into your \KMAIL directory.

           Fixed a runtime 201 error caused by trying to set the
           "has been read" flag of a purged message.

           Corrected Xmodem %1 and %2 parms, they were reversed.

           The SCRIPT0 file is now processed directly from the
           location specified in PCBSetup.

           Fixed the System News file processing which was broken
           a few levels back. The System News file processing now
           respects the PCBSetup option to only send "new" news.

KMAIL281 - 06/14/91

           Included options in the CFG file to control ARC and LHA
           processing. (ARC=Yes/No and LHA=Yes/No).

           Altered processing of SCRIPT0 file to prevent a message
           from LHA if the SCRIPT0 is missing.

KMAIL280 - 06/09/91

           Restructured code to allow multi-node systems to run using
           a common \KMAIL sub-directory.

           Added support for LHA.

           Removed the dir prompt when running in Local mode if the
           QWK/REP locations are specified in the CFG file.

           Resolved compatibility problem with PowerQwk RDR.

KMAIL279 - 05/26/91

           Added support for 14,400 carrier speed. Also, removed 19,200
           and 38,400 parms from the CFG file as these are port speeds
           rather than carrier speeds.

KMAIL278 - 05/25/91

           Resolved a compatibility problem with SLMR 2.0, lousy timing!

           Made a change to KEY file processing on multi-node systems to
           assist those that have different BBS name text on each node.
           (more info in doc file)

KMAIL277 - 05/24/91

           Added BiModem support.

           Added an online HELP file "KMAIL.HLP" that callers may
           view within Kmail. Just place this file in the \KMAIL dir.

           Fixed a problem that caused Kmail to reject a message if
           the Sysop was using their "Real Name" in the from field.

           Fixed a problem that caused Kmail to ignore any Keyword
           in the TPA record other than 'KMAIL'.

           Fixed an error in calling the Xmodem-1K protocol.

           Included separate protocol entries for Xmodem/Sum
           and Xmodem/CRC to help reduce confusion.

           To assist those Sysop's who have separate QWK/REP locations,
           the Loc_Dir option has been split into Qwk_Dir & Rep_Dir.

           Added parm "Buffers=" to the KMAIL.CFG to allow controlling
           the number of buffered I/O blocks that Kmail will allocate.
           Previously was hard coded to use (120) 512 byte blocks.
