Subsections
   
  * Changes from .29 to .29.1 (Feb 18, 2000)
  * Changes from .28.3 to .29 (Feb 6, 2000)
  * Changes from .28.2.1 to .28.3 (Nov 20, 1999)
  * Changes from .28.2 to .28.2.1 (Aug 25, 1999)
  * Changes from .28.1 to .28.2 (Aug 25, 1999)
  * Changes from .28 to .28.1 (July 27, 1999)
  * Changes from .27.2 to .28 (July 25, 1999)
  * Changes from .27.1 to .27.2 (Mar 1, 1999)
  * Changes from .27 to .27.1 (Feb 24, 1999)
  * Changes from .26.2 to .27 (Feb 22, 1999)
  * Changed from .26.1 to .26.2 (Jan 3, 1998)
  * Changed from .26 to .26.1 (Jan 3, 1998)
  * Changed from .25.1 to .26 (Jan 3, 1999)
  * Changes from .25 to .25.1 (Dec 10, 1998)
  * Changes from .24 to .25 (Nov 23, 1998)
  * Changes from .23 to .24 (Nov 8, 1998)
  * Changes from .22.1 to .23 (Oct 31, 1998)
  * Changes from .22 to .22.1 (Oct 27, 1998)
  * Changes from .21 to .22 (Oct 26, 1998)
  * Changes from .20 to .21 (Oct 13, 1998)
  * Changes from .11 to .20 (Oct 10, 1998)
  * Changes from .10 to .11 (Sep 12, 1998)

---------------------------------------------------------------------------

A. Changelog

Changes from .29 to .29.1 (Feb 18, 2000)

  * Improved the TEX filter so that it will accept '@' at the begging of a
    command name and ignore trailing '*'s. It also now has better defaults
    for which parameters to skip.
  * Reworked the main dictionary so that it can be memory mapped in. This
    decreases startup time and allows multiple aspell processes to use the
    same memory for the main word list. This also also made Aspell 64 bit
    clean so that it should work on an alpha now.
  * Fix so that aspell can compile on platforms that gnu as is not
    available for.
  * Fixed issue with flock so it would compile on FreeBSD.
  * Minor changes in the code to make it more C++ compliant although I am
    sure there will still be problems when using some other compiler other
    than gcc or egcs.
  * Added some comments to the header files to better document a few of the
    classes.

Changes from .28.3 to .29 (Feb 6, 2000)

  * Fixed a bug in the pipe mode with lines that start with ``^$$''.
  * Added support for ignoring all words less than or equal to a specified
    length
  * New soundslike code based thanks to the contribution of Bj rn Jacke. It
    now gets all of its data from a table making it easier for other people
    to add soundslike code for their native language. He also converted the
    metaphone algorithm to table form, eliminating the need for the old
    metaphone code.
  * Major redesign of the suggestion code for better results.
  * Changed the format of the personal word lists. In most cases it should
    be converted automatically.
  * Changed the format of the main word list.
  * Name space cleanup for more consistent naming. I now use name spaces
    which means that gcc 2.8.* and egcs 1.0.* will no longer cut it.
  * Used file locks when reading and saving the personal dictionaries so
    that it truly multiprocess safe.
  * Added rudimentary filter support.
  * Reworked the configuration system once again. However, the changes to
    the end user who does not directly use my library should be minimal.
  * Rewrote my code that handles parsing command line parameters so that it
    no longer uses popt as it was causing to many problems and didn't
    integrate well with my new configuration system.
  * Fixed pipe mode so that it will properly ignore lines starting with '~'
    for better ispell compatibility.
  * Aspell now has a new home page at http://aspell.sourceforge.net/.
    Please make note of the new URL.
  * Miscellaneous manual fixes and clarifications.

Changes from .28.2.1 to .28.3 (Nov 20, 1999)

  * Fixed a bug that caused aspell to crash when spell checking words over
    60 characters long.
  * Reworked ``aspell check'' so that
   
     1. You no longer have to hit enter when making a choice.
     2. It will now overwrite the original file instead of creating a new
        file. An optional backup can be made by using the -b option.
   
   
  * Fixed a few bugs in data.cc.

Changes from .28.2 to .28.2.1 (Aug 25, 1999)

  * Fixed the version number for the shared library.
  * Fixed a problem with undefined references when linking to the shared
    library.

