Releases: garvys-org/rustfst
Releases · garvys-org/rustfst
rustfst-v0.7.3
Full Changelog: rustfst-v0.7.2...rustfst-v0.7.3
rustfst-v0.7.2
What's Changed
Full Changelog: rustfst-v0.7.1...rustfst-v0.7.2
rustfst-v0.7.1
What's Changed
- Clippy improvements by @Garvys in #131
- Make
acceptor_minimize
public by @hdlj in #133 - Implement convertion between Vec and TrsVec by @hdlj in #135
- Make
from_op_and_cache
function onLazyFst
andLazyFst2
public by @hdlj in #136 - Make
QuantizeMapper
configurable by @hdlj in #137 - Extend the CacheStatus API by @hdlj in #138
- Implementation of some traits for their
Deref
counterparts. by @hdlj in #139 - Extend prelude re-export by @hdlj in #140
- Fix RmEpsilon by @Garvys in #134
- Make
NO_LABEL
andNO_STATE_ID
public by @hdlj in #143 - Fix determinize by @Garvys in #144
- Make proptest FST public by @hdlj in #141
- use borrow to make deterministic generic over fst pointer type by @kali in #142
- Allow Composition of Lazy Fsts by @Garvys in #145
- ComposeFst clonable if possible by @Garvys in #146
- Compose borrow by @kali in #148
- revisit proptest a bit, add timeout and correctness tests on minimize by @kali in #149
- Optimize + several fixes by @Garvys in #150
- default symtable should have epsilon by @kali in #151
- SymbolTable improvements by @Garvys in #152
Full Changelog: rustfst-v0.6.3...rustfst-v0.7.1
rustfst-v0.6.3
What's Changed
Full Changelog: rustfst-v0.6.2...rustfst-v0.6.3
rustfst-v0.6.2
What's Changed
- FstIntoIterator / FstIterator / FstIteratorMut by @Garvys in #84
- Add super final state by @hdlj in #85
- Relax contraints semiring by @hdlj in #87
- Take final weight by @Garvys in #86
- Fst convert consuming its input by @Garvys in #89
- Allow to modify SymbolTables attached to a ConstFst by @Garvys in #90
- Remove MutableFst trait bound from input of shortest_path by @Garvys in #92
- Immutable Arc Mapper by @Garvys in #95
- Fix olabel drawing when no symbol table provided by @hdlj in #96
- Reverse back by @Garvys in #94
- Symbol table serialization when serializing a FST (Binary) by @hdlj in #97
- Composition by @Garvys in #79
- Use anyhow instead of failure by @awelkie in #99
- Use anyhow instead of failure by @awelkie in #100
- Use loose dependencies by @adrienball in #101
- Add Clone to dynamic FST structs by @awelkie in #102
- Rename arc dyn by @Garvys in #104
- More arc renaming by @Garvys in #105
- Static semiring by @kali in #106
- Arc sym tables by @kali in #107
- Change test logic for shortest path to fix inconsistencies between ma… by @Garvys in #109
- Replace tests are back in the crate by @Garvys in #110
- Revamp for multi-threading by @Garvys in #108
- Fix tests tr_sort by @Garvys in #111
- Speed up shortest path by @Garvys in #112
- Make ComposeFst clonable by @Garvys in #114
- Speed-up label reachable by @Garvys in #116
- Read VectorFst from ConstFst file by @Garvys in #117
- Speed up num_trs() by @Garvys in #118
- Lazy num_{in,out}put_epsilons by @Garvys in #119
- Lazy FstProperties + num_{input,output}_epsilons by @Garvys in #113
- Benchmark scripts for composition by @Garvys in #122
- Speed-up composition by @Garvys in #123
- Reduce number of arc cloning in composition by @Garvys in #124
- Github actions by @Garvys in #125
- Task/cross build bench by @Garvys in #126
- Add new operations to automated benchmarks by @Garvys in #127
- Reduce size of fsts used in composition benches to avoid OOM errors by @Garvys in #128
- Bounded cache size for dynamic fsts by @Garvys in #115
- Remove trait bound on Default in FstCache trait by @Garvys in #129
New Contributors
- @awelkie made their first contribution in #99
- @adrienball made their first contribution in #101
Full Changelog: rustfst-v0.5.0...rustfst-v0.6.2
rustfst-v0.5.0
Added
- Add
FstIterator
andFstIteratorMut
to iterate over states and arcs in a given FST without referencing the FST. - Implement
FstIterator
andFstIteratorMut
for ConstFst and VectorFst. - Add
AllocableFst
to control the wFst allocation:capacity
,reserve
,shrink_to_fit
- Implement
AllocableFst
for Vector Fst - Add
del_all_states
method in theMutableFst
trait to remove all the states in a Fst. - Add
set_input_symbols()
andset_output_symbols()
to theMutableFst
trait to attach aSymbolTable
to an Fst. - Add
input_symbols()
andoutput_symbols()
to theFst
trait to retrieve previously attachedSymbolTable
. - Add
replace
fst operations. - Change internal implementation of
Replace
,Determinize
andFactorWeight
to share more code by creating the traitFstImpl
and the structStateTable
. - Implement/Derive
Clone
/PartialEq
/PartialOrd
/Debug
for all internal structures when possible. - Added dynamic versions of some algorithms:
replace
->ReplaceFst
factor_weight
->FactorWeightFst
union
->UnionFst
concat
->ConcatFst
closure
->ClosureFst
rmepsilon
->RmEpsilonFst
- Added
delete_final_weight_unchecked
to theFst
trait and implement it forVectorFst
. - Added
SerializableSemiring
trait and implement it for mostSemiring
s. - All
Fst
that implementsSerializableFst
with aSemiring
implementingSerializableSemiring
can now be serialized/deserialized consistently with OpenFst. - Added
arc_type()
method torustfst::Arc
. - Added
write
andread
method to theSymbolTable
API to serialize and deserialize SymbolTable in binary format consistently with OpenFst. - Added
unset_input_symbols
andunset_output_symbols
methods to remove the symbol tables attached to a mutable fst. - Added
emplace_arc
andemplace_arc_unchecked
as provided methods to theMutableFst
trait. - Added
set_symts_from_fst
to MutableFst trait to copy the SymbolTable from anotherFst
. - Added
print_weights
field toDrawingConfig
to avoid print weights when desired.
Changed
- Make
KDELTA
public outside of the crate - Fix serialization into a DOT file by putting the
label
into quotes. - Remove
reserve
API fromMutableFst
, seeAllocableFst
for this API - Remove
Fst
trait bound onDisplay
. - Removed
closure_plus
andclosure_star
in favor ofclosure
with aClosureType
parameter. - Fixed bugs in
concat
,union
andclosure
. factor_weight
now takes as input a type implementingBorrow
instead of&fst
.replace
now takes as input a vector of types implementingBorrow
instead offst
.- Parse
FstFlags
when parsing binaryConstFst
andVectorFst
. Raise an error if the file contains a SymbolTable. Not yet supported. - Remove
TextParser
,BinarySerializer
andBinaryDeserializer
traits. AddSerializableFst
in replacement. - Fix: when serializing an
Fst
, now uses the result of thearc_type()
method instead of using an hardcoded value. Display
is no longer a trait bound ofSemiring
. However, it is required to implementSerializableSemiring
.- Use
BufWriter
when serializing aSymbolTable
object increasing the serialization speed. - Fix bug when the parsing of fst in binary format crashed because a symbol table was attached to the fst. The symbol tables are now retrieved directly from the fst file.
plus
andtimes
methods ofSemiring
now takes aBorrow
instead of anAsRef
. Remove trait bounds onAsRef<Self>
,Default
andSized
.- Add checks on
fst_type
andarc_type
when loading a binary fst. As a result, for instance, loading aConstFst
with aVectorFst
file will trigger a nice error. SymbolTable
attached to anFst
are now used when drawing it.- Change parameter from W to Into for
add_arc
,set_final_unchecked
andset_final
methods. MutableFst
now has a trait bound onExpandedFst
.DrawingConfig
parameterssize
,ranksep
andnodesep
are now optional.- Fix SymbolTable conservation for
Reverse
andShortestPath
. RmEpsilon
now mutates its input.dfs_visit
now accepts anArcFilter
to be able to skip some arcs.AutoQueue
andTopOrderQueue
now take anArcFilter
in input.- Remove
Fst
trait bound onClone
andPartialEq
. However this is mandatory to be anExpandedFst
. rmepsilon
no longer requires theSemiring
to be aStarSemiring
.- Revamped RmEpsilon and ShortestDistance implementations in order to be closer to OpenFst's one.