OpenFst - Release 1.4
   * Port to C++11 (1.4.0)
   * Disambiguate function added (1.4.0)
   * Isomorphic function added (1.4.0)
   * Matcher interface augmented with Priority method.
   * Special matchers (rho/sigma/phi) can match special symbols 
     on both input FSTs in composition/intersection provided at each 
     state pair they only match one side (1.4.0)
   * Added ExplicitMatcher to suppress implicit matches (e.g. epsilon self-loops) (1.4.0)
   * Linear{Tagger,Classifier}Fst extensions added (1.4.0)
   * Generalized state-reachable to work when input is cyclic (so long
     as no final state is in a cycle). This ensures label-reachable
     (and hence label lookahead) works with cyclic input (1.4.0).
   * Added Condense to build the condensation graph (SCC's condensed to single states) 
     of an FST (1.4.0).
   * Added an option to Reverse to specify whether a super-initial state 
     should always be created (1.4.0).
   * Fixed bugs in FirstCacheStore, PowerWeight, and StringCompiler (1.4.0).
   * Changed SymbolTable to use faster data structure (1.4.0).
   * Added 'min' disambiguation in determinizaton to keep only the minimum 
     output in a non-functional transducer when plus=min/max (
     -disambiguate_output flag) (1.4.1)
   * Compiler issues in linear-fst fixed (1.4.1)

OpenFst - Release 1.3
   * Support for non-fatal exits on errors: (1.3.1)
      * Added FLAGS_fst_error_fatal: FST errors are
        fatal if true (default); o.w. return objects flagged as bad: 
        e.g., FSTs - kError
        prop. true, FST weights - not a Member().
      * Added kError property bit signifying bad FST
      * Added  NoWeight() method to FST weight requirements that returns 
        weight that is not a Member().
   * Various improvements to the FAR extensions (1.3.1)
      * a single FST is now a FAR type
      * FLAGS_initial_symbols: Uses the symbol table from the 
        first FST in the archive for all entries"
      * Input/output to standard input/output for some FAR and arc types
  * --with-icu configuration option no longer needed (1.3.1)
  * Improved flags usage esp. if use SET_FLAGS not SetFlags/InitFst (1.3.2)
  * Added 'fst' as possible far writer type (1.3.2)
  * phi matcher can now accept 0 as the phi label (1.3.2)
  * Added ngram-fst extension (1.3.2)
  * Improved performance of PDT composition (1.3.3)
  * Memory-map support (1.3.3)
  * Fixed cross-FST serialization issues (1.3.3)
  * Fixed NGramFst off-by-one issue (1.3.3)
  * farextract now allows one to specify a list of comma-separated keys,
    including key ranges (1.3.3)
  * Fixed bug in PDT replace that could cause close paren IDs to collide
    with open paren IDs (1.3.4)

OpenFst - Release 1.2
   * Added lookahead matching and filtering for faster composition
   * Added EditFst for mutation of o.w. immutable FSTs
   * Added script sub-namespace defining type FstClass - a non-templated
     Fst<Arc> to hold the arc template type internally. This and FST
     operations on it allow easier I/O and scripting at the cost of some
     runtime dispatching.
   * Added per-arc-iterator control of Fst caching.
   * Added PowerWeight and Power Arc.
   * Added SparsePowerWeight and SparsePowerArc (1.2.4)
   * Added SignedLogWeight and SignedLogArc (1.2.4)
   * Added ExpectationWeight and ExpectationArc (1.2.4)
   * Added AStarQueue, PruneQueue and NaturalPruneQueue disciplines (1.2.6)
   * Added Log64Weight and Log64Arc to FST library throughout, including 
     support throughout scripts/bins/dsos (1.2.8)
   * Added delayed RandGenFst that outputs tree of paths weighted
     by count (1.2.8)
   * Added fstsymbols shell-level command
   * Added total weight removal option to pushing
   * Changed methods for symbol table mutation:
     use MutableInputSymbols()/MutableOutputSymbols().
   * Numerous efficiency improvements esp in composition, replace, and caching
   * Made "fstmap" handle semiring conversion by adding "to_std", "to_log"
     and "to_log64" as supported 'map_type' arguments (1.2.8).
   * Made the destructive implementation of RmEpsilon skip over states
     admitting no non-epsilon incoming transition (1.2.8). 
   * Fixed numerous bugs (1.2 through 1.2.9) including:
     - improper types of some approximation deltas
     - sub-optimal hashing functions
     - issues in internal reuse of shortest distance
     - hashing bug in FloatWeight       
     - bug in shortest path queue 
     - symbol table checksumming issues
     - various C++ standards issues
     - Visit() behavior when visitation aborted
     - Decode() hash performance bug (1.2.1)
     - EditFst::Copy(bool) method when the boolean parameter is true (1.2.7)
     - SymbolTable memory leak in Invert() (1.2.8)
     - Added escaping of " and \ in labels in fstdraw, needed for dot to
       function properly (1.2.8) 
     - Fixed handling of final weight of start state in fstpush (1.2.8)
     - Added FST_LL_FORMAT to fix 64-bit integer printf issues (1.2.9)
     - Fixed missing <functional> includes (1.2.9)
     - Fixed reused local variable names (1.2.9)
     - Fixed passing string by reference in FstDraw args (1.2.9)
   * Added extensions directories including:
     - finite-state archive (FAR) utilities,
       added stlist format supporting writing/reading to/from standard out/in
       at the library-level (1.2.8)
     - compact fsts
     - lookahead fsts
     - pushdown transducers (improved in 1.2.1 through 1.2.7).
   * Added StateMap/StateMapFst; renamed Map/MapFst to ArcMap/ArcMapFst;
     map/MapFst retained (but deprecated) (1.2.9)
   * Deleted ArcSum() and ArcMerge; use StateMap w/ ArcSumMapper and 
     ArcUniqueMapper (1.2.9).
   * Incremented version of ConstFst/CompactFsts to stop memory alignment
     that fails on pipes. Made old version raises errors when read on 
     pipes (1.2.9).
   * Improved determinize hash (1.2.9)
   * Removed stdio uses (1.2.10)
   * Fixed library ordering issues esp. with newer GNU build tools (1.2.10)

OpenFst - Release 1.1
   * Added compat.h to src/include/fst to fix missing defines
   * Fixed bug in acyclic minimization that led to non-minimal 
     (but equiv) results
   * Fixed missing FST typedef in various matchers in matcher.h
     so that they can be cascaded
   * Opened file streams binary where appropriate

OpenFst - Release 1.0

   Additions to beta version:

   * Matcher class added for matching labels at FST states. Includes
     special matchers for sigma (any), rho ('rest'), and phi ('fail')
     labels. (see matcher.h)
   * Composition generalized with arbitrary filters, matchers, and state tables.
     Sequence and matching composition filters provided. (see compose.h, 
     compose-filter.h, matcher.h, state-table.h)
   * Unique n-best (see shortest-path.h)
   * Pruning in determinization and epsilon removal (see determinize.h, 
     rmepsilon.h)
   * New Fst classes: 
      * Compact Fsts for space-efficient representation (see compact-fst.h)
   * New Weight classes: 
      * MinMax
      * Lexicographic
   * Miscellaneous bug fixes
