
2.1 ---> 3.0

- added a data structure (in .glimpse_turbo) that speeds up queries
  using -w and -i considerably for large indexes.  It is meant mostly for
  servers using glimpse (e.g., Harvest and glimpseHTTP servers),
  but it benefits everyone.  With this "turbo" option, typical queries
  take less than a second even for very large indexes.
  This was so successful that we made it the default rather than an
  option (it used to be -T in some earlier versions).
  If the .glimpse_turbo file is deleted, glimpse will still work properly
  (but glimpseindex -f and -a require it).
- incremental indexing is now fully supported (even for -b).  Deletion
  from the index is supported.  glimpseindex -d filename(s) completely
  deletes the files from the index;  glimpseindex -D filename(s) deletes
  the files only from the file list.
- the index has been improved in several ways (transparently except for
  speed and space).  As a result, indices built with earlier versions of
  glimpseindex will not work with 3.0 -- you must reindex again. 
- several options were added to glimpseindex and glimpse:
  glimpseindex -E indexes all file without attempting to run the filetype
  filtering (but excluded files or suffixes still apply).
  glimpse -Q extends -N in a nice way giving much more information about
  the matches in the index.
  glimpse -L has more options:  -L x | x:y | x:y:z
  if one number is given, it is a limit on the total number of matches.
  Glimpse outputs only the first x matches.
  If two numbers are given (x:y), then y is an added limit on the total
  number of files.
  If three numbers are given (x:y:z), then z is an added limit on the
  number of matches per file.
  If any of the x, y, or z is set to 0, it means to ignore it
  (in other words 0 = infinity in this case);  for example,
  -L 0:10 will output all matches to the first 10 files that
  contain a match.
  (There are also some undocumented-as-yet options. We are running out
  of letters.  Only -j and -Y are not used!)
- glimpse 3.0 still has a LOT of makefiles (one per architecture / OS). 
  We hope to include autoconf support for glimpse in the future: 
  but these should be sufficient for most purposes.
- several bugs were fixed, and the whole package is now more portable.
  Binaries and make files for the following platforms are now available:
  AIX-3.2.5, HPPA, HPMC68K, IBM-RS6000, Linux, SGI. (Binaries and make
  files for SUNOS4.1.1, SUNOS4.1.3, SOLARIS 5.3 and DEC OSF/1 (ALPHA)
  are avaialable as usual.) See README.install for more details.


2.0 ---> 2.1

- Added the facility to run a glimpse server which reads the index into 
  memory and stays in the background.  Regular glimpse then submits queries 
  to the server and echoes the replies.  This can improve performance if 
  the index is large since it doesn't have to be read-in for each query.
  Glimpse can contact (local or remote) servers using the -C, -J and -K
  options (see the man-pages for more details).
- Optimized the performance of glimpse for very large structured indexes:
  this is mostly relevant in Harvest.1.1.  Such indexes now take half the
  space, the indexing can be done in half the time, and structured queries
  are faster by a factor of 2 to 5!
- Made code more portable: the code now runs on the following machines
  and operating systems:
	SUNOS
	ALPHA
	SOLARIS
	HPUX
	AIX
	LINUX
- Added much improved man pages for glimpse, glimpseserver and glimpseindex.
- Many bugs were fixed based on the reports received for glimpse.2.0
  and Harvest.1.0. The code is now more robust, portable and readable.


1.1 ---> 2.0

- A "byte-level" indexing (glimpseindex -b) has been added, which mimics 
  regular inverted indexes in that the exact location of each occurrence 
  of each word (except for a stop list of common words) is indexed.  
  The index itself is still searched with agrep so all options are still
  available.  This option speeds up the search, sometimes considerably.
- Added customizable filtering support -z to glimpseindex and glimpse. 
  glimpseindex -z consults the file .glimpse_filters and performs the
  programs listed there for each match.  The best example is
  compress/decompress.  If .glimpse_filters include the line
  *.Z	uncompress <
  then before indexing any file that matches the pattern "*.Z" (same
  syntax as the one for .glimpse_exclude) the command listed is
  executed first (assuming input is from stdin, which is why uncompress 
  needs <) and its output (assuming it goes to stdout) is indexed.
  The file itself is not changed (i.e., it stays compressed).
  Then if glimpse -z is used, the same program is used on these files
  on the fly.  Any program can be used (we run 'exec').  For example,
  one can filter out parts of files that should not be indexed.
  Note that this can slow down the search because the filters need to
  be run before files are searched.
- There is a new compression package that allows glimpse (and agrep)
  to search DIRECTLY in compressed files.  A new compression routine,
  called cast, is included.  Also, glimpseindex can automatically index
  files compressed with cast. More details on this will be published later.
- Queries can now include arbitrary combinations of ANDs, ORs, NOTs.
- Added option -F in cast, uncast, buildcast and glimpseindex to take
  filenames from stdin.
- Added a -L x option to glimpse to output only the first x matches.
- User can explicitly specify whether exclude or include has higher priority
  (the default is to prefer exclude, glimpseindex -i gives priority to
  include).
  For example, you can put * in .glimpse_exclude and then explicitly
  say which files you want to include.
- Added a -S x option to glimpseindex to allow the user to adjust the size 
  of the stop-list under -o and -b.  
- Added a -W option to change the scope of Boolean queries to be the
  whole file.
- Added support for structured queries in glimpse/glimpseindex
  (This was done for the Harvest project.)
- Many small corrections were made based on the bug-reports received for
  version 1.1 and the beta version of 2.0.


1.0 ---> 1.1

- Names of files/directories whose ABSOLUTE path names are given as input to
  glimpseindex are indexed "as they are". If their RELATIVE path names are
  given, THEN glimpseindex tries to construct their absolute path names. Path
  names are still absolute: they are NOT relative to where the index is stored.
- A new faster mgrep() (multi pattern search) has been added to agrep.
- Boolean search by glimpse is now faster: it uses the new mgrep routine and
  the limit on the number of simple patterns separated by boolean operations
  is no longer 32 (it is 256 = maximum pattern length).
- The maximum number of files which can be indexed at one go has been increased
  from 16000 to around 65000.
- Many small corrections were made based on the bug-reports received for
  version 1.0.
