2 * Removes restriction that Prune argument have commutative weights (1.6.3)
3 * Improves configuration of CompositeWeight readers and writers (1.6.3)
4 * Improves accuracy of ShortestDistance summation (1.6.3)
5 * SetFinal now "moves" its weight argument (1.6.3)
6 * Exposes ArcIterator and EncodeMapper flags in Python (1.6.3)
7 * Properly sets return codes in FST binaries (1.6.3)
8 * Eliminates StringWeight macros (1.6.3)
9 * Finalizes most virtual method overrides (1.6.2)
10 * Fixes missing includes of <fst/log.h> (1.6.1)
11 * Adds float format support to FST drawing (1.6.1)
12 * Extensive modernization for C++11 style (1.6.0)
13 * Many classes and constants moved into an internal namespace (1.6.0)
14 * Adds HashMatcher (1.6.0)
15 * Adds Member method to SymbolTable (1.6.0)
16 * Adds the "special" extension and the fstspecial binary; this is similar to
17 fstconvert but accepts arguments for specifying special labels (phi, rho,
18 and sigma) of FSTs (1.6.0)
19 * Exposes allow_negative_label option for Python symbol tables (1.6.0)
22 * Added p-subsequential determinization (1.5.0)
23 * Generalized epsilon normalization to non-functional case (1.5.0)
24 * Added general gallic (plus is union) semiring (1.5.0)
25 * Added FST compression extension (1.5.0)
26 * Added Python extension (1.5.0)
27 * Added multiple pushdown transducer (MPDT) support (1.5.0)
28 * Fixed Isomorphic function (1.5.0)
29 * Added final method to matchers (1.5.0)
30 * Fixed various compiler issues (1.5.0)
31 * Fixed missing Isomorphic components (1.5.0)
32 * Added UnionWeight (1.5.0)
33 * Added InputEpsilonMapper and OutputEpsilonMapper arc mappers (1.5.1)
34 * Added TrivialComposeFilter for more efficient composition when one
35 of the arguments is epsilon-free (1.5.1)
36 * Added properties bits kUnweightedCycles and kWeightedCycles (1.5.1)
37 * Added missing const qualification to (1.5.1):
38 - SymbolTableIterator access
39 - EncodeMapper writing to file
40 - EncodeMapper SymbolTable access
41 * Replaced internal custom reference-counting (RefCounter) with
42 C++11 smart pointers where possible, and fixed associated
43 reference-counting bugs (1.5.1)
44 * When calling DeleteStates on a MutableFst with a shared impl, the impl
45 is set to a new empty impl rather than copying and deleting (1.5.1)
46 * Prepended `Pdt` to the Expand libraries and classes in the PDT
47 extension, and prepended `MPdt` to the Expand libraries and classes
48 in the MPDT extension, so that both can be used in the same compilation
50 * Added option to PDT Replace for compiling a strongly-regular RTN into a
51 bounded-stack PDT (1.5.1)
52 * Improved symbol table support for PDT Replace, including automatic
53 generation of parentheses symbols (1.5.1)
54 * Improvements to scripting API (1.5.1):
55 - Added methods for FST access and mutation
56 - Added additional checks for arc/weight compatibility
57 - WeightClass::One and WeightClass::Zero now require a specified weight
58 type at time of construction
59 - Improved VectorFstClass constructors
60 - Added linear-time check for cyclic dependencies in Replace
61 - Added EncodeMapperClass, a template-free box for an EncodeMapper
62 * Improvements to the binaries (1.5.1):
63 - Fixed no-op --precision flag to fstdraw (1.5.1)
64 - Fixed no-op --file_list_input flag to farcreate (1.5.1)
65 * Improvements to the Python extension (1.5.1):
66 - Added methods for creating an empty mutable FST
67 - Added methods for FST access via state and arc iteration
68 - Added FST compilation from arclists (cf. fstcompile)
69 - Added FST printing and drawing
70 - Added FarReader and FarWriter classes.
71 * FarReader's GetFst method now returns a pointer (1.5.2)
72 * Fixed FSTERROR macro (1.5.2)
73 * Fixed build flags for dlopen (1.5.2)
74 * Consolidated Python extension into single module (1.5.2)
75 * Python add_arc now takes an Arc object (1.5.2)
76 * Adds optional minimization of non-deterministic FSTs (1.5.3)
77 * Mutation methods of the Python Fst object now support chaining (1.5.3)
78 * Scripting API and Python weight objects now support semiring arithmetic
80 * Adds RemoveSymbol method to SymbolTable (1.5.4)
81 * Prevents underflow when using LogProbArcSelector in random generation
83 * Makes random weight generators a single template class (1.5.4)
84 * Makes weight Properties constexpr where possible (1.5.4)
85 * Adds check for error when opening files when compiling strings into FARs
87 * Adds routines for parsing string flags to the scripting API (1.5.4)
90 * Port to C++11 (1.4.0)
91 * Disambiguate function added (1.4.0)
92 * Isomorphic function added (1.4.0)
93 * Matcher interface augmented with Priority method.
94 * Special matchers (rho/sigma/phi) can match special symbols
95 on both input FSTs in composition/intersection provided at each
96 state pair they only match one side (1.4.0)
97 * Added ExplicitMatcher to suppress implicit matches (e.g. epsilon
99 * Linear{Tagger,Classifier}Fst extensions added (1.4.0).
100 * Generalized state-reachable to work when input is cyclic (so long as no
101 final state is in a cycle). This ensures label-reachable (and hence label
102 lookahead) works with cyclic input (1.4.0)
103 * Added Condense to build the condensation graph (SCCs condensed to single
104 states) of an FST (1.4.0).
105 * Added an option to Reverse to specify whether a super-initial state
106 should always be created (1.4.0).
107 * Fixed bugs in FirstCacheStore, PowerWeight, and StringCompiler (1.4.0).
108 * Changed SymbolTable to use faster data structure (1.4.0).
109 * Added 'min' disambiguation in determinizaton to keep only the minimum
110 output in a non-functional transducer when plus=min/max
111 (flag --disambiguate_output) (1.4.1)
112 * Compiler issues in linear-fst fixed (1.4.1)
115 * Support for non-fatal exits on errors: (1.3.1)
116 - Added FLAGS_fst_error_fatal: FST errors are
117 fatal if true (default); o.w. return objects flagged as bad:
119 prop. true, FST weights - not a Member().
120 - Added kError property bit signifying bad FST
121 - Added NoWeight() method to FST weight requirements that returns
122 weight that is not a Member().
123 * Various improvements to the FAR extensions (1.3.1)
124 - a single FST is now a FAR type
125 - FLAGS_initial_symbols: Uses the symbol table from the
126 first FST in the archive for all entries"
127 - Input/output to standard input/output for some FAR and arc types
128 * --with-icu configuration option no longer needed (1.3.1)
129 * Improved flags usage esp. if use SET_FLAGS not SetFlags/InitFst (1.3.2)
130 * Added 'fst' as possible far writer type (1.3.2)
131 * phi matcher can now accept 0 as the phi label (1.3.2)
132 * Added ngram-fst extension (1.3.2)
133 * Improved performance of PDT composition (1.3.3)
134 * Memory-map support (1.3.3)
135 * Fixed cross-FST serialization issues (1.3.3)
136 * Fixed NGramFst off-by-one issue (1.3.3)
137 * farextract now allows one to specify a list of comma-separated keys,
138 including key ranges (1.3.3)
139 * Fixed bug in PDT replace that could cause close paren IDs to collide
140 with open paren IDs (1.3.4)
143 * Added lookahead matching and filtering for faster composition
144 * Added EditFst for mutation of o.w. immutable FSTs
145 * Added script sub-namespace defining type FstClass, a non-templated
146 Fst<Arc> to hold the arc template type internally. This and FST
147 operations on it allow easier I/O and scripting at the cost of some
149 * Added per-arc-iterator control of Fst caching.
150 * Added PowerWeight and Power Arc.
151 * Added SparsePowerWeight and SparsePowerArc (1.2.4)
152 * Added SignedLogWeight and SignedLogArc (1.2.4)
153 * Added ExpectationWeight and ExpectationArc (1.2.4)
154 * Added AStarQueue, PruneQueue and NaturalPruneQueue disciplines (1.2.6)
155 * Added Log64Weight and Log64Arc to FST library throughout, including
156 support throughout scripts/bins/dsos (1.2.8)
157 * Added delayed RandGenFst that outputs tree of paths weighted
159 * Added fstsymbols shell-level command
160 * Added total weight removal option to pushing
161 * Changed methods for symbol table mutation:
162 use MutableInputSymbols()/MutableOutputSymbols().
163 * Numerous efficiency improvements esp in composition, replace, and caching
164 * Made "fstmap" handle semiring conversion by adding "to_std", "to_log"
165 and "to_log64" as supported 'map_type' arguments (1.2.8).
166 * Made the destructive implementation of RmEpsilon skip over states
167 admitting no non-epsilon incoming transition (1.2.8).
168 * Fixed numerous bugs (1.2 through 1.2.9) including:
169 - improper types of some approximation deltas
170 - sub-optimal hashing functions
171 - issues in internal reuse of shortest distance
172 - hashing bug in FloatWeight
173 - bug in shortest path queue
174 - symbol table checksumming issues
175 - various C++ standards issues
176 - Visit() behavior when visitation aborted
177 - Decode() hash performance bug (1.2.1)
178 - EditFst::Copy(bool) method when the boolean parameter is true (1.2.7)
179 - SymbolTable memory leak in Invert() (1.2.8)
180 - Added escaping of " and \ in labels in fstdraw, needed for dot to
181 function properly (1.2.8)
182 - Fixed handling of final weight of start state in fstpush (1.2.8)
183 - Added FST_LL_FORMAT to fix 64-bit integer printf issues (1.2.9)
184 - Fixed missing <functional> includes (1.2.9)
185 - Fixed reused local variable names (1.2.9)
186 - Fixed passing string by reference in FstDraw args (1.2.9)
187 * Added extensions directories including:
188 - finite-state archive (FAR) utilities,
189 added stlist format supporting writing/reading to/from standard out/in
190 at the library-level (1.2.8)
193 - pushdown transducers (improved in 1.2.1 through 1.2.7).
194 * Added StateMap/StateMapFst; renamed Map/MapFst to ArcMap/ArcMapFst;
195 map/MapFst retained (but deprecated) (1.2.9)
196 * Deleted ArcSum() and ArcMerge; use StateMap w/ ArcSumMapper and
197 ArcUniqueMapper (1.2.9).
198 * Incremented version of ConstFst/CompactFsts to stop memory alignment
199 that fails on pipes. Made old version raises errors when read on
201 * Improved determinize hash (1.2.9)
202 * Removed stdio uses (1.2.10)
203 * Fixed library ordering issues esp. with newer GNU build tools (1.2.10)
206 * Added compat.h to src/include/fst to fix missing defines
207 * Fixed bug in acyclic minimization that led to non-minimal
208 (but equivalent) results
209 * Fixed missing FST typedef in various matchers in matcher.h
210 so that they can be cascaded
211 * Opened file streams binary where appropriate
213 OpenFst: Release 1.0 (Additions to beta version):
214 * Matcher class added for matching labels at FST states. Includes
215 special matchers for sigma (any), rho ('rest'), and phi ('fail')
217 * Composition generalized with arbitrary filters, matchers, and state
219 * Sequence and matching composition filters provided. (see compose.h,
220 compose-filter.h, matcher.h, state-table.h)
221 * Unique n-best (see shortest-path.h)
222 * Pruning in determinization and epsilon removal (see determinize.h,
225 * Compact Fsts for space-efficient representation (see compact-fst.h)
226 * New Weight classes:
229 * Miscellaneous bug fixes