home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #3 / amigamamagazinepolishissue1998.iso / bazy / kingfisher-distribution / developer / history < prev    next >
Text File  |  1997-05-18  |  44KB  |  1,051 lines

  1. Listed in reverse-chronological order, the following text details changes
  2. made to KingFisher, KFServer, and RexxFisher since their initial public
  3. release with version 2.1:
  4.  
  5.  
  6. v2.26    18-May-1997
  7.  
  8.     »»» BUG FIXES:
  9.  
  10.     An enforcer hit occurred in the KFServer when the server had no
  11.     databases available at all and client signed on, expecting to be
  12.     given access to the (non-existant) default database. Thanks to
  13.     Antti Siipola for making me aware of this bug. It took me "only"
  14.     two hours to find. :-/
  15.  
  16.     When the (translated) text for one or more of the browsing buttons
  17.     was wider than the button pair, then KingFisher would compute the
  18.     spacing wrong and create a highly screwed up layout: A cosmetic
  19.     bug, and an ugly one, too.
  20.  
  21.     When a database cannot be opened with the Open Database command,
  22.     KingFisher will now also display name and description of the file
  23.     that could not be found.
  24.  
  25.     »»» IMPROVEMENTS:
  26.  
  27.     Print and Export operations are now disabled while viewing the
  28.     Clipboard or a Product-Info file. Print and Export work only on a
  29.     real database (at this time) so choosing those commands used to
  30.     switch out of Product-Info/Clipboard view mode and print the
  31.     current database record, which wasn't exactly intuitive behavior.
  32.  
  33.     Under Kickstart 3.0, when choosing to 'use external images' the
  34.     program will now explain that a bug exists that might crash the
  35.     machine. An option is given to cancel the choice, but some KS3.0
  36.     machines may not have a problem, so the option remains otherwise
  37.     available.
  38.  
  39.     French language catalog added. Thanks Philippe!
  40.  
  41.     The Search Result window will be closed to avoid confusion when the
  42.     clipboard or a Product-Info is viewed, instead of the database to
  43.     which the window's Search Set applies. The Search Set associated
  44.     with the window is affected by the operation, of course.
  45.  
  46.     Documentation updated with references to Gateway 2000 and Amiga
  47.     International, Inc.
  48.  
  49.  
  50. v2.25    06-Dec-1996
  51.  
  52.     »»» BUG FIXES:
  53.  
  54.     The EDIT menu was disabled for no good reason at all. Whoops!
  55.     Thanks to Philippe Casidy for making me aware of this.
  56.  
  57.     'External command upon successful search' mistakenly executed
  58.     the same command as the 'Exit from view mode' command.
  59.  
  60.     Some documentation "bugs" fixed, and there were a few, sad to say.
  61.  
  62.  
  63. v2.24    02-Jun-1996
  64.  
  65.     »»» BUG FIXES:
  66.  
  67.     (A fatal crash related to external images under Kickstart 3.0 is
  68.     a known problem; External Image loading is now turned off by
  69.     default to prevent this bug from triggering at once.)
  70.  
  71.     KFServer now returns a proper notification to the client in case a
  72.     database file's volume is not mounted; this worked when the index
  73.     files needed to be retrieved, but not when the database files were
  74.     unavailable. Seems like nobody is using floppies anyway, as nobody
  75.     reported this...
  76.  
  77.     »»» IMPROVEMENTS:
  78.  
  79.     KFServer now sorts the list of available databases alphabetically.
  80.  
  81.     It is now possible to define an external command to be executed
  82.     when KingFisher is forced to leave "View" mode (i.e. when a record
  83.     selection is performed while viewing a Product-Info file.) The
  84.     command to be executed could be something like 'say "oops! we're
  85.     now back to viewing the database"'
  86.  
  87.     KingFisher experienced a handful of minor improvements. Most of them
  88.     you will probably never notice, but I know where they are and why I
  89.     made them. :-)
  90.  
  91.  
  92. v2.23    18-Apr-1996
  93.  
  94.     »»» BUG FIXES:
  95.  
  96.     (no bugs known (hooray!); no bugs fixed)
  97.  
  98.  
  99.     »»» IMPROVEMENTS:
  100.  
  101.     KFServer is now able to handle a mixture of Release 1 and Release 2
  102.     datafiles. In other words, the supplied data files that comprise
  103.     the 1000Fish database have always been in Release 1 format. Adding
  104.     fish disks 1001+ in Release 2 format caused the server to mistake
  105.     the inconsistent data offsets for a corrupted index file when
  106.     sanity checking was enabled.
  107.  
  108.     It is now possible to define external commands to be executed when
  109.     KingFisher completes a search. A spearate command can be executed
  110.     for success and failure conditions of a search. Useful for playing
  111.     a sound, or "say 'found something!'"
  112.  
  113.     The text layout engine has been completely rewritten. The code was
  114.     a mess anyway. It's much prettier now, much more direct, and far
  115.     less difficult to alter if this is necessary in the future.
  116.  
  117.     \> is now handled slightly differently depending where it is used:
  118.        1. in the format file it indents the field contents, effectively
  119.           altering the left margin until the end of the field contents
  120.           are reached;
  121.        2. if used within the contents of a record, the indentation is
  122.           terminated by the next \n (newline) as originally designed.
  123.  
  124.     A completely untested \< should push the left margin to the left by
  125.     one tab stop. Or so it is hoped...
  126.  
  127.     \# allows switching in and out of verbatim mode. Fields like the
  128.     description field are handled in flow mode, meaning that blanks and
  129.     end of line characters are treated as blanks and multiple blanks
  130.     are treated as a single blank. In verbatim mode, practically all
  131.     characters are allowed to go to the display, even multiple blanks.
  132.  
  133.     New "Product-Info Specification Version 8" integrated into the
  134.     documentation.
  135.  
  136.  
  137. v2.22    (ack!)
  138.  
  139.  
  140. v2.21    31-Jan-1996
  141.  
  142.     »»» BUG FIXES:
  143.  
  144.     KingFisher could forget to unblock its windows if the "Copy to
  145.     Clipboard" command was issued in the Search Result Window. The
  146.     program would still respond to external kill signals (which can
  147.     always be issued to the server to cause it to signal all clients.
  148.         The same problem may have affected printing and export
  149.     functions as well.
  150.  
  151.  
  152.     »»» IMPROVEMENTS:
  153.  
  154.     KINGFISHER now removes the intial About window automatically if it
  155.     has been visible for longer than 2 seconds while the server &
  156.     database were being loaded/initialized.
  157.  
  158.     KingFisher now uses the KEYPATH environment variable (if set) in
  159.     addition to the KEYS: KEYFILE: and KEYFILES: (logical) volumes to
  160.     locate its keyfile.
  161.     NOTE: The Installer will always install the file to the default
  162.     directory if found on a distribution disk.
  163.  
  164.     KingFisher now adds the version and release dates to the Search
  165.     Result Window entries for a significantly quicker overview of what
  166.     records are likely to be newer than others.
  167.  
  168.     KingFisher now sorts the Search Result Window. By default, the
  169.     entries are presented in alphanumeric order but this can be changed
  170.     back to what KingFisher used to do: present the list in record
  171.     order by altering the "Search-Result-Order" entry in the .prefs
  172.     file to a value of "S" (sequence) instead of "N" (name); Name order
  173.     knows how to take proper version numbers into account (i.e. v2.5 is
  174.     earlier than 2.30, which is again earlier than 2.768.)
  175.  
  176.  
  177.  
  178. v2.20    20-Dec-1995            *** 1st wide public release since 2.10
  179.  
  180.     »»» BUG FIXES:
  181.  
  182.     KINGFISHER 2.11 and 2.12 didn't run with Kickstart 2.x because the
  183.     Datatypes.library was auto-opened (fails under KS 2) rather than
  184.     under control of my own routines, which adjust for the lack of it.
  185.     i.e. KINGFISHER RUNS UNDER KS2.x AGAIN (v2.11 and v2.12 didn't.)
  186.  
  187.     KingFisher should no longer crash when adding fish from a directory
  188.     tree.  This was broken since v2.6.  (whoops!)
  189.  
  190.     KingFisher had a subtle (and potentially quite serious!)  problem
  191.     with requester-blocked windows. This problem was especially serious
  192.     with multiple blocked windows.  8-(
  193.  
  194.     KingFisher indicated a fish# (record) one too large when exporting
  195.     fish to the clipboard (this was in the .INDEXINFO portion.)
  196.  
  197.     KingFisher's "Build Version Links" command is no longer available
  198.     if the database is not writable.
  199.  
  200.     KingFisher's database title gadget would overlap the listview if
  201.     KingFisher was started without this gadget visible and it was then
  202.     selected to appear in the interface.
  203.  
  204.     KingFisher had a minor bug in the clipboard routine: under certain
  205.     circumstances the clip would not be properly terminated and might
  206.     then have additional junk appended.
  207.  
  208.     KFSERVER now marks the index files as "dirty" when truncated; this
  209.     assures that they are actually written to disk if no other changes
  210.     have been made to the database.
  211.  
  212.     KFServer can now properly truncate the default database.  Why this
  213.     has slipped me by for so long is a mystery...
  214.  
  215.     KFServer no longer complains about a record being too big after one
  216.     or more records have been added to the database of which at least
  217.     one is larger than any previous record.
  218.  
  219.     »»» IMPROVEMENTS:
  220.  
  221.     KFSERVER will no longer exit if the default database is unavailable
  222.     for some reason. A client that does not open a specific database is
  223.     in such cases unable to get any work done unless ANOTHER client has
  224.     opened a database. The database used by the "unspecific" client in
  225.     such cases is, for most practical purposes, indeterminate (it is
  226.     the database that has been open the longest.)
  227.  
  228.     KFServer now ignores /* ... */ comments at the top of Product-Info
  229.     files. Nested comments are not permitted.
  230.  
  231.     KFServer now supports a 'priority' setting in its .prefs file to
  232.     allow the server to be set to a higher priority than normal. It is
  233.     not recommended to set the server's priority higher than 4.
  234.  
  235.     KingFisher now displays "(no database selected)" when the KFServer
  236.     cannot present it the requested database on startup; it is then up
  237.     to the operator to select a different database.
  238.  
  239.     KingFisher now positions to the first added fish after a directory
  240.     tree scan and invokes the reindexing command for you (which you may
  241.     cancel if you wish.)
  242.  
  243.     KingFisher no longer attempts to perform a reindexing operation on
  244.     all fish added through the directory tree scan; you must perform
  245.     this operation "manually" afterwards -- this is so you have more
  246.     control over what and how you want to reindex.
  247.  
  248.     KingFisher can now start the KFServer in DEBUG mode if either the
  249.     tooltypes (Workbench interface) or the CLI parameters contain the
  250.     keyword "debug"
  251.  
  252.     KingFisher no longer complains about being unable to connect to the
  253.     server when the actual failure was access to the desired database.
  254.     This problem is now correctly diagnosed and presented to the user.
  255.  
  256.     KingFisher now has 'search-priority' and 'search-priority-relative'
  257.     settings in the .prefs file, which control the priority while it is
  258.     engaged in searching for information.
  259.  
  260.     Both KFSERVER and KINGFISHER now use a keyfile to determine freely
  261.     distributable vs. registered status.  The keyfile is sought first
  262.     in the current directory, then in KEYS: KEYFILE: KEYFILES: and S:
  263.  
  264.         -------------------------------------------------
  265.         REGISTERED USERS: For the upgrade cost of US$5.00
  266.         you can upgrade to the latest KingFisher, and get
  267.         the keyfile, too.  The keyfile means you can just
  268.         download future versions of KingFisher without
  269.         needing to apply complicated patches to upgrade!
  270.         -------------------------------------------------
  271.  
  272.     Released a new and *much* more up-to-date Product-Info file. :-)
  273.  
  274.     Online (AmigaGuide) documentation reorganized: *lots* of work!
  275.  
  276.     Flag gadgets are now initially disabled by default to prevent
  277.     premature manipulation before a database is loaded and its R/W
  278.     state becomes known.
  279.  
  280.     New VIEW menu allows alternate view of a Product-Info file or the
  281.     clipboard to help you proof-read your own Product-Info files.
  282.     Viewing the Product-Info file is a "live view" that is implemented
  283.     via Notification: any change to the file is immediately detected by
  284.     KingFisher and the display updated.
  285.  
  286.     Custom formats used for the display, printing, and for exporting
  287.     are now hotlinked via AmigaOS notification: a change to the files
  288.     will be immediately reflected within KingFisher!
  289.  
  290.     KingFisher now attaches to the server while simultaneously the
  291.     About window is being displayed. This improves startup speed. The
  292.     About window cannot be removed during initial attachment to the
  293.     server (busy pointer.)
  294.  
  295.  
  296.  
  297. v2.12    23-Oct-1995            *** Only on the "GoldFish 3" CD-ROM
  298.     
  299.     »»» IMPROVEMENTS:
  300.  
  301.     KINGFISHER accepts one or more 'field-format-handling' entries in
  302.     the .prefs file to allow setting defaults for field layout control
  303.     based on the field name.  This feature provides a global override
  304.     for fields that do not specifically define their layout preference
  305.     via option sets (see documentation.)  In short, @{[f1>]description}
  306.     as found in a .format file (see display/print/export formats) could
  307.     be defined globally with 'field-format-handling=description=1f>'
  308.  
  309.  
  310.  
  311. v2.11    07-Oct-1995            *** Released only to Registr.#1034
  312.  
  313.     »»» BUG FIXES:
  314.  
  315.     KINGFISHER now supports help on the 'Use external gadget images'
  316.     menu option.
  317.  
  318.     Help with expression errors now brings up extended AmigaGuide help
  319.     as originally intended.
  320.  
  321.     Database title is now displayed even if no specific database is
  322.     selected (i.e. if you have never done more than use the default
  323.     without explicit selection through the "Open Database" command.)
  324.  
  325.     »»» IMPROVEMENTS:
  326.  
  327.     KINGFISHER no longer closes and reopens the window when changing
  328.     the status of the "Show Database Title" gadget.
  329.  
  330.     Moved clipboard-related items in the EDIT menu up above the index-
  331.     related items.
  332.  
  333.     Documentation brought up to date in several portions.  Expression
  334.     tutorial modularized.  Typos fixed.  Enhanced for AmigaGuide V39+
  335.  
  336.     Support for external images on buttons.  The ugliness of the Flag
  337.     gadgets (2 rows of 8 flags in top right corner) benefits from this
  338.     new feature especially.  See the documentation, section 2.10 SPECIAL
  339.     for more information.
  340.  
  341.     Internal images (esp. the Flags) improved.  Well, *I* think they're
  342.     nicer.  Don't you?
  343.  
  344.     REXXFISHER now listens to the CTRL-E break signal to interrupt
  345.     a search in progress.
  346.  
  347.     KFSERVER now keeps track of R/W status of both index components:
  348.     This eliminates the server's attempt to update the quick index on a
  349.     R/O volume even if only the main index has changed (and the quick
  350.     index really did not need to be saved.)
  351.  
  352.  
  353.  
  354. v2.10    4-Jul-1995
  355.  
  356.     »»» BUG FIXES:
  357.  
  358.     KINGFISHER's "Apply Mask to Search Set" operation now properly
  359.     titles its "operation completed" announcement window with the
  360.     expected "Apply Mask ... operation completed" rather than the
  361.     erroneous "Export..." title.  Silly typo.
  362.  
  363.     KFSERVER had a subtle and rather severe bug in the update index
  364.     routine.  This afflicted *ONLY* an ONDISK index.  Another part of
  365.     this bug (it multiplied when I wasn't looking, really!) involved
  366.     a corrupted 1st record in the index.  INRAM index had no problems.
  367.  
  368.     A completely empty index (no index at all) would fail to extend the
  369.     index when additions were made.  This also affected reindexing.
  370.  
  371.     »»» IMPROVEMENTS:
  372.  
  373.     The Version Linking operation has been sped up DRAMATICALLY!  In
  374.     fact, we're back to an O(n) algorithm, which is better than I had
  375.     expected to achieve. :-)
  376.  
  377.     The Version Linking now has a percent bar and no longer dumps the
  378.     status information passed from the server to a console window.
  379.     This was rather ugly for a long time, I must admit. <blush>
  380.  
  381.     Installing a database with the PROJECT/Install... command will now
  382.     add paths to the relevant filename references if no paths are
  383.     given in the .kfdb file being installed.  The path added is the
  384.     directory from where the .kfdb file is copied.
  385.  
  386.     Reindexing the database will now present indexing information in a
  387.     small window with percentage progress bar, rather than with text
  388.     dumped to a console window.
  389.  
  390.     The main window now opens with an additional gadget: the Database
  391.     Title Gadget.  You may unselect the appropriate menu entry in the
  392.     PREFERENCES/Display menu if you rather not have KingFisher display
  393.     the current database title.  Depending on the resolution of your
  394.     screen, you may find it more important to have an extra line or two
  395.     of the descriptions visible.
  396.  
  397.     The menu button no longer blocks the VersionLink, Reindex Status,
  398.     and About windows (these have no menus.)
  399.  
  400.     The menu (right mouse) button now closes the Expression History and
  401.     the Open Database windows.  The Open Database window adjusts its
  402.     position based on the availability of the new Database Title Gadget
  403.     and the Expression History gadget no longer has a border and close
  404.     gadget (RMB and Escape key will cancel & close the window, as well
  405.     as clicking outside the window.)
  406.  
  407.     The maximum height of the search expression gadget is now definable
  408.     in the .prefs file as 'MaxHistHeight' -- a minimum of 3 lines is
  409.     required.  This height is dynamically adjusted to prevent the
  410.     window from sliding up over the search expression gadget when the
  411.     window is taller than screen space available.
  412.  
  413.     The "Apply Mask" operation in the Search Result Window's menu
  414.     (where this command affects all fish in the displayed Search Set)
  415.     has been sped up dramatically as it now uses a new call made
  416.     available beginning with KFServer 2.8
  417.  
  418.     When a search completes and the screen where KingFisher's main
  419.     window resides is not the active screen, then KingFisher will flash
  420.     all screens as a signal that the search is completed.
  421.  
  422.     The Search Result window now closes and re-opens when the main
  423.     window is resized.  Keeps things tidier.  This is an option in the
  424.     Display Preferences: Sticky Result Window.
  425.  
  426.     The font selection is now updated in the .prefs file only if a new
  427.     font is explicitly selected.  I.e. KingFisher will no longer store
  428.     the system's default font selection automatically.
  429.  
  430.     'Auto-Format=X' (where X=0,1,2) is not documented elsewhere as it
  431.     is primarily a debugging aid: it allows you to select an alternate
  432.     "Show All Fields" format.  0 is the old default; 1 and 2 are slight
  433.     variations.
  434.  
  435.     The word 'REGISTERED' has been removed from the $VER: tag to make
  436.     the string 100% Amiga User Interface Style Guide compliant.  The
  437.     evaluation version will continue to carry the "EVALUATION COPY"
  438.     tag.
  439.  
  440.     KFSERVER now allows a DO-SANITY-CHECK=(yes|no) setting in .kfdb
  441.     files to force or prevent the database index to be checked for the
  442.     most glaring and obvious types of corruption.
  443.  
  444.     A SANITY-CHECK option in the KFServer.prefs file may be set set to
  445.     specify a default sanity check mode for databases (.kfdb) that do
  446.     not specify a DO-SANITY-CHECK value.  The permissible values are:
  447.         Always    Will always perform a sanity check
  448.         InRam    Will perform the check only on an index that is
  449.             loaded into RAM -- much quicker operation and
  450.             less delay while opening a database.
  451.         OnDisk    Will perform the check only on an OnDisk index
  452.             but not InRam index.
  453.     The default for SANITY-CHECK is INRAM.
  454.  
  455.     Very slight speedup implemented on several operations, including
  456.     the loading of fish.  You probably won't notice...
  457.  
  458.     The LOADINDEX value in the KFServer.prefs file can now specify the
  459.     following values:
  460.         AlwaysInRAM    Index will ALWAYS be loaded into RAM, no
  461.                 matter if the .kfdb file specifies it to
  462.                 stay on disk.  With large indices in use
  463.                 this can really push RAM requirements
  464.                 through the ceiling but makes for faster
  465.                 operations.
  466.         AlwaysOnDisk    Index will ALWAYS remain on disk, no matter
  467.                 if the .kfdb file specifies it to be loaded
  468.                 to RAM.  This is the most memory efficient,
  469.                 but slowest method of operation.
  470.         DefaultInRAM    If a .kfdb file specifies NO 'Index=' entry
  471.                 then the index will be loaded into RAM.
  472.                 This is and has been the default method.
  473.         DefaultOnDisk    If a .kfdb file specifies NO 'Index=' entry
  474.                 then the index will remain on disk for more
  475.                 memory efficient operation (but penalizing
  476.                 you with slower access speed.)
  477.     The DEFAULT... values affect only .kfdb databases that do not set a
  478.     preference for the index with the 'index=' entry in their .kfdb
  479.     files.  The ALWAYS... values override them.
  480.  
  481.  
  482.  
  483. v2.9    4-Apr-1995
  484.  
  485.     »»» BUG FIXES:
  486.  
  487.     KINGFISHER will no longer add of junk to the end of a custom
  488.     display format.
  489.  
  490.     KFSERVER now reports an uptime of 0 seconds as "0s" rather than a
  491.     null string (oh, my, the Earth moved!) (yawn)
  492.  
  493.     Fixed Error-By-1 on correcting VersionLinks that point into a
  494.     region of records that are being deleted.  Also included the
  495.     Previous Link in the check (only the NextLink was checked before.)
  496.  
  497.     Removed a bug that prevented ONDISK index files from working.  It
  498.     is now possible to specify if a database index is to be used as an
  499.     INRAM index (fastest) or ONDISK (no overhead in memory!)
  500.  
  501.     »»» IMPROVEMENTS:
  502.  
  503.     KINGFISHER now adjusts its gadget proportions according to the
  504.     screen size.  A medium resolution (such as 640x200) display will
  505.     now present less stretched gadgets.
  506.  
  507.     Some images replaced with nicer ones, and colors (especially the
  508.     4th (usually blue) color) cleaned up.
  509.  
  510.     When running under Kickstart 3.0 or later, the KingFisher logo in
  511.     the About window will now be displayed in up to 16 shades of gray.
  512.     The image will be remapped to provide the best color fidelity
  513.     available from Intuition's free/shared pens.  An 8-color screen is
  514.     not the best, but a 16 or even 32 color screen (can provide quite
  515.     excellent reproduction!)
  516.  
  517.     The text formatting routines finally handle paragraph and field
  518.     indentations properly!  Default format cleaned up and improved.
  519.  
  520.     Added a \- symbol to the format parser, which fills the rest of the
  521.     line with a dashed line (------------...) and then inserts a
  522.     newline as if \n was given.
  523.  
  524.     Added a \N (uppercase version of \n) to function as a conditional
  525.     newline that is added only if the preceding line is not already a
  526.     blank line.
  527.  
  528.     The 'author' field is now handled as a "verbatim" field, meaning
  529.     that linefeeds in the field are treated as real newlines instead of
  530.     soft returns.
  531.  
  532.     Added option capability to the @{field} specifiers.  Options are
  533.     specified BEFORE the name of the field, and enclosed in []'s such
  534.     as:
  535.         @{[f]author}
  536.         @{[0>]description}
  537.     Available options at this time are:
  538.         f,v    Force Flow or Verbatim Mode.
  539.                 In Flow Mode, the presence of a newline in
  540.             the file is treated as a blank space would, and
  541.             only a \n sequence is regarded as a newline
  542.             (paragraph break.)  This produces word-wrapped
  543.             paragraphs, where the end of a paragraph is
  544.             explicitly indicated with a \n sequence.  The
  545.             DESCRIPTION is usually handled in Flow Mode.
  546.                 In Verbatim Mode, a newline in the file is
  547.             treated the same as a forced paragraph break from
  548.             the presence of a \n sequence.  The AUTHOR field is
  549.             usually handled in Verbatim Mode.
  550.                 By default, all fields are treated in flow
  551.             mode, except for:  reference, address, email, docs,
  552.             run, stored-in, and author.
  553.                 If you wish to add the "contents" field to
  554.             the display, specify it as @{[v]contents} -- the
  555.             option set [v] forces KingFisher to use verbatim
  556.             mode instead of the default flow mode.
  557.         0,1    How many lines to be placed between paragraphs.
  558.             By specifying '0' in the option set, you can remove
  559.             the blank lines that KingFisher inserts between
  560.             paragraphs (in the description field, for example.)
  561.         |,>    Force non-indented or indented paragraphs.  By
  562.             adding '>' to the option set (in the description
  563.             field, for example) you can add an indentation at
  564.             the start of paragraphs (all, except the first);
  565.             this is especially useful in combination with a '0'
  566.             (see above) to improve readability.  Try it!
  567.                 @{[0>]description}
  568.  
  569.     The frames for the Browse and Search gadget groups are now set to
  570.     the same height.  This makes for a somewhat cleaner appearance.
  571.  
  572.     The search expression gadget will now adjust its size to a
  573.     combination of extra wide and very narrow characters, weighted
  574.     towards the proportionally wider ones.  This allows the window to
  575.     be sized narrower while maintaining a sense of the current font's
  576.     size requirements.
  577.  
  578.     The Listview scrollers are now adjusted in width to whatever font
  579.     is selected for the window.  This is _much_ nicer with large fonts;
  580.     the minimum size is 16, no matter what.  The formula is 2/3 of the
  581.     font size, so that any font sized above 24 will bring the adjust-
  582.     ment into play (i.e. a font size 30 will use a scroller width of
  583.     20.)
  584.  
  585.  
  586.  
  587. v2.8    6-Mar-1995
  588.  
  589.     »»» BUG FIXES:
  590.  
  591.     KINGFISHER will now properly handle EQUAL and NOT EQUAL comparisons
  592.     in expressions.  These did not work until now because of a trailing
  593.     newline in the field data.
  594.  
  595.     Case sensitivity in search expressions is now implemented properly.
  596.  
  597.     Improved expression evaluation speed somewhat.  Fixed minor bug in
  598.     evaluation routine that may have been responsible for failures to
  599.     find some information.
  600.  
  601.     Will no longer disable all relevant browsing and motion gadgets
  602.     when attempting to step one record past the end of the database,
  603.     leaving only the keyboard (left-arrow key, for example) available
  604.     to move one record backward and "recover" the use of the gadgets.
  605.     Why did I not find this earlier?  Why did nobody ever report this?
  606.  
  607.     Will no longer place the .INDEXINFO= tag within the markers when
  608.     writing records to the clipboard.  This was an nasty error on my
  609.     part that would make it impossible for KFServer to properly handle
  610.     clipboard input.  A very embarrassed "Sorry!"
  611.  
  612.     Properly updates the VersionLinks after adding new fish to the
  613.     database.
  614.  
  615.     Now properly updates the QuickIndex when adding new fish.  This was
  616.     a very dreadful omission in the code for which I do apologize!  My
  617.     thanks to Dean Ridgway for making me aware of this problem.
  618.  
  619.     When opening a KingFisher Release 1 database, and the index is
  620.     found to be a Release 1 index, KingFisher Release 2 will perform an
  621.     on-the-fly conversion of the Release 1 index into a Release 2 index
  622.     located in RAM.  This has always been the case, but there was a
  623.     very unfortunate mis-computation of index-size that could result in
  624.     error messages and some junk at the end of the index.
  625.  
  626.     When hitting the close gadget while scanning a directory tree, the
  627.     program will no longer lock up (it previously attempted to block a
  628.     window that was already blocked; although officially supported,
  629.     this does seem to cause trouble...)
  630.  
  631.     REXXFISHER's RF_OBTAIN command now returns the proper values when
  632.     using the PVER and NVER options.    
  633.  
  634.     KFSERVER's I/O handlers and indexing operations were rewritten from
  635.     the ground up to streamline their operation and eliminate a number
  636.     of strangenesses that grew there over time.  Many problems should
  637.     be fixed now: occasional case sensitivity to the ".name" identifier
  638.     and serious problems with (re)indexing operations involving the
  639.     QuickIndex and partitioned databases.
  640.  
  641.     Should now be able to find files in the root directory of a volume
  642.     (or logical assignment.)  This was a bug in SAS' dirwalker.c (for
  643.     those interested, the problem is with walkdir(): appending a '/' is
  644.     done only when the last character is not already a ':' or '/' but
  645.     the offset tested is the character BEYOND the last one, so it will
  646.     ALWAYS append the '/' to produce bogus names like: "SYS:/foo/KF.pi"
  647.  
  648.     »»» IMPROVEMENTS:
  649.  
  650.     KINGFISHER can now use DOS Patterns (i.e. "#?(foo|bar)#?" in search
  651.     expressions.  This is indicated in an expression with the use of
  652.     the '#' operator (as opposed to =, !=, <=, >=, $, ...)  Example:
  653.         name # "#?(foo|bar)#?"
  654.  
  655.     No longer activates its window if KingFisher's screen is not the
  656.     active one.  This permits starting KingFisher in the background
  657.     (perhaps with a hotkey) without having to "fear" that while you're
  658.     typing something the console will get yanked away from your active
  659.     window.  Likewise, KingFisher will not active the windows it opens
  660.     (when a search completes, for example) if its main window was
  661.     inactive.
  662.  
  663.     Also supported now is the option to sort links by their associated
  664.     version number.  This means that if a CD-ROM contains version 1.0,
  665.     2.0, 3.0, 1.2, 1.5, 1.9, and 3.1 the VersionLinks will be ordered
  666.     to allow you to scan: 1.0, 1.2, 1.5, 1.9, 2.0, 3.0, 3.1 regardless
  667.     if this means moving forward or backward through the database!
  668.         Notice that some programs use rather ill-constructed
  669.     version numbers, such as 1.02 (which is handled as 1.2) since the
  670.     two version numbers (before and after the dot) are not fractions
  671.     but whole numbers.    
  672.  
  673.     REXXFISHER experienced the same improvements and bug fixes to the
  674.     search engine as KingFisher did (they share the engine code.)
  675.  
  676.     RexxFisher's version number upgraded from 1.11 to 2.8 to make the
  677.     versions less confusing with respect to KingFisher and KFServer.
  678.  
  679.     New command to select a specific record without actually retrieving
  680.     its data.  This is quicker than an RF_GETFISH, yet the RF_OBTAIN
  681.     command can still be used to obtain index-related data:
  682.         RF_SELECT fishnumber
  683.  
  684.     KFSERVER now informs a client program if it cannot open a database
  685.     file.  It is then up to the client to retry the operation based on
  686.     possible user-feedback.  This is implemented to prevent the server
  687.     from blocking.  You can (if you absolutely must do this) force the
  688.     server to block and present a message without involving the client
  689.     by setting the following in the KFServer.prefs file:
  690.         SUPPRESS-REQUESTERS=NO
  691.     The value defaults to YES.
  692.  
  693.     Now actually removes deleted records from the database, eliminating
  694.     the chance that subsequent additions followed by reindexing scans
  695.     into only half-overwritten junk.  A side-effect of this is that a
  696.     Reindex operation following a Delete operation will NOT recover any
  697.     records.  Delete is now permanent!
  698.  
  699.     Now performs a sanity check on an inRAM index (but not onDISK)
  700.     before loading.  This produces a meaningful diagnostic and prevents
  701.     confusing errors later.
  702.  
  703.     When a database is opened multiple times (perhaps by multiple
  704.     clients) the the first client is the only one who has the right to
  705.     modify the database.  This prevents multiple clients attempting to
  706.     alter the flags, for example.  This mechanism will be improved in
  707.     the future to permit implicit individual record locking.
  708.  
  709.  
  710.  
  711. v2.7    19-Jan-1995
  712.  
  713.     »»» BUG FIXES:
  714.  
  715.     KINGFISHER now properly calculates text layout in the About Window.
  716.     Until now it failed to make use of available space the way it was
  717.     meant to, especially with large fonts.
  718.  
  719.     System Requesters now open up on KingFisher's screen even if it is
  720.     a custom screen, rather than bringing the Workbench to the front.
  721.  
  722.     While adding fish, a response of "No" was synonymous with "Cancel."
  723.     Needless to say, this was not the way it was intended.
  724.  
  725.     If the server terminates while KingFisher is in the middle of an
  726.     operation during which it may not check for an exit signal from the
  727.     server, it will no longer attempt to re-start the server in order
  728.     to continue the operation in progress.
  729.  
  730.     KFSERVER had a bug in kfcSETPOS command that caused the index entry
  731.     of the PREVIOUS record to be addressed (for inRAM index.)
  732.  
  733.     »»» IMPROVEMENTS:
  734.  
  735.     KINGFISHER now (optionally) frames related gadgets with recessed
  736.     borders to group gadgets visually.  The option is available from
  737.     the PREFERENCES/Display menu.
  738.  
  739.     Added ability to switch SmartRefresh/SimpleRefresh option from the
  740.     PREFERENCES/Display menu.  This used to be only available through
  741.     the tooltypes or the KingFisher2.prefs file.
  742.  
  743.     'Build VersionLinks...' command now scans the database QuickIndex
  744.     and builds a new set of version links.  This was an O(n) algorithm
  745.     in KingFisher 1, but is now, regrettably, O(n²) because KingFisher
  746.     2 can no longer make the easy assumptions about the database that
  747.     KingFisher 1 could make.
  748.  
  749.     The PREFERENCES/Display submenu now uses check marks to indicate
  750.     which (if any) of the 'Load Custom Format...' and 'Show all fields
  751.     in record' choices is the current one.  This is an issue only with
  752.     the Display Format option, as the print and export formats have no
  753.     special dual option, and their presence or absence is easily noted
  754.     by the enable/disable status of their respective 'Drop...' options.
  755.  
  756.     Now adds the START/STOP markers to the clipboard because it is
  757.     easier to remove them instead of having to manually add them.  The
  758.     .INDEXINFO item is also added for maximum future compatibility.
  759.  
  760.     With the Search Result window's new menu item "Copy to Clipboard,"
  761.     all records in the Search Set are copied to the clipboard, each
  762.     separated with proper START/STOP markers to make their separation
  763.     easier.
  764.  
  765.     The UNREGISTERED version of KingFisher now requires user action to
  766.     clear the initial About window to encourage reading of the text;
  767.     it will no longer go away as it used to with a timeout.  The
  768.     REGISTERED version is not affected by this change.
  769.  
  770.     REXXFISHER can now truncate a database at the current record.  To
  771.     prevent accidents, the command can be given a parameter that
  772.     specifies the exact number of records that you expect to be deleted
  773.     by the operation.  If the parameter is provided but does not match
  774.     the number of actual records that would be deleted, then the call
  775.     will fail and no truncation will take place.  Omitting the value
  776.     will by-pass this safety measure.
  777.         RF_TRUNCATE    [ records ]
  778.  
  779.  
  780.  
  781. v2.6    02-Dec-1994
  782.  
  783.     »»» BUG FIXES:
  784.  
  785.     KINGFISHER did not make REVERSE searches based on QuickIndex any
  786.     faster than they were in version 2.4.  This has been corrected.
  787.     Please note that the QuickIndex and SearchMasks are not currently
  788.     compatible and cannot be used together.  This will be improved in
  789.     a future release.
  790.  
  791.     Two problems involving severely trashed, and mysteriously vanishing
  792.     text (Reconstruct database index...) in menus have been corrected.
  793.  
  794.     Fixed a memory re-allocation bug that was responsible for producing
  795.     trashed items in the DBInfo list and other related problems of this
  796.     sort.
  797.  
  798.     When the registered version is run without the NOOUTPUT option, it
  799.     no longer claims to be freely distributable.  Bit of an oversight!
  800.  
  801.     KFSERVER now returns the intended values for a kfcSELECTDATABASE
  802.     command.  Previously, the values returned by the command were not
  803.     handled properly, although no immediately adverse effects came of
  804.     that.
  805.  
  806.     Improved creation of new databases.  New databases should no longer
  807.     come up as read-only databases when they are first created, nor
  808.     should there be any problems now adding data to a newly created
  809.     database.  Unconditional error messages have now been guarded with
  810.     a verbosity level check, so the server will be less prone to ramble
  811.     on about the things that are and are not happening.
  812.  
  813.     System Requesters are no longer suppressed.  At one time this was
  814.     meant to prevent the server from blocking in case that an unmounted
  815.     volume was accessed, but this inadvertently disabled the server's
  816.     ability to serve databases stored on off-line (unmounted) volumes.
  817.  
  818.     A bug was fixed involving detection of Read/Write status of a
  819.     database.  A database whose primary index file is stored in the
  820.     root directory of a logical or physical volume (i.e. in DF0: or
  821.     in KF2:, as opposed to a subdirectory DH0:Database/) would not be
  822.     able to determine the status and assume Read-Only ability.
  823.  
  824.     »»» IMPROVEMENTS:
  825.  
  826.     KINGFISHER now supports the clipboard.  Writes current fish to the
  827.     clipboard; Appends one or more fish from the clipboard.  Clipboard
  828.     currently fixed to unit 0.
  829.  
  830.     The Center Window option now immediately centers the window on the
  831.     current display when activated.  The window will be re-centered
  832.     when the size is changed, and the option is automatically turned
  833.     off when the window is repositioned.
  834.  
  835.     A new option in PREFERENCES/DISPLAY is available to display all
  836.     fields in a record.  This uses the custom display mechanism and can
  837.     be turned off by dropping the custom display formed by this option.
  838.  
  839.     Can now select larger fonts (previous version seemed to be limited
  840.     to size of 24 pixels or less, at least on my system.)
  841.  
  842.     KFSERVER now reports total uptime and bases percentage of use on
  843.     the total time the server was USED rather than the client's total
  844.     connect time (which eventually led to 0% used when the server was
  845.     idle.)
  846.  
  847.     REXXFISHER now has the ability to add all fish from a file to the
  848.     current database, as well as affect the previous and next version
  849.     link values in the index.  The new commands are:
  850.         RF_ADDFISH    'filename'
  851.         RF_SETVLINK    PVER fishnumber | NVER fishnumber
  852.  
  853.  
  854.  
  855. v2.5    05-Nov-1994
  856.  
  857.     »»» BUG FIXES:
  858.  
  859.     Explicitly quoted string constants in expressions are no longer
  860.     affected by the TRIM BLANKS setting which shaves off blank spaces
  861.     in expressions to avoid mistakes with blanks at the end of strings.
  862.  
  863.     »»» IMPROVEMENTS:
  864.  
  865.     The QuickIndex feature now deserves its name:  It has been sped up
  866.     so it can search 4500 records in a mere second (the exact speed
  867.     depends on how many matches are produced and need to be processed.)
  868.     Unlike the QuickIndex that was part of KingFisher 1.x, this
  869.     QuickIndex feature is a) fully automatic and b) not limited to
  870.     substring searches (i.e. you can search "name$king & ~name=kingcon)
  871.     which was possible with KingFisher 1 only when not using the quick
  872.     index.
  873.  
  874.     The expression syntax has been enhanced to permit a shortcut:
  875.       field op ( value | value & value ^ value )
  876.     is equivalent to:
  877.       field op value | field op value & field op value ^ field op value
  878.     Thus:
  879.         name$(king|aqua|fish)
  880.     Is the same as:
  881.         name$king | name$aqua | name$fish
  882.     The portion in ()'s may contain multiple levels of parentheses to
  883.     prioritize the evaluation order:
  884.         name$(fish&(king|net|sticks))
  885.     represents:
  886.         name$fish & ( name$king | name$net | name|sticks )
  887.     
  888.  
  889.  
  890. v2.4    01-Nov-1994
  891.  
  892.     »»» BUG FIXES:
  893.  
  894.     If the KFServer is shutdown, all clients (such as RexxFisher and
  895.     KingFisher) are now sent break signals instead of exit messages.
  896.     This is more reliable and less prone to lost resources.
  897.  
  898.     Improvements made to handling user-interaction while adding records
  899.     to the database.
  900.  
  901.     Once again, the $VER: tags have been fixed.  The fact that the type
  902.     identification ("EVALUATION COPY"/"REGISTERED") left an illegal
  903.     white space in the string caused further problems.  This time the
  904.     identification (EVALUATION/REGISTERED) has been moved to AFTER the
  905.     date portion.  Even though this is still not recommended practice,
  906.     so many programs used this method to append copyright or other
  907.     text, that Commodore made special arrangements to support it; this
  908.     is significantly more compatible than adding non-numeric letters to
  909.     the version number.
  910.  
  911.     »»» IMPROVEMENTS:
  912.  
  913.     New menu command to reconstruct damaged or lost index files.  This
  914.     command is NOT named "reindex" to avoid possible misunderstandings
  915.     about its purpose.  Using "Reconstruct database index" causes the
  916.     loss of all existing version links and individual record flags, so
  917.     it is not a function to be used casually.
  918.  
  919.     Additional interface features added for more keyboard control
  920.     (tabbing between Main and Search Result windows, for example.)
  921.  
  922.     KingFisher now recognizes if a search expression references only
  923.     the field upon which the QuickIndex is based.  In such cases a
  924.     search is at least twice as fast as before.  Further speed-up is
  925.     scheduled for a future version.
  926.  
  927.     Documentation has been rewritten with AmigaGuide V39/V40 features
  928.     in mind.  If running under 2.x, the Installer will alter the .guide
  929.     to make it readable with earlier versions of AmigaGuide.
  930.  
  931.     New Installer script permits partial installation and upgrades to
  932.     be performed.
  933.  
  934.  
  935.  
  936. v2.3    05-Sep-1994
  937.  
  938.     »»» BUG FIXES:
  939.  
  940.     Corrected several problems involving access to an empty database
  941.     that would a) produce a variety of complaints, some even completely
  942.     incorrect assertions, b) not properly ghost relevant gadgets, and
  943.     c) produce potentially misleading or bogus values for the numeric
  944.     (fish/disk) gadget.
  945.  
  946.     Potential problem removed involving an improperly terminated node-
  947.     context table for the AmigaGuide interface.  This may have caused
  948.     improper, unreliable, or unresponsive functioning of KingFisher's
  949.     HELP system.
  950.  
  951.     Compatibility problem resolved with the Fish/Disk cycle gadget,
  952.     which inadvertently used a NULL font pointer.  This caused GadTools
  953.     to use the system default font but could confuse system extensions
  954.     that enhance cycle gadgets to produce pop-up lists, instead.
  955.  
  956.     Formatting problem solved which would not properly terminate the
  957.     formatted output.  This affected both KingFisher and RexxFisher due
  958.     to shared code.
  959.  
  960.     Selecting an expression from the Search Expression History window
  961.     will now cause the selected item to be moved to the top of the
  962.     list.
  963.  
  964.     »»» IMPROVEMENTS:
  965.  
  966.     New menu command to edit a format file using external editor.  File
  967.     notification will be implemented in the next release.
  968.  
  969.     AmigaGuide is now opened on demand only.  This preserves RAM when
  970.     the help system is not needed and delays the need to insert a disk
  971.     with the .guide file if this file is kept off-line on a floppy, for
  972.     example.
  973.  
  974.     Now supports pointing at a gadget with the mouse and pressing HELP.
  975.     This completes the implementation of context sensitive help.
  976.  
  977.     Displays are now handled with SIMPLEREFRESH; KingFisher takes care
  978.     of its own refreshing, which means that Intuition no longer has to
  979.     maintain a backup bitmap in case an obscured portion of the window
  980.     needs "repair" (thus reducing RAM requirements!) and speeding up
  981.     the moving of KingFisher's windows, especially on deep screens,
  982.     such as 256 color displays.
  983.         If you prefer the older method, place SMARTREFRESH into the
  984.     tooltypes or change the REFRESH entry in the .prefs file to SMART.
  985.  
  986.     Now allows selection of any font from the system to be used for
  987.     menus, requesters, display, etc.  This functionality may be later
  988.     expanded to a set of three or so separate fonts for various parts
  989.     of the interface.
  990.  
  991.     Starting with Kickstart V38 (2.1) KingFisher now allows you to
  992.     select a custom screen mode, complete with size, number of colors,
  993.     and autoscroll.  For V37 (2.04) it is necessary to construct the
  994.     .prefs entry manually.  This is detailed in the documentation for
  995.     that menu command.
  996.  
  997.  
  998.  
  999. v2.2    14-Aug-1994
  1000.  
  1001.     »»» BUG FIXES:
  1002.  
  1003.     Fixes a bug with adding records to the database.  Symptom: new
  1004.     records would show up blank and would, in fact, have only the 5
  1005.     character (field identifier) string ".name" in them.
  1006.  
  1007.     Also fixed another bug with adding records to a database from which
  1008.     records had previously been removed (Delete Fish); the new records
  1009.     would be always appended to the database instead of placed in their
  1010.     proper location (overwriting old, unused data) while the index
  1011.     would indicate the position the records should have occupied.  The
  1012.     result was apparently corrupted information.
  1013.         It is safe to delete all records starting with the first
  1014.     "bad" one and then re-adding them.
  1015.  
  1016.     The Version Tags ($VER:) in KingFisher and KFServer have been fixed
  1017.     to be Style Guide compliant.  It appears that V40 software (KS 3.1)
  1018.     is more lenient than V37/V38 with respect to spaces in the program
  1019.     name.  This was required to make the 'DoPatch' script/tool work.
  1020.  
  1021.     A problem was corrected with the 'DBInfo' entries in the .prefs
  1022.     file where bogus information was stored to the entries.  Editing
  1023.     the KingFisher2.prefs file and removing all lines beginning with
  1024.     'DBInfo=' will assure that these bogus entries will not interfere
  1025.     with normal operation.  As more databases are added and the need
  1026.     arises to maintain last-position for them all, KingFisher will
  1027.     reclaim the space used by the oldest (possibly bogus) items, so
  1028.     there is not real need to modify the file and remove bogus entries.
  1029.  
  1030.     »»» IMPROVEMENTS:
  1031.  
  1032.     The promised speedup to the searching with masks has now been
  1033.     implemented.  This may be dozens, if not hundreds of times faster
  1034.     than a previous search.  Once you have setup various flags, you may
  1035.     be able to build a Search Set at blinding speed!
  1036.  
  1037.     A new option in the Global Preferences causes KingFisher to always
  1038.     open its window in the center of the display when you start the
  1039.     program.  This is useful especially when KingFisher's window opens
  1040.     on public screens of varying resolutions and might otherwise end up
  1041.     being pushed about to suit varying resolutions; with the new Center
  1042.     Main Window option on, you can rely on it always appearing in the
  1043.     center.
  1044.  
  1045.     KingFisher now recognizes the 'Help-File' entry in the .prefs file,
  1046.     which specifies the name of the .guide; the default for this entry
  1047.     is "KingFisher2.guide"; without path, AmigaGuide will look for this
  1048.     file in several places, including the default directory.
  1049.  
  1050. #EOT
  1051.