Releases: a4lg/ffuzzy
Release list
Version 0.3.16 "Prepare for 0.4! (4)"
While the author is heavily working on the version 0.4, some of improvements are being back-ported.
- Moved internal module files under
ffuzzy/src/internals/to separate public and private parts. - Removed dependency to internal features and
core_intrinsics(formerly used when theunstablefeature is enabled). - Keep invariants as debug assertions as long as debug assertions are enabled (while not just testing).
- Proved that number of symbols required to represent a variant of dual fuzzy hashes is correct.
- Formatted / modernized Python utilities.
Crates.io: https://crates.io/crates/ffuzzy/0.3.16
Docs.rs: https://docs.rs/ffuzzy/0.3.16/ssdeep/
Full Changelog: v0.3.15...v0.3.16
Version 0.3.15 "Prepare for 0.4! (3)"
While the feature itself is unchanged, its internals are being changed to minimize differences between working version 0.4 branch (despite that the most of version 0.4 implementation will be an atomic commit, minimizing the differences is important for fast understandings).
There are also many documentation fixes since the author is now reviewing the version 0.3 codebase to reimplement version 0.4.
- Deprecations of some features (see the documentation).
- Various documentation fixes.
- Internal changes
- Splitted internal hashes inside the generator to make vendoring easier
(vendoring is an option because they are going to be private on the next major release). - Invariants (internally used in the crate) are easier to use.
- Splitted internal hashes inside the generator to make vendoring easier
- Tidying to minimize differences between this version and version 0.4.
- This is in the progress and version 0.3.16 will have bigger differences (without making no public differences).
Crates.io: https://crates.io/crates/ffuzzy/0.3.15
Docs.rs: https://docs.rs/ffuzzy/0.3.15/ssdeep/
Full Changelog: v0.3.14...v0.3.15
Version 0.3.14 "Prepare for 0.4!" (2)
See Version 0.3.13 for details since this is identical to the version 0.3.13 except some document adjustments the author missed.
Crates.io: https://crates.io/crates/ffuzzy/0.3.14
Docs.rs: https://docs.rs/ffuzzy/0.3.14/ssdeep/
Full Changelog: v0.3.13...v0.3.14
Version 0.3.13 "Prepare for 0.4!"
Because our plan to the version 0.4 is finally ready, this release makes our first steps for the next major release (most likely 0.4).
In fact, some changes are directly from ongoing version 0.4 design branch.
See Planned Breaking Changes for summary.
Changes in This Version
- Deprecation of certain types, modules, traits and operator overloads.
- New:
preludepublic module
It's currently empty butuse ssdeep::prelude::*;will be convenient on the next major release. - Other minor fixes / changes
- To keep MSRV low, tests need a lower version of the
libccrate.
- To keep MSRV low, tests need a lower version of the
Other Links
Crates.io: https://crates.io/crates/ffuzzy/0.3.13
Docs.rs: https://docs.rs/ffuzzy/0.3.13/ssdeep/
Full Changelog: v0.3.12...v0.3.13
Version 0.3.12
This is a small release with minor documentation/test/coverage fixes.
- There was a test with unexpectedly high MSRV (1.66).
Now, this test is performed only on Rust 1.66 or later (and not on Rust 1.56-1.65). - Other minor fixes.
Crates.io: https://crates.io/crates/ffuzzy/0.3.12
Docs.rs: https://docs.rs/ffuzzy/0.3.12/ssdeep/
Full Changelog: v0.3.11...v0.3.12
Version 0.3.11 "Along with Rust 1.81"
This version supports Rust 1.81's standard library and core::error::Error is automatically implemented if compiled with Rust 1.81 and later.
Rust 1.81 also stabilized core::hint::assert_unchecked() method and is utilized without the unstable feature.
- Support Rust 1.81
core::error::Errorsupportcore::hint::assert_unchecked()support
(when theunsafefeature is enabled)
- Other minor changes
Crates.io: https://crates.io/crates/ffuzzy/0.3.11
Docs.rs: https://docs.rs/ffuzzy/0.3.11/ssdeep/
Full Changelog: v0.3.10...v0.3.11
Version 0.3.10 "Riding with the Wolves"
This is most likely the final feature addition on the version 0.3 line.
- Feature Addition
- Added "index windows" functions (numeric windows with the effective block size)
- Future-proof changes
- Preparation for Serde integration and the custom linter (specific to this crate; both in development)
- Other minor changes
Crates.io: https://crates.io/crates/ffuzzy/0.3.10
Docs.rs: https://docs.rs/ffuzzy/0.3.10/ssdeep/
Full Changelog: v0.3.9...v0.3.10
Version 0.3.9
This is a small release with small improvements.
- Compiler support
- For nightly channel, only the latest build is the target to support.
- Track to the latest Nightly compiler (
error_in_coreis now stabilized on Nightly).
- Minor improvements
- More Rusty (iterator-based) implementation for certain position array functions.
Crates.io: https://crates.io/crates/ffuzzy/0.3.9
Docs.rs: https://docs.rs/ffuzzy/0.3.9/ssdeep/
Full Changelog: v0.3.8...v0.3.9
Version 0.3.8
This is a small improvement with external dependency updates.
Crates.io: https://crates.io/crates/ffuzzy/0.3.8
Docs.rs: https://docs.rs/ffuzzy/0.3.8/ssdeep/
Full Changelog: v0.3.7...v0.3.8
Version 0.3.7
This release tracks to the latest Nightly version of the Rust compiler and fixes minor issues.
- Compiler support
- Less compiler intrinsics
usingcore::hint::assert_uncheckedinstead ofcore::intrinsics::assume(compiler intrinsicscore_intrinsicsare still there to uselikelyandunlikely). - New lint support for Rust 1.80 (Nightly)
Rust 1.80 (Nightly) adds the lintunexpected_cfgsto detect unexpected configuration options supplied / used in the crate.
This lint can be resolved by printing appropriate lines withbuild.rs.
- Less compiler intrinsics
- Maintainability
- Make the implementation more rust-analyzer friendly (less regular statements in the macro blocks).
- Minor tidying and consistency fixes.
- Documentation
- Minor typo fixes and clarification.
Crates.io: https://crates.io/crates/ffuzzy/0.3.7
Docs.rs: https://docs.rs/ffuzzy/0.3.7/ssdeep/
Full Changelog: v0.3.6...v0.3.7