Changes from .28.1 to .28.2 (Aug 25, 1999)

  * Fixed a bunch of bugs in the language and configuration classes.
  * Minor changed in the code so that it could compile with the new gcc
    2.95(.1).
  * Changed the output of ``dump config'' so that default values are given
    the value "<default>". This means that the output can be used to
    created a configuration file.
  * Added notes on using aspell with VIM.

Changes from .28 to .28.1 (July 27, 1999)

  * Removed some debug output
  * Changed notes on compiling with gcc 2.8.* as I managed to get it to
    compile on my school account
  * Avoided included stdexcept in const_string.hh so that I could get to
    compile on my schools account with gcc 2.8.1.

Changes from .27.2 to .28 (July 25, 1999)

  * Provided an iterator for the replacement classes.
  * Added support for dumping and creating and merging the personal and
    replacement word lists.
  * Changed the aspell utility command line a bit, it now used popt.
  * Totally reworked aspell configuration system. Now aspell can get
    configuration from any of 5 sources: the command line, the
    environmental variable ASPELL_CONF, the personal configuration file,
    the global configuration file, and finally the compiled in defaults.
  * Totally reworked the language class in preparation for my new language
    code. See http://aspell.sourceforge.net/international/ for more
    information of what I have in store.
  * Added some options to the configure script: --enable-dict-dir=DIR,
    --enable-doc-dir=DIR, --enable-debug, and --enable-opt
  * Removed some old header files.
  * Reorganized the directory structure a bit
  * Made the text version of the manual pages slightly easier to read
  * Used the \url command for urls for better formating of the printed
    version.

Changes from .27.1 to .27.2 (Mar 1, 1999)

  * Fixed a major bug that caused aspell to dump core when used without any
    arguments
  * Fixed another major bug that caused aspell to do nothing when used in
    interactive mode.
  * Added an option to exit in Aspell's interactive mode.
  * Removed some old documentation files from the distribution.
  * Minor changes on to the section on using Aspell with egcs.
  * Minor changes to remove -Wall warnings.

Changes from .27 to .27.1 (Feb 24, 1999)

  * Fixed a minor compile problem.
  * Updated the section on using Aspell with egcs to it it more clear why
    the patch is necessary.

Changes from .26.2 to .27 (Feb 22, 1999)

  * Totally reworked the C++ library which means you may need to change
    some things in your code.
  * Added support for detachable and multiple personal dictionaries in the
    C++ class library.
  * The C++ class library now throws exceptions.
  * Reworked aspell ability to learn from users misspellings a bit so that
    it now has a memory. See section 3.1.1 for more information.
  * Upgraded autoconf to version 2.13 and automake to version 1.4 for
    better portability.
  * Fixed the configuration so the ``make dist'' will work. For now on
    aspell will be distributed with ``make dist''.
  * Added support to skip over URL's, email addresses and host names.
  * Added support for dumping the master and personal word list. You can
    now also merge a personal word list. Type aspell -help for help on
    using this feature.
  * Reorganized the source code.
  * Started using proper version numbers for the shared library.
  * Fixed a bug that caused a spell to crash when adding certain
    replacement pairs.
  * Fixed the problem with duplicate lines when exiting pipe mode for good.
   

Changed from .26.1 to .26.2 (Jan 3, 1998)

  * Fixed another compile problem. Hopefully this time it will really
    compile OK on other peoples machines.

Changed from .26 to .26.1 (Jan 3, 1998)

  * Fixed a small compile problem in as_data.cc.

Changed from .25.1 to .26 (Jan 3, 1999)

  * Fixed a bug that causes duplicates items to be displayed in the
    suggestion list for good. (If it still does it please send be email.)
  * Added the ability for aspell to learn form the users misspellings.
  * Library Interface changes. Still more to come....
  * Is now multiprocess safe. When a personal dictionary (or replacement
    list) is saved it will now first update he list against the dictionary
    on disk in case another process modified it.
  * Fixed the bug that caused duplicate output when used non interactively
    in pipe mode.
  * Dropped support for gcc 2.7.2 as the C++ compiler.
  * Updated the How Aspell Works (6) Chapter.
  * Added support for the ASPELL_DATA_DIR environmental variable.

Changes from .25 to .25.1 (Dec 10, 1998)

  * Fixed the version number so that Aspell reports the correct version
    number.
  * Changed the note on gcc 2.7.2 compilers to make it clear that only the
    C++ compiler can not be gcc 2.7.2, it is ok if the C compiler is gcc
    2.7.2.
  * Updated the TODO list and reorganized it a bit.
  * Fixed the directory so that all the documentation will get installed in
    ${prefix}/doc/aspell instead of half of it in ${prefix}/doc/aspell and
    half of it in ${prefix}/doc/kspell.

