OpenFst NEWS

OpenFst - Release 1.6

  • Finalizes most virtual overrides (1.6.2)
  • Fixes missing includes of <fst/log.h> (1.6.1)
  • Adds float format support to FST drawing (1.6.1)
  • Extensive modernization for C++11 style (1.6.0)
  • Many classes and constants moved into an internal namespace (1.6.0)
  • Adds HashMatcher (1.6.0)
  • Adds Member method to SymbolTable (1.6.0)
  • Adds the "special" extension and the fstspecial binary; this is similar to fstconvert but accepts arguments for specifying special labels (phi, rho, and sigma) of FSTs (1.6.0)
  • Exposes allow_negative_label option for Python symbol tables (1.6.0)

OpenFst - Release 1.5

  • Added p-subsequential determinization (1.5.0)
  • Generalized epsilon normalization to non-functional case (1.5.0)
  • Added general gallic (plus is union) semiring (1.5.0)
  • Added FST compression extension (1.5.0)
  • Added Python extension (1.5.0)
  • Added multiple pushdown transducer (MPDT) support (1.5.0)
  • Fixed Isomorphic function (1.5.0)
  • Added final method to matchers (1.5.0)
  • Fixed various compiler issues (1.5.0)
  • Fixed mixing Isomorphic components (1.5.0)
  • Added UnionWeight (1.5.0)
  • Added InputEpsilonMapper and OutputEpsilonMapper arc mappers (1.5.1)
  • Added TrivialComposeFilter for more efficient composition when one of the arguments is epsilon-free (1.5.1)
  • Added properties bits kUnweightedCycles and kWeightedCycles (1.5.1)
  • Added missing const qualification to (1.5.1):
    • SymbolTableIterator access
    • EncodeMapper writing to file
    • EncodeMapper SymbolTable access
  • Replaced internal custom reference-counting (RefCounter) with C++11 smart pointers where possible, and fixed associated reference-counting bugs (1.5.1)
  • Prepended Pdt to the Expand libraries and classes in the PDT extension, and prepended MPdt to the Expand libraries and classes in the MPDT extension, so that both can be used in the same compilation unit (1.5.1)
  • Added option to PDT Replace for compiling a strongly-regular RTN into a bounded-stack PDT (1.5.1)
  • Improved symbol table support for PDT Replace, including automatic generation of parentheses symbols (1.5.1)
  • Improvements to scripting API (1.5.1):
    • Added methods for FST access and mutation
    • Added additional checks for arc/weight compatibility
    • WeightClass::One and WeightClass::Zero now require a specified weight type at time of construction
    • Added new VectorFstClass constructor
    • Added linear-time check for cyclic dependencies in Replace
    • Added EncodeMapperClass, a template-free box for an EncodeMapper
  • Bug-fix to STTable-backed FARs (1.5.1)
  • Improvements to the binaries (1.5.1):
    • Fixed no-op --precision flag to fstdraw (1.5.1)
    • Fixed no-op --file_list_input flag to farcreate (1.5.1)
  • Improvements to the Python extension (1.5.1):
    • Added methods for creating an empty mutable FST
    • Added methods for FST access via state and arc iteration
    • Added FST compilation from arc-lists (cf. fstcompile)
    • Added FST printing and drawing
    • Added FarReader and FarWriter classes
  • FarReader='s =GetFst method now returns a pointer (1.5.2)
  • Fixed FSTERROR macro (1.5.2)
  • Fixed build flags for dlopen (1.5.2)
  • Consolidated Python extension into single module (1.5.2)
  • Python add_arc now takes an Arc object (1.5.2)
  • Adds optional minimization of non-deterministic FSTs (1.5.3)
  • Mutation methods of the Python Fst object now support chaining (1.5.3)
  • Scripting API and Python weight objects now support semiring arithmetic (1.5.3)
  • Adds RemoveSymbol method to SymbolTable (1.5.4)
  • Prevents underflow when using LogProbArcSelector in random generation (1.5.4)
  • Makes random weight generators a single template class (1.5.4)
  • Makes weight Properties constexpr where possible (1.5.4)
  • Adds check for error when opening files when compiling strings into FARs (1.5.4)
  • Adds routines for parsing string flags to the scripting API (1.5.4)

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 PowerArc.
  • 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

  • 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

OpenFst - Release Beta

  • Initial public release

-- MichaelRiley - 20 Mar 2009

Topic revision: r38 - 2017-03-14 - KyleGorman
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback