
                                FASTLST

                         Changes and Additions



        1.20 - WARNING: FastLst v 1.20 is NOT a "Drop In" replacement
               for previous versions; you MUST modify the config file
               following the comments in it before using this version.

             - In order to make available new powerful options without
               using clumsy syntax and risking subtle side effects and
               strange interactions, some obsolete features have been
               dropped and the methods to specify the files to be
               compiled have been modified.

             - FastLst is faster than ever: on my system and with my
               configuration, the OS/2 version is about 25% faster
               than v 1.16.
               If you time it, be aware that the OS/2 version optimizes
               memory allocation (and speed) basing on the needs of the
               previous compilation, so it is usually a bit slower on
               the first run with a new cfg.

             - The ancient "Version6" nodelist support has been
               dropped. However the sometime-useful fidouser.lst is
               still available.

             - The "MergeList" and "Kill999" options have been dropped.
               With version7 you can simply compile segments after the
               full list, since updated entries are put in the indexes
               in the place of old ones.

             - Added support for compiling multiple V7 nodelists
               with different output names.

             - Added support for automatic decompression of
               nodelists and nodediffs: no more complex batch files.

             - Now FastLst compiles an output nodelist only if some
               of its input lists are new: the -f command line switch
               has been added to force compilation.

             - Pay Attention: version 1.14 introduced a new behaviour
               in generating V7 indexes to circumvent a bug in
               Binkley 2.50 V7 search function.
               Now Binkley 2.58 should have fixed the bug, so
               FastLst goes back to the "correct" V7 index.
               A new cfg option has been added to keep using the
               "bug-circumvent" index form: see "V7BugFix" in the
               example config file.

               *******************************************************
               * If you are using an older Binkley or some program   *
               * that have got inspiration from Binkley 2.50 sources,*
               * you could experience "address not found" problems,  *
               * unless you explicitly activate the "V7BugFix"       *
               * option in fastlst.cfg.                              *
               *******************************************************

             - The "KillOld" and "AutoErase" verbs have been dropped.
               Old nodelist and nodediff files are always erased.
               You can control how many archived files are to be kept
               via the new archive processing verbs.

             - The -o -s -l -g -m -p -b command line switches have
               been dropped since they are now useless.

             - The "include" cfg keyword and the -i command line
               switch have been dropped.
               You can still include lists of passwords in a separate
               file via the "PasswordFile" cfg keyword, that allows
               to optionally omit the "Password" keyword in front of
               each password specification.

             - Due to the frequent misunderstanding of the real meaning
               and function of the "Address" config option, I have
               decided to drop it.
               These days it is not much useful (in a nodelist
               compiler), since many systems have various different
               addresses and we are used to write addresses in the full
               4D format to avoid ambiguities.
               In the various config options that require an address
               or a part of it, you now need to specify all the
               required fields, always starting with the zone number:
               no assumption is made on your zone/net/node.

             - The obsolete "MaxBaud" and "Baud" verb have been dropped.
               Should you use an old 2400 non error-correcting
               modem that needs equal DTE and DCE rates, make sure
               your front-end is configured to dial using its own
               max baud rate instead of the baud rate reported by
               the nodelist for the callee (AutoBaud in Binkley.cfg).

             - The "Country" and "UCost" verbs have been dropped,
               the "Dial" and "Cost" tables have been slightly modified
               to specify domestic and international defaults in a more
               coherent manner and to include "UCost" info.

             - The "TypeExact" verb has been substituted by the
               complementary "BitType" option.
               Thus the default is now the "Exact Type" used by
               Binkley 2.55 and newer.

             - The "TypeCost" verb has been dropped.
               It was used to differentiate CallCost basing on
               modem type. This way, in a multi-line environment,
               you could make each line call the appropriate modem
               types.
               To achieve the same goal, please use the front-end
               dial string selection options (ModemTrans in Binkley).

             - The totally useless "Name" and "Comments" options
               have been dropped.

             - The "Gated" config option has been dropped and the
               "GateAddr", "GateCoord" verbs have been replaced by
               "IncAddr", "ExcAddr", "IncCoord".

             - The "Interlist" config option has been dropped.
               It is substituted by the "IncSysOp" verb.

             - The "Type" and "CM" keywords have been dropped.
               Their functions are more cleanly implemented via
               the "NodeFlags" verb.

             - The "TypeDef" statement has been modified to a "table"
               form, for better coherency.

             - The addresses in Fidouser.Lst now always have the
               heading zone number, even if it is the same as yours.

             - Fixed little bug that could cause some cfg keywords
               not to be recognized unless followed by a comment



        1.16 - Fixed bug in the Register routine that caused
               some keys not to work (1 every 256).



        1.15 - Some programs skip the first entry in V6 nodelist,
               assuming it is a dummy entry that contains the version
               number of the nodelist. These programs could loose
               the "zone number" of the first zone compiled, thus
               assuming zone 0.
               Now FastLst puts the "version ID" entry at the start
               of nodelist V6.



        1.14 - Some programs do not correctly read V7 indexes when
               an empty node appears (This happens when a key has no
               greater keys in the lower index level, so that it points
               to an empty node).
               Sometimes these programs could not find part of the
               V7 nodelist entries.
               Now FastLst adds a dummy duplicate key to avoid the problem.

             - New "Node,<address>,..." keyword to allow
               straightforwad addition of nodes without the need for
               Zone and Host lines.

             - Removed the Point flag in the output nodelist for
               point 0 entries (after the "Boss,..." keyword).



        1.13 - When a totally empty line was found in a nodelist
               file a strange undesired nodelist entry was compiled.
               It was not a bug since FTS-0005 does not allow
               empty nodelist lines, however it has been fixed
               to avoid problems with private manually written
               nodelist segments.

             - The .DOC now reports an "undocumented" feature:
               when using the "Boss,<address>" method for pointlists,
               you can also use the point #0 to easily add the Boss
               entry, if useful.



        1.12 - In the case of SysOps of multiple nodes, all the
               Name/Address couples are now put in the SysOp
               lists (fidouser.lst and sysop.ndx).
                 This new behaviour allows to use the great "address
               choice" feature of TimEd (excellent Dos/OS2 message
               editor by Gerard van Essen 2:281/527).

             - New behaviour of "SysDup" option: since now all the
               name-duplicate sysop entries are kept by default,
               SysDup allows to keep (for a particular sysop name)
               only the entry with one of the specified addresses.

             - Many internal changes, not visible to users: if you
               find out a new unexpected behaviour, please let me
               know.

             - Removed redundant empty lines in nodelist.prn and
               nodelist.txt after comment lines.



        1.11 - CRC is now checked on all nodelist files that have
               the expected CRC on the first line (previously it
               was checked when applying nodediffs only).

             - New errorlevel 10 for CRC Error while compiling
               nodelist (errorlevel 9 is still used for CRC Error
               while applying nodediff).

             - When merging the first line is skipped if it contains
               the CRC.

             - New -r command line switch to avoid exit on CRC Error.

             - New -s command line switch to override SYSOP.NDX
               base name.

             - Any file specification can contain drive and path,
               including -n -d -o -s overrides.

             - When using Version7 only, the added nodelist segments
               are appended to the end of the full main nodelist
               instead of the end of your zone.

             - Some small changes in Nodelist.Prn and Nodelist.Txt

             - Fixed bug introduced in v 1.10: when a region segment
               (no zone entry) was compiled as the main nodelist,
               zone 0 was erroneously assumed.
               Now the address levels not present in the main nodelist
               correctly default to the config address.



        1.10 - OS/2: First 32 bit version, compiled by BC++.

             - OS/2: New "flat" index sorting (no more disk based
               merge-sort).

             - OS/2: "TmpPath" option in *.cfg not used any more.

             - OS/2: Long filename support

             - DOS: The "TmpPath" directory is now automatically
               created when necessary.

             - New improved Disk Full handling (errorlevel 4)

             - New "-o<nodebase>" command line switch to override
               output file names (NODEX.* -> <nodebase>.*).

             - New "KillAfter" config verb, to save old nodelist files
               in the case of compilation error.

             - New "Boss <address>" statement for easier pointlist
               support (see FastLst.DOC).

             - New optional partial address parameter in
               "MyList <nodefile> [default partial address]"
               to allow the addition of nodelist segments without
               the need of ZONE, HOST, node prefix lines (V7 only).
               See FastLst.DOC for more details.

             - New "-i<include>" command line switch to allow easier
               different file inclusions.

             - New "KillOld" config statement to kill old versions of
               nodelist files.

             - New "Kill999" config statement to kill the .999 file
               that remains after merging with MergeList.

             - Now the .999 file is killed whenever FastLst begins
               execution, thus you do not have to manually delete it
               if you stop using the MergeList command.

             - Now the "Gated" config keyword prevents Hub coordinators
               of other zones to be put in the output nodelist (only
               ZC and NC remain).

             - New "GateAddr" config keyword allows to have only
               selected zones, regions and nets in the output files.

             - New "GateCoord" config keyword allows to have in the
               output files only selected coordinators from the excluded
               zones, regions and nets.

             - New errorlevel 9 exit after CRC error while applying
               a nodediff. If "Autoerase" is active, the nodediff and
               the resulting nodelist files are erased, otherwise they
               are renamed to NODEDIFF.BAD and NODELIST.BAD.

             - New "StatusLog" config statement to specify the log
               filename in the .cfg instead of the command line.

             - New "TypeExact" config option to set modem types in a
               way more coherent with the behaviour of Binkley 2.55 and
               newer.

             - New "SysDup" config option to override FastLst's choice
               when killing duplicate SysOp Names.



        1.06 - OS/2: Fixed bug that caused some reg. keys not to work.

             - DOS: Fixed bug that sometimes caused memory problems
               during index sorting.
             


        1.05 - New UCOST verbs to set User Cost Different from Call Cost.

             - OS/2: Fixed bug that sometimes caused "Disk Full" error.



        1.04 - Changed redirection criteria: if you have a password with a
               hold/unpublished system or its coordinator, then it is NOT
               redirected; instead it gets an empty phone number string.

             - Slightly changed the algorithm to choose the entry for
               a multi-SysOp in Sysop.Ndx, so that he never gets data from
               an entry that is not used due to local segment override.

             - Added "Flags" Keyword to set the user defined bits.

             - OS/2: Fixed a bug that caused a "NULL POINTER" error when
               compiling only Version 6 and FidoUserLst.



        1.03 - Added <CR> before comment output to fix video output when
               both comments and report are active, Thanks to Roberto
               Zanasi.

             - OS/2: First (16 bit) version, ported by Pasquale Cantiello.
            


        1.02 - Null pointer bug fixed in Merge module, Thanks to Pasquale
               Cantiello.



        1.01 - Minor message and DOC adjusting.



        1.00 - First public release.


