Repository navigation
Version 0.3.1: "On the Edge"
While the test rewrite is not yet finished (making the test generics is half of our objective and that's not still done), decent optimization and a new feature is enough justifying the release.
- Feature
- Added the strict parser (the
strict-parserfeature).
In exchange of the performance, it will reject fuzzy hash strings which will cause an error on the raw variant but not on the normalized variant (on the defualt parser).
It will make the parser less confusing and more robust.
- Added the strict parser (the
- API
- Added implementations of
ExactSizeIterator(always) andTrustedLen(if bothunsafeandnightlyare enabled) to theNumericWindowsstruct, expecting optimization from the outside.
- Added implementations of
- Performance
- Optimization to
FuzzyHashData::is_normalized().
It will also improve the performance when Serde is integrated. - Slight optimization to the block hash parser which may (or may not) result in slightly smaller code size.
- Implementation of
TrustedLentoNumericWindowsmight help optimizing the performance on Nightly (where thenightlyfeature is enabled).
- Optimization to
- Tests
- The first batch of test minimization efforts (not yet complete).
- Generator tests are no longer "very slow" (since we have found an efficient way to generate equivalent
Generatorobject that have consumed specific number of zero bytes). - Complex sequence-based tests are now removed since it is proven that it doesn't improve any coverage.
- Improved coverage on
FuzzyHashData. - Improved coverage on processing very large files (Unix only; when sparse files are supported).
- Internals
- Various changes for maintainability, test flexibility and better coverage report.
- Rewrite of the block hash parser for maintainability.
Crates.io: https://crates.io/crates/ffuzzy/0.3.1
Docs.rs: https://docs.rs/ffuzzy/0.3.1/ssdeep/
Full Changelog: v0.3.0...v0.3.1