Releases: a4lg/ffuzzy
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
Version 0.3.6
At the same time we are preparing for the large test rewrite, we continuously seeking rooms for improvement.
- Performance
- Possible optimization by the standard library:
NumericWindows
This version implemented the marker traitFusedIteratorforNumericWindows. It helps optimization primarily on the standard library.
- Possible optimization by the standard library:
- Maintainability
- Preparation for Rust 2024
Rust 2024 will raise a warning when an unsafe item is used without an unsafe block (even in an unsafe function).
FuzzyHashData::new_from_internals_unchecked()is fixed to use an unsafe block for preparation to Rust 2024.
- Preparation for Rust 2024
- Documentation
- Added SemVer violation list.
- Improved compatibility policy.
- Moved from
docsto_docs.
Crates.io: https://crates.io/crates/ffuzzy/0.3.6
Docs.rs: https://docs.rs/ffuzzy/0.3.6/ssdeep/
Full Changelog: v0.3.5...v0.3.6