Changes from .24 to .25 (Nov 23, 1998)

  * Total rework of how the main word list is stored. Start up time
    decreased to about 1/3 of what it was in .24 and memory usage decreased
    to about 2/3. (When used with the provided word list on a Linux
    system). Also the format and default locations of the main word list
    data files changed in the process and the data is now machine dependent
    . The personal word list format, however, stayed the same.
  * Changed the scoring method to produce slightly better results with
    words like the vs. teh. And other simpler misspellings where two
    letters are swapped.
  * Fixed the very unpredictable behavior of the '*', '&', '@' commands in
    the pipe mode.
  * Added documentations for Aspell pipe mode (also known as ispell -a
    compatibility mode)
  * Added a bunch of Aspell specific extensions to the pipe mode and
    documented them.
  * Documented the to_soundslike and soundslike methods for the aspell
    class.
  * Changed the scoring method to produce better results for words like
    ``fone'' vs ``phone'' and other words that have a spelling that doesn't
    directly relate to how the word sounds by using the phoneme equivalent
    of the word in the scoring of it.
  * Added the to_phoneme and have_phoneme methods to the SC_Language class.
   
  * Added the to_phoneme method to the aspell class.
  * Added the framework for being able to learn from the users misspelling.
    Right now it just keep a log of replacements.
  * Re did stl_rope-30.diff. For some reason the version of patch on my
    system refused it.
  * Rewrite of the ``Using as a replacement for Ispell'' section and added
    the run-with-aspell utility as a replacement of the old method of
    mapping Ispell to Aspell.
  * Fixed a bug that caused duplicate words to appear in the suggestion
    list.

Changes from .23 to .24 (Nov 8, 1998)

  * Fixed my code so that it can once again compile with g++ 2.7.2.
  * Rewrote the How It Works chapter.
  * Rewrote the Requirement section and added noted on compiling with g++
    2.7.2.
  * Added a To Do chapter.
  * Added a Glossary and References chapter.
  * Other minor documentation improvements.
  * Internal code documentation improvements.

Changes from .22.1 to .23 (Oct 31, 1998)

  * Minor documentation fixes.
  * Changed the scoring strategy for words with 3 or less letters. This cut
    the number of words returned for these roughly in half.
  * Expanded the word list to also include american.0 and american.1 from
    the Ispell distribution. It now includes english.0, english.1,
    american.0 and american.1 from the directory languages/english provided
    with Ispell 3.1.20.
  * Added a link to the location of the latest Ispell.el in the
    documentation.
  * Started a C interface and added some rough documentation for it.

Changes from .22 to .22.1 (Oct 27, 1998)

  * Minor bug fixes. I was deleting arrays with delete rather than delete
    []. I was suppressed that this had not created a problem.
  * Added a simple test program to test for a memory leak present on some
    systems. (Only debian slink at the moment.) See the file
    memleak-test.cc for more info.

Changes from .21 to .22 (Oct 26, 1998)

  * Major redesign or the scoring method. It now uses absolute distances
    rather than relative scores for more consistent results. See suggest.cc
    for more info.
  * Suggest code rewritten is several places however the core process
    stayed the same.
  * The suggest_ultra method temporally does nothing. It should be working
    again by the next release.

Changes from .20 to .21 (Oct 13, 1998)

  * Added documentation for aspell::Error
  * Changed the library name from libspell to libaspell. It should never
    have been libspell in the first place. Sorry for the incompatibility.
  * Added as_error.hh to the list of files copied to the include directory
    so that you can actually use the library outside of the source dir.
  * Fixed bug that caused a segmentation fault with words where the only
    suggestions was inserting a space or hyphen such as in ``ledgerline''.
  * Added the score method to aspell.
  * Changed the scoring method to deal with word when the user uses "f" in
    place of "ph" a lot better.

Changes from .11 to .20 (Oct 10, 1998)

  * Name change. Everything that was Kspell is now Aspell. Sorry, the name
    Kspell was already used by KDE and I didn't want to cause any
    confusion.
  * Fixed a bug that causes a segmentation fault when the HOME
    environmental variable doesn't exist.

Changes from .10 to .11 (Sep 12, 1998)

  * Overhaul of the SC_Language class
  * Added documentation for international support
  * Added documentation for the C++ library
  * Other minor bug fixes.

---------------------------------------------------------------------------

