All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.8 - 2024-01-18
- no-std
- update docs
- fst-bin polish/clap/refactor
- fix tests
- fix #1
- fix
- fix error
- no_std fixes
- release
- Update README.md
- Update release-plz.yml
- Create deny.toml
- Update ci.yml
- fmt
- clippy
- clippy
- cleanup
- Update Cargo.toml
- Update Cargo.toml
- Update Cargo.toml
- Create release-plz.yml
- Update ci.yml
- Update ci.yml
- Update ci.yml
- Delete fst-regex directory
- Delete fst-levenshtein directory
- Delete fst-bin directory
- Update Cargo.toml
- Update README.md
- Update README.md
- remove .idea files
- Update Cargo.toml
- fix it with updates
- use latest OS versions
- bump pinned to Rust 1.60.0
- fst-bin-0.4.3
- various updates
- remove 'num_cpus' and move to 'memmap2'
- upgrade to bstr 1.3
- fix build
- switch to dtolnay/rust-toolchain
- do not build all docs on pinned Rust either
- don't run tests on pinned Rust version
- pin cross to v0.2.1
- fst-bin-0.4.2
- 0.4.7
- fix 'cargo doc' generation again
- use 'cargo doc --all --no-deps'
- try to set 'doc = false'
- remove redundant check in 'compile'
- 0.4.6
- remove 'inline' annotations
- make state limit configurable
- fix incorrect doc comment
- introduce the prefix flag to the fuzzy subcommand
- remove "apr" from example list
- update and fix some links
- update for changes in GitHub Actions
- clarify duplicate terminology
- 0.4.5
- Fst::as_inner to give access to underlying data
- 0.4.4
- add map_data method
- fst-0.4.3
- add {Set,Map}::into_fst and Clone impls
- fst-0.4.2
- add new accept_eof method
- upgrade to actions/checkout@v2
- fst-0.4.1
- add into_inner on raw::Fst
- fix typo
- replace
ignore
withplain
for non code docs - fix silly mistake
- fst-bin-0.4.1
- remove use of Result::map_or
- update to regex-automata 0.1.9
- depend on old fst
- remove deprecated crates from workspace
- 0.4.0
- don't show underlying errors in Display impl
- add 'verify' sub-command
- bump FST version and support older FST versions
- remove AsRef<[u8]> from struct definitions
- more polishing work
- tweak inline annotations
- get rid of hack used before pub(crate)
- remove byteorder
- add CRC32C to every FST
- add "stream with state" APIs
- remove fst-bin from workspace
- add from_iter_{set,map} convenient constructors
- add get_key/get_key_into APIs
- add knobs for reverse and minimization
- drop docopt in favor of clap
- update dependencies and add some polish
- make FSTs generic over AsRef<[u8]>
- minor touchups
- specialize registry case of two cells
- switch to criterion for benchmarks
- move levenshtein, remove regex
- clean up all warnings and make things compile
- switch to Rust 2018
- switch to GitHub Actions
- switch to rustfmt
- remove superfluous files
- add convenience for creating an FST from builder
- don't skip headers
- 0.3.5
- add
Str
for exact strings - 0.3.4
- add Set/Map::from_static_slice
- 0.3.3
- add as_bytes method
- explicitly point out that difference has 1 IndexValue
- make the image of billion strings appear
- bump minimum version
- fst-regex-0.2.2
- add version tag
- add
mmap
feature - add #[inline] to some public non-generic functions
- implement Clone and Debug on automatons
- 0.3.2
- derive common traits
- tweak version
- update various dependencies
- add Subsequence
- Implement
Default
for Set and Map - Updates README Cargo.toml example to say 0.3.0
- fix example
- Use the SVG Travis badge
- 0.3.0
- replace try! with ?
- bump minimum rustc version to 1.20
- update to memmap 0.6
- remove public dependency on memmap crate
- core performance improvements
- remove unnecessary
mut
binding - add path to [[bin]]
- remove unnecessary mut binding
- remove comment
- 0.2.3
- safely expose raw bytes of an FST
- 0.2.2
- 0.2.1
- update fst-bin to fst refactor
- split regexes and fuzzy search into separate crates
- comment fix
- Add syntax highlighting to README
- 0.1.38
- don't run benchmarks in travis
- Run tests without default features.
- Fix output value bug.
- 0.1.37
- Added impl From<Arc> for MmapReadOnly
- 0.1.36
- add get_ref(), bytes_written() to MapBuilder/SetBuilder
- Fix transition iterator for nodes with 256 transitions
- len is the number of keys, not nodes.
- 0.1.35
- Add Rust 1.7.0 to Travis.
- added mmap feature (default on)
- Minor edit to readme
- Rearrange and publish Automaton implementors.
- 0.1.34
- Upgrade regex-syntax and memmap.
- 0.1.33
- Add support for creating an Fst from a slice of Vec.
- remove pushes from Makefile
- 0.1.32
- bump byteorder
- 0.1.31
- Merge pull request #17 from fulmicoton/bugfix/14_slice_offset_len
- rustup
- 0.1.30
- Fix set difference operation.
- 0.1.29
- remove unused import
- 0.1.28
- Closes #12. Implement From trait for Set and Map.
- Just test on current stable.
- Drop duplicate key errors.
- 0.1.27
- Closes #2 Implement Clone and adds len() to MmapReadOnly
- 0.1.26
- 0.1.25
- version bump
- Add a new command to embed FSTs into Rust source files.
- Add tests for the automaton adapters
- Rename must_match to will_always_match
- Add various automaton adapters
- memory maps
- update readme finally
- 0.1.24
- Don't use an a huge literal for usize. Just use u64 instead.
- tweaking and polishing
- Improve microbenchmarks.
- add Windows CI
- Some perf improvements to simple lookups.
- 0.1.23
- 0.1.22
- Tweak the transition numbers again.
- Add non-generic as_fst methods.
- 0.1.21
- Represent 256 transitions as
0
, which always uses an extra byte. - Max transitions is not representable by a u8, doy.
- Escape inputs so we produce valid dot in all cases.
- 0.1.20
- Add size method.
- doc touchups
- 0.1.19
- Tweak the mmap setup.
- Bump byteorder and stop using custom write_uint function.
- Don't use types yet.
- 0.1.18
- 0.1.17
- 0.1.16
- Perf improvements.
- Allow tweaking of state labels.
- Add a silly rule for installing a bin.
- 0.1.15
- Small reorg of nodes.
- Some addition utility methods for collecting streams.
- 0.1.14
- be honest
- Fix a couple bugs with the checksum and the fst-bin merger.
- Compression gains. Polishing.
- various touchups
- Adding unsorted construction.
- 0.1.13
- slight rearrangement
- Revamp command line utility to be more ergonomic/consistent.
- doc fixes
- 0.1.12
- High level docs.
- typo
- 0.1.11
- docs
- 0.1.10
- Docs for regex.
- 0.1.9
- Docs, polish, etc.
- 0.1.8
- levenshtein poc automaton working
- Remove bound entirely.
- Weaken the bound on Automaton's associated type from Copy to Clone.
- Push Option into the associated type for Automaton.
- 0.1.7
- Document map type.
- Lots of type renaming.
- 0.1.6
- More docs, examples and starting on map facade.
- 0.1.5
- minor correction
- minor correction
- 0.1.4
- Polish, docs, tests, etc.
- 0.1.3
- More progress on streams, sets, set operations and the facade.
- Introduce stream ops.
- 0.1.2
- Impl stream
- Leave 1.0 and 1.1 behind.
- don't use unstable features
- 0.1.1
- regexes are working
- Progress on a custom regex engine for searching FSTs.
- nail down byteorder dependency
- Re-work merge operations to use streams.
- intersection
- Start polishing work. Small optimizations. Start facade.
- Rename inner fst module to raw.
- Add a union sub-command.
- Add range queries to fst-bin.
- Give more information to the merge function.
- Pass reader index into callback.
- Range queries seem to work.
- Remove unused registry.
- Lots of progress.
- ignore
- Various progress and experiments.
- progress
- Progress on merging. Polishing some behavior.
- progress
- progress
- forgot to add
- Initial refactoring complete. Tests pass. Yay.
- progress
- initial working commit
- initial commit
0.4.7 - 2024-01-18
- no-std
- fst-bin polish/clap/refactor
- fix tests
- fix #1
- fix
- fix error
- Update README.md
- Update release-plz.yml
- Create deny.toml
- Update ci.yml
- fmt
- clippy
- clippy
- cleanup
- Update Cargo.toml
- Update Cargo.toml
- Update Cargo.toml
- Create release-plz.yml
- Update ci.yml
- Update ci.yml
- Update ci.yml
- Delete fst-regex directory
- Delete fst-levenshtein directory
- Delete fst-bin directory
- Update Cargo.toml
- Update README.md
- Update README.md
- remove .idea files
- Update Cargo.toml
- fix it with updates
- use latest OS versions
- bump pinned to Rust 1.60.0
- fst-bin-0.4.3
- various updates
- remove 'num_cpus' and move to 'memmap2'
- upgrade to bstr 1.3
- fix build
- switch to dtolnay/rust-toolchain
- do not build all docs on pinned Rust either
- don't run tests on pinned Rust version
- pin cross to v0.2.1
- fst-bin-0.4.2
- 0.4.7
- fix 'cargo doc' generation again
- use 'cargo doc --all --no-deps'
- try to set 'doc = false'
- remove redundant check in 'compile'
- 0.4.6
- remove 'inline' annotations
- make state limit configurable
- fix incorrect doc comment
- introduce the prefix flag to the fuzzy subcommand
- remove "apr" from example list
- update and fix some links
- update for changes in GitHub Actions
- clarify duplicate terminology
- 0.4.5
- Fst::as_inner to give access to underlying data
- 0.4.4
- add map_data method
- fst-0.4.3
- add {Set,Map}::into_fst and Clone impls
- fst-0.4.2
- add new accept_eof method
- upgrade to actions/checkout@v2
- fst-0.4.1
- add into_inner on raw::Fst
- fix typo
- replace
ignore
withplain
for non code docs - fix silly mistake
- fst-bin-0.4.1
- remove use of Result::map_or
- update to regex-automata 0.1.9
- depend on old fst
- remove deprecated crates from workspace
- 0.4.0
- don't show underlying errors in Display impl
- add 'verify' sub-command
- bump FST version and support older FST versions
- remove AsRef<[u8]> from struct definitions
- more polishing work
- tweak inline annotations
- get rid of hack used before pub(crate)
- remove byteorder
- add CRC32C to every FST
- add "stream with state" APIs
- remove fst-bin from workspace
- add from_iter_{set,map} convenient constructors
- add get_key/get_key_into APIs
- add knobs for reverse and minimization
- drop docopt in favor of clap
- update dependencies and add some polish
- make FSTs generic over AsRef<[u8]>
- minor touchups
- specialize registry case of two cells
- switch to criterion for benchmarks
- move levenshtein, remove regex
- clean up all warnings and make things compile
- switch to Rust 2018
- switch to GitHub Actions
- switch to rustfmt
- remove superfluous files
- add convenience for creating an FST from builder
- don't skip headers
- 0.3.5
- add
Str
for exact strings - 0.3.4
- add Set/Map::from_static_slice
- 0.3.3
- add as_bytes method
- explicitly point out that difference has 1 IndexValue
- make the image of billion strings appear
- bump minimum version
- fst-regex-0.2.2
- add version tag
- add
mmap
feature - add #[inline] to some public non-generic functions
- implement Clone and Debug on automatons
- 0.3.2
- derive common traits
- tweak version
- update various dependencies
- add Subsequence
- Implement
Default
for Set and Map - Updates README Cargo.toml example to say 0.3.0
- fix example
- Use the SVG Travis badge
- 0.3.0
- replace try! with ?
- bump minimum rustc version to 1.20
- update to memmap 0.6
- remove public dependency on memmap crate
- core performance improvements
- remove unnecessary
mut
binding - add path to [[bin]]
- remove unnecessary mut binding
- remove comment
- 0.2.3
- safely expose raw bytes of an FST
- 0.2.2
- 0.2.1
- update fst-bin to fst refactor
- split regexes and fuzzy search into separate crates
- comment fix
- Add syntax highlighting to README
- 0.1.38
- don't run benchmarks in travis
- Run tests without default features.
- Fix output value bug.
- 0.1.37
- Added impl From<Arc> for MmapReadOnly
- 0.1.36
- add get_ref(), bytes_written() to MapBuilder/SetBuilder
- Fix transition iterator for nodes with 256 transitions
- len is the number of keys, not nodes.
- 0.1.35
- Add Rust 1.7.0 to Travis.
- added mmap feature (default on)
- Minor edit to readme
- Rearrange and publish Automaton implementors.
- 0.1.34
- Upgrade regex-syntax and memmap.
- 0.1.33
- Add support for creating an Fst from a slice of Vec.
- remove pushes from Makefile
- 0.1.32
- bump byteorder
- 0.1.31
- Merge pull request #17 from fulmicoton/bugfix/14_slice_offset_len
- rustup
- 0.1.30
- Fix set difference operation.
- 0.1.29
- remove unused import
- 0.1.28
- Closes #12. Implement From trait for Set and Map.
- Just test on current stable.
- Drop duplicate key errors.
- 0.1.27
- Closes #2 Implement Clone and adds len() to MmapReadOnly
- 0.1.26
- 0.1.25
- version bump
- Add a new command to embed FSTs into Rust source files.
- Add tests for the automaton adapters
- Rename must_match to will_always_match
- Add various automaton adapters
- memory maps
- update readme finally
- 0.1.24
- Don't use an a huge literal for usize. Just use u64 instead.
- tweaking and polishing
- Improve microbenchmarks.
- add Windows CI
- Some perf improvements to simple lookups.
- 0.1.23
- 0.1.22
- Tweak the transition numbers again.
- Add non-generic as_fst methods.
- 0.1.21
- Represent 256 transitions as
0
, which always uses an extra byte. - Max transitions is not representable by a u8, doy.
- Escape inputs so we produce valid dot in all cases.
- 0.1.20
- Add size method.
- doc touchups
- 0.1.19
- Tweak the mmap setup.
- Bump byteorder and stop using custom write_uint function.
- Don't use types yet.
- 0.1.18
- 0.1.17
- 0.1.16
- Perf improvements.
- Allow tweaking of state labels.
- Add a silly rule for installing a bin.
- 0.1.15
- Small reorg of nodes.
- Some addition utility methods for collecting streams.
- 0.1.14
- be honest
- Fix a couple bugs with the checksum and the fst-bin merger.
- Compression gains. Polishing.
- various touchups
- Adding unsorted construction.
- 0.1.13
- slight rearrangement
- Revamp command line utility to be more ergonomic/consistent.
- doc fixes
- 0.1.12
- High level docs.
- typo
- 0.1.11
- docs
- 0.1.10
- Docs for regex.
- 0.1.9
- Docs, polish, etc.
- 0.1.8
- levenshtein poc automaton working
- Remove bound entirely.
- Weaken the bound on Automaton's associated type from Copy to Clone.
- Push Option into the associated type for Automaton.
- 0.1.7
- Document map type.
- Lots of type renaming.
- 0.1.6
- More docs, examples and starting on map facade.
- 0.1.5
- minor correction
- minor correction
- 0.1.4
- Polish, docs, tests, etc.
- 0.1.3
- More progress on streams, sets, set operations and the facade.
- Introduce stream ops.
- 0.1.2
- Impl stream
- Leave 1.0 and 1.1 behind.
- don't use unstable features
- 0.1.1
- regexes are working
- Progress on a custom regex engine for searching FSTs.
- nail down byteorder dependency
- Re-work merge operations to use streams.
- intersection
- Start polishing work. Small optimizations. Start facade.
- Rename inner fst module to raw.
- Add a union sub-command.
- Add range queries to fst-bin.
- Give more information to the merge function.
- Pass reader index into callback.
- Range queries seem to work.
- Remove unused registry.
- Lots of progress.
- ignore
- Various progress and experiments.
- progress
- Progress on merging. Polishing some behavior.
- progress
- progress
- forgot to add
- Initial refactoring complete. Tests pass. Yay.
- progress
- initial working commit
- initial commit