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) 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 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 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