Thrax - Release 1.0

* Removed dependency on ICU for UTF8 string parsing: --with-icu configuration
  flag no longer needed and OpenFst library version 1.3.1 or above is required
* Function definitions may now be interleaved with the rest of the body in grammars
* Support for standard (tropical), log and log64 arc types (flag --arc_type)
* --save_symbols flag to thraxcompiler allows for symbol tables to be stored in the compiled fsts; thraxmakedep supports --arc_type and --save_symbols flags
* StringFile function now supports construction of both acceptors and
  transducers. Strings may be compiled in byte or utf8 mode, or with a
  user-specified symbol table
* The --rule flag to thraxrewrite-tester is now --rules; supports a
  comma-separated list of rule names, which are to applied in sequence to the
  input
* Project added as callable function
* Various optimizations to CDRewrite and elsewhere
* Fixed bug in how symbol tables are saved (1.0.1)
* Fixed bug in treatment of symbol tables with StringFile
* Adopted SET_FLAGS for better presentation of flag options

Thrax - Release 1.1

* Added interface to pushdown transducer (PDT) functionality from OpenFst
* Added support for morphological paradigms and linguistic features
* Added assertion capability to allow for self-testing grammars
* Added readline support to thraxrewrite-tester to allow for inline editing and saving
  of histories
* Added thraxrandom-generator to allow one to generate random strings from a
  grammar
* Added more useful debug information --- grammar file name and line number ---
  to allow more one to find bugs in the grammar more easily
* Generated labels are now output in readable form by thraxrewrite-tester and
  thraxrandom-generator
* Generated labels (enclosed in "[]") may no longer be single-character
* Allow ASSERT_EQUAL declarations in the grammar

Thrax - Release 1.2

* Added interface to multi-pushdown transducer (MPDT) functionality from OpenFst
* Added interface to Replace class in OpenFst
* Adds --show_details flag to thraxrewrite-tester. When it is set and when
  multiple rules  are specified, the tool will show the output of each
  individual rule. Useful when trying to find which rule caused a problem
* Raises a warning if more than one definition is given for a function

Thrax - Release 1.2.1
* AssertNull and AssertEmpty assertions added
* Minor fixes to use fully qualified names for std:: objects
* Rearrangement of the main compiler to have separate C++ files for each arc type
* Fixes potential bug in Replace implementation
* Algorithmic improvements to Optimize

Thrax - Release 1.2.2

* Compatibility release for OpenFst 1.5.2

Thrax - Release 1.2.3

* Properly adds AssertEmpty, AssertEqual and RmWeight functions
* Adds fix suggested by Damir Cavar to allow for compilation under Cygwin

Thrax - Release 1.2.4

* Makes "#" a comment character for StringFiles: anything from "#" to the end of
  the line is now a comment. If you want a real "#", escape it with "\"
* Adds a RuleCascade to the library to make it easier to deal with the common
  construct of a cascade of rules (only relevant if you develop code using the
  Thrax libraries)
* Better error reporting for "cannot parse character" error
* Adds ":" as a bash-friendly alternative to "$" when specifying a
  (M)PDT/parens(/assignments) combination

Thrax - Release 1.2.5

* Better use of finalization in the implementation of built-in methods
* Cleanup to string parsing

Thrax - Release 1.2.6

* Adds an optional third column to stringfiles to represent weights
* Adds implementation of lenient composition
* Fixes some header issues that have popped up in recent versions of Debian

Thrax - Release 1.2.7

 * Adds some more useful debugging errors (e.g. when user tries to
   reuse a namespace designator)

Thrax - Release 1.2.8

 * Improved integration of boundary symbols in CDRewrite

Thrax - Release 1.2.9

 * Improved implementation of the cross-product (colon) operator
 * Removes unused Connect built-in

Thrax - Release 1.3.0

 * Removes deprecated support for single-character generated symbols
 * Improvements to range-based concat

Thrax - Release 1.3.1

 * Compatibility with OpenFst version 1.7.4

Thrax - Release 1.3.2

 * Compatibility with OpenFst version 1.7.6

Thrax - Release 1.3.3

 * Compatibility with OpenFst version 1.7.7

Thrax - Release 1.3.4

 * Compatibility with OpenFst version 1.7.9

Thrax - Release 1.3.5

 * Better internal use of smart pointers
 * Compatibility with OpenFst version 1.8.0

Thrax - Release 1.3.6

  * Remove ArcSort function
  * Compatibility with OpenFst version 1.8.1

Thrax - Release 1.3.7

  * Symbol `[0]` now gets assigned the numeric interpretation of `0x00` rather
    than the ASCII digit interpretation of `0x30`, just like the rest of the
    bracketed numeric symbols.
  * Use OpenFst's type registration module instead of our own
  * Compatibility with OpenFst version 1.8.2

Thrax - Release 1.3.8

  * Fixes StringFile registry bug
  * Continues compatibility with OpenFst version 1.8.2

Thrax - Release 1.3.9

  * Continues compatibility with OpenFst version 1.8.3
