__UPDATE.ZIP.x/WHATSNEW.G2

49.2 KB 0fb1f279701bdd91…
                  Telegard Bulletin Board Software, v3.10
                       Revision History Documentation

                      Copyright (C) 1998 by Tim Strike
                            All Rights Reserved.

                3.09 Gamma 2 Service Pack 3 - 22 August 1998

        IMPORTANT

            + There is one important language change to this beta which
              relates to new user logins.  The new user login name can
              now be defined to something other than "NEW".  This is
              configured on line 338 of your language file.  Also note
              the changes to line 341 to indicate the new MCI code for
              new user logon id code.

        MESSAGES

            + Public, private and netmail posts for a call are now stored
              in the LASTON.DAT file.

            * Internet email areas marked with anonymous type Realname/ 
              Handle would only allow the user to read messages from one of 
              their two names (depending on whether the area defaulted to 
              Realname or Handle posting).  Fixed.

            * System Configuration for message areas was incorrect for 
              options H through K.

            * Private message areas would allow reading of messages without 
              the private bit enabled for the message; a private area 
              should always be private regardless of the message flag 
              status... fixed.
              
            * Quote header would be incorrectly output for internal line
              editor messages (Telegard automatically handles this, so it
              duplicates entries...)

            * Upgrade notices for the New User Level will not been sent 
              when a user first applies to the system (the user isn't
              valid yet; this caused empty destination messages).  These
              messages will only be sent for the second time that a user
              is set to this level (i.e. automated downgrade, etc.).  If
              you want messages sent to your first-time callers, then I
              suggest using the NEWUSER.SCR script to send them...

            * Entering a non-existant path in the message area manager will
              now warn you that the path doesn't exist; Telegard will no
              longer attempt to move files to a non-existant path.

            * Fixed up problem of sending a validation level letter from 
              the message read prompt which returned the wrong message
              when attempting to redisplay the message from which the user
              was validated.

            * Messages already marked deleted will not be prompted with the
              delete message query after a message reply.

            * Continous message mode with email/netmail areas and a user
              marked with must delete email/netmail flag would cause an
              endless loop (until user hungup); continous mode will no 
              longer be allowed in such situations.

            * Moving file attachments to a path and not creating that path
              when prompted will now abort the file move.
              
        FILES
        
            + Telegard will now process the volume label of CD-ROM's a 
              little more carefully.  If the CD-ROM has a blank label,
              or if the label is "NO NAME" (or "NONAME"), Telegard will
              get the volume serial number and covert it into hexadecimal
              for use as the volume id label.
       
       TG/2 + Protocols now have a native OS/2 flag.  If your protocol is
              a native OS/2 application, toggle this item on.  The 
              protocols now work as follows:

                  If the protocol is native OS/2:
                        - Output environment & command to .CMD file, load
                          .CMD file in native OS/2 window

                  If the protocol is native DOS:
                        - Output environment & command to .BAT file, load
                          .BAT file in native DOS window

              This flag will ensure that the protocol environment is setup 
              properly for when the protocol is run.  The environment is 
              used to set the logfile path; thus, the logfile path will be 
              correctly passed off to the protocol, and Telegard will now 
              be able to process uploads and downlaods made from DOS 
              protocols under Telegard/2.
              
            * Daily download ignore restrictions flag (option 5) doesn't
              work properly for downloads. Fixed.
                
            * Changing *.FA* file area db storage path would not move the
              files into the new path as it used too.  Fixed.

        SCRIPTS

            + Added MCI function to force processing on a string variable
              which contains MCI codes.  This will alleviate a few variable
              processing order restrictions which limit how many levels of
              dynamic processing can occur.  Temporary fix until g3 script
              language is released . . .

        OTHER
             
            + User emulation detection during login (user set) will now
              be logged to the system logs.  In addition, the user editor
              will now display "Detect :: (emulations)" in the user editor
              for such users.

            * RTE 200 still existed with the TELEGARD.EXE and UPDATE.EXE 
              executables, because the source tree was picking up an older 
              library file that I wasn't aware of; this source tree has 
              been updated to reflect the earlier patches, and all 
              utilities should now be PII 300+ friendly...

            * Updated IEMSI polling to behave better under multitasking 
              environments (most noticable in Telegard/2).  I had to make 
              some heavy modifications to make this work--it cut 1K of 
              code, but requires some good eyes and testing...

            * Updated ANSI detection polling to behave better under 
              multitasking environments (again, most noticable in 
              Telegard/2).

            * Time limit settings now have a maximum of 1439 minutes 
              instead of 32000 -- this prevents overflow, and means a user 
              can spend a maximum of one day online before their time runs 
              out (which I think is COMPLETELY reasonable... :p)

            * Y/N prompts now send a `07 clearing code after the prompt
              just in case you're using high-background colours, which
              have a tendancy to bleed when you're at the last line of
              the screen (not my fault... just patching).

            * Caller-ID for out-of-town callers where the phone company
              returned 0 as the phone number would cause duplicate phone
              number checking to report many duplicate phone numbers when
              it really should have just been ignoring these numbers.  The
              intelligent parsing will now ignore all numbers that are 
              either blank or filled with 0's, or that are filled with
              other alpha characters (such as Unknown, Private, etc.)

            * Some string conversion routines were patched; most noticable
              in the Menu Editor command help section (but potentially
              problematic in a few other areas too...).


                         3.09 Gamma 2 - 5 July 1998

        INSTALLATION NOTES

            Please completely read INSTALL.DOC.  Follow the installation 
            instructions to the number, otherwise you will find that your 
            system has not been completely or correctly updated, and this 
            is likely to cause you many problems and frustrations.
        
        RELEASE NOTES

            This version of Telegard 3.09.g2 is complete, save the 
            scripting language.  I decided that I didn't have the time to 
            dedicate to finishing the scripting language for g2 and keep 
            the release of g2 to a reasonable date.  Subsequently, the new 
            compiled scripting language will make it's debut in g3.
            
            In addition, Gamma 2 marks the release of Telegard/2, a native 
            OS/2 version of Telegard.  There aren't many additional 
            features included in TG/2, but there are many planned for the 
            future.  Please consider Telegard/2 a test version--it is a 
            direct drop-in replacement for Telegard/dos, so you can run 
            both from the same set of data files and test Telegard/2 while 
            still running your system critical BBS using Telegard/dos.
        
        MAJOR CHANGES

            * The installation procedure has changed considerably (to make 
              things easier...).
                
                1) INSTALL.TG / INSTALL.TG2 replaced by INSTALL.TWS and 
                   INSTALL2.TWS -- which are password protected .TWS files 
                   instead of a password protected .ZIP file.  This should 
                   allow the Telegard distribution archive to be uploaded 
                   without failure to THD ProScan and other protected 
                   upload systems (no errors during unzipping).

                2) All reference documentation and other non-install 
                   documentation will be packed in DOCS.TWS (NOTES.TWS is 
                   no longer being used), and will be unpacked in a DOCS 
                   subdirectory.
                   
            * Telegard now locks (deny write) the config.tg file when 
              entering the system configuration.  This means that other 
              nodes/instances of Telegard will be able to read but *not* 
              update the system configuration (the prompts change to 
              include -=> View Only Mode <=- in this case).  
                
              This was done to protect data integrity across nodes & 
              networks, but still to allow other nodes to view the system 
              configuration (as I often do by shelling from Node 1 into 
              Node 2, when I can't load the configuration directly in Node 
              1 (ala message posting)).
              
              If an external program attempts to open the file in Write or 
              ReadWrite mode, the external program will fail.  If the 
              external program does not write to the data file, then the 
              file mode should be changed to Read only to allow it to open 
              the system configuration in this instance.
              
            * I changed all of the internal routines relating to the message 
              buffer / buffer length to use a standard textbuffer library 
              that I built (to handle messages, file descriptions, etc.). 
              While the changes were fairly straight forward and just 
              involved modifying the current routines, I *may* have made a 
              typo here or there resulting in code being broken.

            * I changed the way sets are handled in Telegard (internally 
              for now; developers will get these changes in the next 
              development kit, since the methods are computationally 
              compatible).

              At any rate, this was done to facilitate compilation on other 
              platforms with other compilers; TP/BP can store sets in byte 
              values, but other compilers often use word or longint values 
              which are incompatible in size.

              This change took about 7 hours to complete, and while I 
              *attempted* to verify everything I did, I may not have.  
              Therefore, please keep an eye out for things like:

                  * Flags which are not correctly used (or are inverse)
                  * Flags which can not be toggled
                
            * I started changing how Telegard stores file names and paths 
              internally so that we can eventually (hopefully) move to long 
              filenames, and case sensitive names as the platforms permit.  
              This was again a fairly lengthy change (and is still ongoing) 
              so please let me know if anything is broken.

            * I started optimizing the common routines; this resulted in a 
              1K decrease in core memory--nothing significant yet, but I'll 
              continue working on it to see what else can be trimmed. 
              Please let me know if any standard functions begin failing...
         
            * Patched up the Squish code to conform to standards which 
              aren't documented...

              It appears that SQPACK sets .sqi index entries for delete 
              messages (from date packing, and potentially from a base 
              which has it's maximum_msgs reset) to the filesize() of the 
              .sqd file.  The Squish documentation says extra entries are 
              marked with a msgptr == 0. Telegard was checking the msgptr 
              when posting, and trying to avoid overwriting a valid 
              message; Telegard would write to the end of the file with the 
              last entry 0... after a message is posted, two scenarios 
              emerge:

                  1) The message posted is long enough so the next deleted 
                     message offset is valid, but incorrect; Telegard 
                     ignores the message (invisible message syndrome...)

                  2) The message posted is not long enough so the next 
                     deleted message offset is invalid; RTE 100.

              Telegard now ignores the msgptr value in the .sqi index file; 
              it just writes the index entry overtop--it is now assuming 
              that the message number fields are properly maintained so it 
              can do this, and that the msgptr that it is overwriting is 
              indeed to be overwritten (otherwise the message number field 
              would be more up-to-date).

        LANGUAGES

            * Review LANGUAGE.G2 for updates to your language file, and 
              instructions on how to merge the language files to speed up 
              the update of your languages.

        UTILITIES

            * INDEX, FB2FA and FA2FB utilities were patched up to fix the 
              ghost upload bugs that were encountered in Gamma-1.

            * CMPRLANG has added functionality to compare without colour 
              codes (i.e. strip colour, then compare).  This effectively 
              scans for text changes only.

        AREAS

            + MA and FA area change commands now accept [ and ] as options, 
              for previous scanned and next scanned areas respectively 
              (similar to - and +, but working only on scanned areas).

            + Message/file area editors now have a 'J'ump to entry command.

            * MY and FY commands should now screen pause appropriately.

            * When Telegard releases the area lock, it will return to the 
              menu instead of continuing with the requested operation--this 
              is done so the screen is fresh again (so you can see area 
              numbers, etc.).  The next subsequent request will work as 
              usual (with no message until the editor is exited).

            * Menu commands FY (new file areas) and MY (new message areas) 
              will now check the ACS of referenced conferences; i.e. if you 
              just use S25CA and expect the conference "A" access to do the 
              weeding; it will now properly be checked and adhered to.
        
        MESSAGES

            + Added long internet address support for those running their 
              own gateway software, togglable for each area instead of as a 
              global toggle (just in case you have different feeds). 
              
              IMPORTANT NOTES: 
                   1) Only available for JAM format (Squish does not have 
                      long enough field names) 
                   2) Only available for internet areas 
                   3) Your gateway software MUST support > 36 character 
                      addresses directly in JAM format.  If you export to 
                      another source (i.e. your Fidonet hub), then you must 
                      use Antiquated UUCP support to have > 36 character 
                      addresses, as this is the limitation of the *.MSG 
                      format which is used by FTN's.

            + Added mail account option for downloading from the command 
              line in Telegard; using -M=First_Last will create a qwk mail 
              packet from (or upload a packet for) the user account listed 
              instead of the standard SysOp account.

            + Added message start number prompt to the MC (mail check) 
              command (users with ForcedEmailDelete flag are not prompted). 
              The default input is the first UNREAD message.  In addition, 
              the mail check command now counts total and unread messages, 
              and displays this information in the title listing as well.

            + Added feature to toggle skipped messages (from title 
              scanning) as read (i.e. make highread message # = last 
              message #).  This option is only available for new message 
              scanning.

            + Added feature to skip read messages during a waiting message 
              scan.  Also added feature to scan for messages To: 'All' when 
              doing a personal scan (so the user can read personal and 
              general messages).

            + Telegard can support long email addresses (>35 characters) if 
              Antiquated UUCP is toggled ON.  Telegard will then put the 
              long TO: name in the first line of text, and address the 
              message to UUCP.  NOTE: THIS IS JUST AN ADDED EXTENSION OF 
              THE OLD ANTIQUATED UUCP SUPPORT.

            + Added ability to do a keyword search across all message areas 
              instead of just one.  Note, this search is intensive as every 
              message in every (available) area is loaded and scanned.  The 
              menu command is MK.

            + Added grey twirly bar to waiting message scan, although it 
              should be fast enough that activity characters really aren't 
              necessary, it was added anyway...

            + Added separate NEWSGROUP and INTERNET EMAIL semaphore files. 
              Previously these areas created/touched ECHOMAIL.* and 
              NETMAIL.* files, but now create/touch IGROUP.* and IEMAIL.*. 
              If you use your mail tosser to toss ALL of these types, you 
              should check for IGROUP.* and IEMAIL.* in addition to 
              ECHOMAIL.* and NETMAIL.* (where * is .TGS for Squish, or .TGJ 
              for JAM).

            + Added ability to do a reverse title scan for menu command MS, 
              which now prompts to do a forward or reverse listing.
        
            * QuoteHeader is output to MSGTMP as part of the message text 
              if using an external editor, for FSE which don't have the 
              option of a quote header (i.e. Telegards internal quote 
              header will be output as text for usage...).

            * QWK pointers can now be updated for areas that users don't 
              have posting privileges too--this was the result of a fair 
              number of errant pointer update reports.

            * QWK areas that a user can't post to are no longer listed as 
              'unknown', but rather 'denied'.

            * Newsgroups will not be scanned for personal mail (no such 
              thing--newsgroups are inherently to 'all').

            * QWK network support/anonymous/anyname support has been fixed.

            * Squish lastread updates for deleted users are now done during 
              a new user logon instead of when the user is deleted.

            * If an area was previously cached, Telegard will recount the 
              available messages instead of just ignoring the open call 
              entirely (Telegard was previously ignoring the call since it 
              could get all the information from the area cache...).

            * QWK uploads should now dynamically pack Squish areas properly 
              after a message is posted.

            * Quoting now has a C:ycle command which will reset the pointer 
              of the quote lines to the first line in the file.  I don't 
              particularly like C:ycle as the name, so if you have a 
              better one which works with available letters (not AFTRSOQ) 
              then please let me know . . .

            * R& will now properly toggle the message sent/unsent.

            * Deleting/editing/etc. a message will only append a new line 
              to the ECHOMAIL/NETMAIL.JAM files if the message sent status 
              is toggled [except in circumstances when it doesn't know, in 
              which case it always adds it].

            * Uploading prepared text with ~PF on the upload command line 
              with an unregistered DSZ/GSZ would result in an upload error; 
              Telegard now does not pass ~PF for batch protocols in message 
              uploads.
        
            * Importing text with line length > 255 will no longer cause 
              Telegard to hang when listing the message; Telegard will now 
              appropriately chop the lines at 250 characters.  NOTE: If you 
              are trying to import ANSI files, then you should save your 
              ANSI files with a line length <= 250 characters, NOT 255 and 
              certainly not without ANY line length restrictions. If you do 
              not, your imported ANSI will likely be grunged when it is 
              viewed--YOU HAVE BEEN WARNED!

              ALSO, remember that echomail networks typically recommend 
              line lengths <= 75 characters for ANSI transmission.  If you 
              wish to import your files for export via a network, best save 
              them with the recommended line length...
          
            * Fixed a number of pesky Squish bugs--

                 1) The lost-first-line of a message after a title scan or 
                    msg number reload
                 2) The ">> Message exceeds 64K" problems should now be 
                    fixed (except for legitimate messages over 64K)
                 3) 'Posted' but 'Invisible' (SQREIDX fixes): If the .SQI 
                    file is not properly updated with 0 entries for deleted 
                    messages at the end, Telegard will now ignore this and 
                    save the message in the proper index spot instead of 
                    trying to magically protect an invalid entry.  Telegard 
                    will put a DEBUG: note into the logs when it does this.
                 4) RTE #100 after SQPACK'ing an error with date packing
                    ENABLED, or a changed MAX_MSGS limit causing SQPACK to
                    pack the areas before a dynamic pack can do it...

            * Inserting new message areas, when the area default (setup in 
              your system configuration) is for areas to be DEFAULT OFF in 
              the user scan is now correct; before Telegard would always 
              set the areas in the scan, not it'll obey the default 
              setting.

            * MW command now has an option to default the options instead 
              of asking, so that MW*1 will default to 'Unread Only' and not 
              'Read to 'All''.  MW1 will ask the questions as designed.

            * JAM indexes now contain appropriate userCRC values for local 
              message areas (i.e. message entered online, in email or 
              otherwise now have the proper CRC values, and thus can be 
              found by the Waiting Messages scan...).  Previously posted 
              messages have and will not be corrected.

            * *.JAM (ECHOMAIL/NETMAIL) files will be updated when the 
              message is edited (i.e. if sent/unsent, to, from, etc. is 
              toggled....).  It might cause the scanner to inadvertently 
              check a message which has already been sent, but this way 
              nothing is explicitly missed...

            * Replies to messages from "SysOp" will automatically be sent 
              to the SysOp name configured in the BBS configuration.  This 
              is identical to new messages entered locally, except that it 
              now handles replies to automated messages from "SysOp" (such 
              as hack warnings, other offline posting utilities, etc...).

            * Changed PAUSE prompt to MORE(y/n/c) prompt when listing 
              messages, allowing for easy aborting, and also allowing for a 
              continuous listing mode.

            * MC command has optional parameter (C) which returns only the 
              counts instead of listing the messages and prompting to read. 
              The default (no parameters) is to count, display titles and 
              prompt to read.  With parameter C, only the count is done. 
              [NOTE: I still suggest using MC with no parameters in your 
              login sequence...].

            * 64K limit should be properly adjusted when saving messages.
        
            * Changed file attach method so that the message has a notice 
              of the attached files, and the download of those files is now 
              controlled via a menu option (RF) which should be added to 
              your MSGREAD menu.

            * Changed message statistics feature to output to a .TXT file 
              so that statistics can be saved/referenced at a later date. 
              Viewing the statistics will view the last created set, unless 
              the SysOp/User chooses to update the statistics.  Output file 
              is in your data directory as MSTATS.TXT.

            * Trailing blank lines will be stripped before the signatures 
              are added, and stripped after the signature is added (to get 
              any from the signature).

        FILES
        
            + File tagging prompt now accepts range operator '..' (I chose 
              '..' since it can't be in a valid filename, thus making the 
              parsing considerably easier.

            + Added menu command S=, which will toggle continuous listing 
              of the remainder of the files (i.e. no page pausing, no file 
              tagging prompts...).

            + Added (finished) the upload processing during a SysOp /U 
              upload.  Upload processing includes testing, conversion, gif 
              specs. and archive commenting.

            + Added "tag file" command to EditFiles menu.

            * FILE_ID.DIZ importation is now a little smarter; if the file 
              has a non-standard archive extension (i.e. one which is not 
              defined in the system archive configuration), then Telegard 
              will run the archive type detection code to determine if it 
              matches another archive type.  If the file has a valid 
              archive extension that is WRONG, this will not be detected.

            * File type conversion should now properly update the index 
              files when the files change format.

            * Moving files will now check for duplicate names in the 
              destination area; if the file record exists, or the physical 
              file exists without a record, the move will not be completed.

            * Duplicate file handling has been re-enabled; check your 
              options in the file system; you have None (will only nuke the 
              file if exists in destination area), KillDupes (will nuke if 
              file record exists in any area), and MoveDupes (will move the 
              file to a holding directory; if the file area exists in the 
              holding directory, the file will be incrementally renamed).

              If the MoveDupes feature is used, the file description will 
              be augmented with ** Duplicate File **, and if the file is 
              renamed, ** Duplicate File / Original FFFFFFFF.EEE ** will be 
              used instead to indicate the original upload filename.

              THIS FEATURE COULD USE SOME HEAVY TESTING, COMMENTS AND 
              CRITICISM . . . (just so you know...). <g>

            * Changed how file descriptions are edited based on some 
              suggestions; let me know what you think of the new system (I 
              personally think it is quite a bit better . . . ).

            * Changed the way file transfer statistics are reported; all 
              the various upload/download routines should now use the 
              standard statistics reporting template (MCI codes are now 
              available for lines 711 through 720).  Please let me know if 
              you encounter any strange transfer statistics...

            * Last file scan date is now stored (last time FN is run for a 
              user) instead of using the laston date; this will allow users 
              to logon many times between new file scans, and still see new 
              files since the last time they scanned.  This logic is 
              slightly different than we're used to, please let me know if 
              it doesn't work in some way . . .

            * Validating files in No Prompt mode now has a receipt mode too 
              -- ask for each file (jic), yes receipts and no to receipts.

            * Fixed up maintenance options; saying NO to all areas with the 
              current area a CD-ROM area would result in no action... which 
              is obviously not correct, since you want to scan the current 
              area only (regardless of it's CD-ROM-edness).

            * Commandline -FC will process all areas (including CD-ROM) for 
              file updates, while -F will continue to ignore CD-ROM areas.

            * CD-ROM labels stored in the file areas will accept mixed case 
              now; the matching is case sensitive (although I can't imagine 
              why case would matter).  Ensure that you have the correct 
              case for your CD's...

            * Saying NO to 'upload all' will deny processing of any CD-ROM 
              areas, when it should just blindly accept the current area as 
              the scan area, regardless of what it is.  Fixed!
        
            * Using SE (edit files) command from the file tagging menu 
              should now properly handle moving/deleting files instead of 
              returning a RTE.

            * Updated "test" command from EditFiles menu selections so that 
              if the testing method has been set to Integrity, Telegard 
              will now actually just do the integrity check.

            * Corrupt archives should now be noted as corrupt archives 
              instead of giving a RTE (this is how things were designed to 
              work like all along...).

            * FILE_ID.DIZ importation during uploads will now use the 
              correct TEMP\FILE\ path instead of the path the file is GOING 
              to be moved to...

            * Telegard will now properly search for files during the /U 
              upload command--it was incorrectly checking the search 
              indices previously, which caused many upload/duplicate 
              problems.

        OTHER

            + Telegard TEMP directory can now be relocated with the 
              environment variable TGTEMP=[path].  NOTE: The TEMP\TEMPn 
              extension will be automatically added to the base path that 
              you provide.  For example:

                        SET TGTEMP=D:\BBS

              will use D:\BBS\TEMP for single nodes, and D:\BBS\TEMP1 for 
              Node 1, etc...  You can setup different drives for different 
              nodes by setting different environments:

                        SET TGTEMP=I:\          (Node 1 environment)
                        SET TGTEMP=J:\          (Node 2 environment)

              will use I:\TEMP1 for Node 1, and J:\TEMP2 for Node 2.

              WARNING: Telegard will clean out the TEMP directories as it 
              sees fit.  DO NOT OVERLAY THE TELEGARD TEMP DIRECTORY ONTO A 
              TEMP DIRECTORY FOR ANOTHER APPLICATION.

            + Added preliminary caller-ID support.  Telegard will search 
              for the caller ID information, will store it to the logs, the 
              user record, and will use it when scanning for duplicate 
              numbers.

            + Added message post/time ratio--this ratio is a little fairer 
              than a post/call ratio, since it takes into account the time 
              spent online, rather than the number of calls.  Someone who 
              calls twice a day to use the Offline Mail Door may only use 5 
              minutes, but make two calls (download & upload), and someone 
              with a poor connection may get dropped often, but not 
              actually use any more time than anyone else...

            + Added menu equalization command (short menu description will 
              be set to the (truncated) long menu description).

            + Added menu input length option.  Menus should default to 60 
              as the maximum input length (field).  If your menus don't 
              convert properly, input may not be properly checked; if 
              Telegard finds an invalid value it will default to 60, but 
              you should double check your menus anyway.

            + Added auto-detect emulation during logon option.  If the user 
              selects this mode, Telegard will adjust their emulation to 
              the most compatible terminal emulation during logon 
              automatically (RIP, Avatar, ANSI, TTY, in that order...). If 
              the terminal mode is not correctly detected, or the detection 
              chooses a mode that the user does not wish to use, the user 
              should not use this feature.

            + Added option to delete BBS entries when editing them.  Only 
              the user who added the entry, or a CoSysOp, can delete/edit 
              any given entry.

            + Added subscription update command, which will update the date 
              a given subscription is to expire.  The menu command is OZ.

                  !      Cancel (reset) expiry date
                  =[n]   Set to n days from current date
                  +[n]   Set to n days from current subscription expiry

            + Added ability to override the external chat.  Pressing ESC 
              instead of ENTER will force an internal chat (ENTER will 
              continue to use external if available, and internal 
              otherwise).  ALT-Y will force internal chat, while ALT-C will 
              use external if available, and internal otherwise.

            + Added ability to send internode messages from WFC menu -- 
              command N.

            + Added MCI time conversion code to convert times to 12-hour 
              with am/pm indicators.  The input is time in the form of 
              HH:MM:SS or HH:MM (or even HH, as it only checks the first 
              two characters).  For instance:

                        ~ET8~ST       will produce:
                                         ~ST: 13:45:01 => 01:45:01p
                                         ~ST: 07:45:01 => 07:45:01a
                        ~ET5~ST       will produce:
                                         ~ST: 13:45:01 => 01:45p
                                         ~ST: 07:45:01 => 07:45a

              (as you can see, you can stack MCI codes to get the desired 
               affect as you see fit...)

            + Added sysop key ALT-1 for transmit file; it assumes a raw 
              (unlisted) download, and uses the unlisted download engine 
              after the filename has been input.

            + Added ACS for subscription level Z<c> (see ACS.REF for notes).

            + Updated the crt unit to correctly calibrate on PII 200+ 
              machines, so that the RTE #200 should *not* occur.  If anyone 
              previously had to run tppatch.zip to get Telegard to run on 
              their machines, I would appreciate knowing if the problem has 
              been solved.

            + Added ALT-N function key to enable/disable chat paging audio 
              on a per-call basis (instead of having to wait for the user 
              to actually chat you).

            + Updated the SysOp log viewing code; in addition to the 
              Telegard sysop*.log files, any file in the /logs folder can 
              now be viewed by typing the filename.

       TG/2 + Added option to control the operating priority of Telegard 
              sessions.  When booting, Telegard will set the session to 
              NORMAL priority and then adjust the potency of that setting 
              based on the system configuration (-31 to +31).  I don't 
              honestly know much about this, Telegard will start at 0 for 
              now, until someone can let me in on an 'ideal' setting...
     
            + Door commands can now accept M<time> as a door command which 
              is the maximum amount of time the user can spend in the door 
              (the minimum of <time> or OnlineTimeLeft is passed in the 
              door drop file...).

            + Added Lower, Mixed, Upper and Strip Colour commands to the 
              menu editor for descriptions.  NOTE: These routines were not 
              tweaked for menu display; so changing to lower case will 
              change colour codes just as it would mci codes, etc.  They 
              are meant to be helpful rather than powerful; they will not 
              be changed from their current processing format.

            + Added "message to user" (email) option to user editor; note 
              that you can't send email if using the user editor from the 
              message prompt, only from the WFC or *U menu commands...

            + Added menu input option; display in lower case.  The input 
              will still be parsed as usual (uppercase), but when echoing 
              back to the screen, the echo'd characters will be in lower 
              case.

            * Installation procedure now attempts to run 'index build all' 
              and 'makelang language\english' automatically during a new 
              installation.  This simplifies a new installation ever so 
              slightly.

            * Voting system under certain conditions would get itself into 
              an infinite loop--fixed.

            * Duplicate phone number searching (during newuser logon) will 
              now match the last recorded CID for users, and will also 
              check the current users CID in addition to data/voice 
              numbers.

            * Telegard command line options are now logged for reference.

            * Log files are now opened in fmWrite+fmDenyWrite mode when 
              saving the temporary logs from /temp/ back to the /logs/ 
              directory.  This will hopefully now avoid runtime errors when 
              viewing the main sysop logs and another node attempts to save 
              its log file contents back to the main sysop logs.

            * Updated the modem configuration section; option A now allows 
              you to modify any of your nodes profiles as well as the 
              default profile (for single node systems, it always uses your 
              only modem profile).  In addition, for multinode systems, 
              there is now an option to update a node profile to the 
              default modem profile settings.

            * I patched the video routines again, based on some advice and 
              code from Tom Fotherby (enigma).  There shouldn't be TOO much 
              of a noticeable difference under DOS, but under OS/2 and other 
              operating systems video display should be much improved.  My 
              thanks for the advice and sample code . . .
            
            * External archive viewing should once again work (was 
              displaying the wrong capture . . . ).

            * Added gender ~&8 MCI code for user browsing (1614/1615).

            * Errorlevels are now handled slightly differently:
                        
                PRESENTLY                                     FORMERLY
                 0          Regular exit (from -Q option)      0
                 1          WFC quit (Q from WFC menu)         N/A
                 2          Error exit                         1

              (these values can be overridden with -EN, -EQ and -EE command 
              line options respectively).  ALso, note that events should 
              now exit with the proper level, and that the exit level is 
              now noted in the logs.

            * User editor now allows the changing of the SL level to 
              something higher than the online user, IF, the editor is 
              evoked from the WFC (Online user is SysOp), or from 
              ALT-E/ALT-U.  Otherwise, a user can only promote another user 
              up to their security level if they are in the interactive 
              user editor (*U).
        
            * Caller-ID numbers will now be reformatted as follows: all 
              spaces and dashes will be removed.  If the remaining 
              characters are all digits, Telegard will then determine if 
              the number is longdistance (leading 1), and then check to see 
              if the number has 7 or 10 digits--and format as ###-#### or 
              ###-###-#### respectively.  If number does not meet the 
              criteria, no further reformatting is completed.

            * When entering user names (real name or alias/handle), 
              Telegard will now strip the colour codes and check to see if 
              a name matches; i.e. coloured names will no longer be 
              considered differently than uncoloured names.

            * I've patched the code for large drives (partitions > 2.1GB). 
              This means that the fcopy() routine should check for 
              available drive space before copying, as should the upload 
              routines, and message posting.  The drive space MCI code 
              should return >1024 MB, and the wfc should report >1 GB.  If 
              someone with a large drive could possibly check this and get 
              back to me, it would be greatly appreciated!

            * Input routines now accept CTRL-Y again for deleting words.  
              Telegard input routines use CTRL-X to delete from the cursor 
              back the beginning of the line, and CTRl-Y to delete from the 
              cursor back to the next word (it consumes backwards; all 
              non-space characters of the current word, and all spaces 
              between that word and the previous word).  Both CTRl-Y and 
              CTRl-X work with the cursor keys too . . .

            * -X with a parameter > 1440 will now properly set the event to 
              24 hours+ from the current time.  Thus, passing -X1440 will 
              no longer assume an IMMEDIATE event, but one for 24 hours (it 
              was previously parsing 1440 as the proper event time, but 
              since there is no stored last execution time, starting the 
              event immediately...)

            * If line 103 in the language file is blank (i.e. excluded) 
              then Telegard will not process the "Press ENTER to continue" 
              when answering from the WFC.  NOTE: THIS FEATURE IS THERE FOR 
              A REASON, IF IT MESSES UP YOUR ANSI DETECT, USER LOGONS, ETC. 
              THEN DON'T COMPLAIN IF YOU REMOVE THE FEATURE!

            * I reworked the buffer() routines used in the script language 
              (our current one at least), and the file display routines. 
              The buffers were incorrectly handling the last character of 
              the file under a variety of conditions (most especially when 
              there was no CR/LF or EOF markers) . . . this was responsible 
              for missing characters, possibly MCI or ANSI codes.

                            * * * IMPORTANT * * * 

              The script language as we know it relied heavily on these 
              buffer routines for jumping in, around, back, etc. in the 
              file.  While it is not imperative to retest these features 
              thoroughly since I'll change the whole thing around with the 
              compiled scripting language, IF you run into problems you can 
              go back to B15 and let me know . . .
        
            * Fixed up -X[n] parameter; it should now accept legal values, 
              and only process them for the NEXT event, not the FIRST 
              possible event _ever_.

            * Changed the default path resolution option--since Telegard 
              now has advanced checking, it is not necessary to scan each 
              file & message path during startup.  Thus, Telegard now 
              defaults to NOT checking file paths during startup.  You can 
              force a path check by passing -PATH on the command line; 
              doing this once a day during maintenance (such as telegard 
              -path -s or some such) isn't harmful.  Subsequently, command 
              line option -P is now obsolete.

            * External events now respond to 0 minutes, and now also have 
              the FORCED flag (to deal with events that start in a couple 
              of minutes, but are exceeded by the time the user actually 
              logs in (load, name, password...).

            * Menu renaming now deletes the original file; and no longer 
              allows for empty input.  Menu copying now works again (patch 
              to disable empty input also disabled copying of menus!).
            
            * MCI code ~&9 for last (few) callers is now in minutes.
                
            * WFC screen colours don't bleed when answering from the WFC 
              screen.  Simple fix, never noticed (silly frontends...)

            * -O command parameter works properly now (.b13 fix).

            * Passwords will not be displayed if local security is on; 
              previously only display security turned off that feature, but 
              I decided that local security overrided it in that particular 
              case . . . Also, toggling local security on will also toggle 
              display security on (it can be toggled off separately...)

            * Added ~&9 mci paramater to last callers and last few callers
              lines (1602/1603 and 1722/1723 respectively).

            * Stacked menu commands (from menu loads), such as -^ 
              MESSAGE;;O should now properly work again.

            * Menu command OK should now work properly.

            * Events should now properly redraw WFC screen as necessary.

            * SysOp windows were cleaned up and extended slightly.  I will
              be adding a two-line compact mode shortly.

            * Language selection prompts now have a default; to the new 
              user default language (if any), or to the first language in
              the list.

            * Daily timegraph, etc. colours and characters were added to
              the language.

            * Fixed menu looping caused by the FILETAG/MSGREAD menus being 
              called from a menu with a FIRSTCMD which calls a menu 
              function which loads FILETAG/MSGREAD menus.

            * Added paging capabilities to the range input screens.

            * Who's Online options now correctly use the hiddenlog features
              to hide a user who is not supposed to be seen online.

            * Menu command copying has been repaired for certain 
              combinations which Telegard thought were invalid, but were
              not.

            * IEMSI sequence should now be abortable with the ESC key.  
              Also, IEMSI software (client) is now logged to the SysOp log 
              to aid in debugging IEMSI problems (if reporting any IEMSI 
              related problems, I need that field...).

            * Changed -C command line parameter so that it accepts an equal 
              sign (-C=[s]) like other string parameters.  Telegard 
              presently parses both methods--this isn't likely to be around 
              for the final 3.10 release.