Version 0.15
-------------------------------------------------------------------------------

   Jared Davis

     + Reworked Words file architecture to use hash map instead of 
       binary search, which compresses the data file from 671kb to
       385kb.  This involved a fair bit of code reworking...
   
        - Eliminates FileArray class completely.
        
        - Fixed a tiny memory leak in WordsFile::~WordsFile.
        
        - Better exception safety in WordsFile constructor.
        
        - Better checking of words file to make sure it isn't corrupt.
     
     + Standardized copyright notices in headers.

     + Changed caiksaurus.c to be a .cpp file to fix some linking errors
       when using certain compilers.

        
Version 0.14
-------------------------------------------------------------------------------

   Jared Davis

     + Fix compiler errors on gcc-2.96
     + Fix compiler errors on gcc-3.03 (namespace issues)
     + Add C Bindings
     

Version 0.13
-------------------------------------------------------------------------------

   Jared Davis

     Added missing exception specifications to WordStream.h.

     Moved strReplace code to WordsFile.cpp, fixed bug with similar() 
     returning colons instead of spaces.

     Upgrade to automake 1.5, library can now intall stripped.  
     

Version 0.12
-------------------------------------------------------------------------------
   Capitalization changed to Aiksaurus instead of AikSaurus.

   Jared Davis:
   
     Massive overhaul of datafiles, total rewrite of everything.  
     This is a completely new thesaurus.  Synonyms are now grouped
     into meanings classes.  Reduced disk space to roughly 800k 
     uncompressed.  Expanded number of known words by about 40%.
     This is drastically better than before, but not compatible 
     with previous versions.

     Modified Levon's automake stuff to work with the new library.
     Made CommandLineDemo an automatically-installing program 
     named 'aiksaurus'.  Added version and help information to this
     program. 
    

Version 0.11
-------------------------------------------------------------------------------
   Jared Davis:

    Changed demo programs to operate out of AikSaurus default data directory
    so that they will be easy to move around your system.


Version 0.10
-------------------------------------------------------------------------------
   Jared Davis:

    Added count(), word() functions.
    
    Added overloaded next() function that doesn't return part-of-speech
    information.
   
    
Version 0.09
-------------------------------------------------------------------------------
   John Levon:

	Created an automake installer that is much nicer.  This uses libtool
	to generate a shared library and then we just link against that.  

	This is a massive improvement over the old makefile, and the first
	step towards platform independence.

	Fixed the StringLoopQueue.h file to correctly use namespace std::
	which fixed compile errors on g++3.


Version 0.08c
-------------------------------------------------------------------------------
   Jared Davis:

    Modified internal architecture not to rely on a fixed size buffer.  
	It now dynamically allocates the string to return when you call 
	next() or similar().  
	
	This should prevent any buffer overflow security issues and should
	make datafile generation a little less taxing.
	

Version 0.08b
-------------------------------------------------------------------------------
   Jared Davis:
   
   	Fixed a bug with the AikSaurusImpl class's find function...

	It was looking for the datafiles in the present working dir
	instead of using the data_dir like it's supposed to.  Changed
	it to use the data_dir as a prefix.

	

Version 0.08
-------------------------------------------------------------------------------
   Jared Davis:

	Fixed the lame error handling in BZReader_Impl and put in much better
	error reporting.  Generally cleaned up the class and added a debugging
	method.  Cleared out headers that weren't needed but were being 
	included anyway.  Fixed segfaults on missing/damaged datafiles, 
	and replaced with decent error reporting.  

	Added 'similar words' functionality, to get known words that are 
	alphabetically similar to the requested word.  Useful for failed
	searches or even for successful ones.
	

Version 0.07
-------------------------------------------------------------------------------
   Jared Davis:

        Changed name to AikSaurus (used to be AbiSaurus) at request of
	SourceGear corporation.
	

Version 0.06
-------------------------------------------------------------------------------
   Jared Davis:
   
	Added "parts of speech" information to known words by running
	the thesaurus datafile against the Moby's parts of speech list from
	Project Guttenberg.  Updated library to handle the additional 
	information.

	Changed thesaurus to automatically perform searches in lower case,
	and converted all keys to lowercase.  So, you won't get different
	results for "fool" over "Fool" anymore.

	Added pos support to command line demo interfaces.  Now have two 
	versions of the command line interface: one interactive, one non-
	interactive. (command line, single word at a time).
	

Version 0.05
-------------------------------------------------------------------------------
   Jared Davis:
	Rewrote thesaurus code and turned it into an actual library.
	The header file is very nice IMO, but the implementation's 
	probably a little weak.  That's ok, it's still early in the
	game, and it certainly seems to work well.  Speed test gives
	on average .18 seconds per search + results display for text-
	based interface.  Currently runs on Linux.  My focus for next 
	release will be ensuring portability between Windows and Linux,
	and improving the compilation/datafile generation process.
	

Version 0.04
-------------------------------------------------------------------------------
   Jared Davis:

	Investigated several compression techniques and even rolled
	my own, and was able to compress main thesaurus to about 5 
	megabytes, even with same architecture.  Couldn't see any
	way under this.  So, wrote a program to auto-delete all words
	in thesaurus not in /usr/share/dict/words on my mandrake 8 box.
	This yields a seemingly ok thesaurus with < 3 megs of datafiles.
	Will work to compress further.  Same codebase as version 0.03.
	Planning to fork project here to have "big disk" and "small disk" 
	versions for how much data you want.
	

Version 0.03
-------------------------------------------------------------------------------
   Jared Davis:
  	
	Implemented massively better new architecture, wherein 
	data is split into several files, which are stored bz2 
	compressed.  Reduced disk space requirement to 8 megs.
	Load speed became imperceivable (massive improvement 
	over 100+ second load times), and memory requirements 
	reduced significantly.  Search times a little bit slower,
	but still acceptable.  


Version 0.02
-------------------------------------------------------------------------------
   Jared Davis:
        
	Slight improvements on implementation itself.
	Changed to sorted input into a std::vector.
	Reduced memory requirement to 30 megs.  Load time and
	disk space unchanged.


Version 0.01
-------------------------------------------------------------------------------
   Jared Davis:	
	
	Wrote very basic thesaurus program.
	Read in entire datafile into a std::map.
	Very bloated: 41 megs of memory allocated while running,
	took well over 100 seconds to load on a fast machine, 25
	megs of datafile.
