Skip to content

Releases: a4lg/ffuzzy

Version 0.3.15 "Prepare for 0.4! (3)"

05 Feb 08:56

Choose a tag to compare

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.
  • 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)

28 Jan 01:08

Choose a tag to compare

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!"

28 Jan 00:44

Choose a tag to compare

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: prelude public module
    It's currently empty but use 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 libc crate.

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

20 Oct 02:10

Choose a tag to compare

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"

15 Oct 03:39

Choose a tag to compare

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::Error support
    • core::hint::assert_unchecked() support
      (when the unsafe feature 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"

20 Jun 07:53

Choose a tag to compare

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

19 Jun 02:52

Choose a tag to compare

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_core is 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

16 May 00:48

Choose a tag to compare

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

14 May 12:03

Choose a tag to compare

This release tracks to the latest Nightly version of the Rust compiler and fixes minor issues.

  • Compiler support
    • Less compiler intrinsics
      using core::hint::assert_unchecked instead of core::intrinsics::assume (compiler intrinsics core_intrinsics are still there to use likely and unlikely).
    • New lint support for Rust 1.80 (Nightly)
      Rust 1.80 (Nightly) adds the lint unexpected_cfgs to detect unexpected configuration options supplied / used in the crate.
      This lint can be resolved by printing appropriate lines with build.rs.
  • 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

13 Apr 01:53

Choose a tag to compare

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 trait FusedIterator for NumericWindows. It helps optimization primarily on 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.
  • Documentation
    • Added SemVer violation list.
    • Improved compatibility policy.
    • Moved from docs to _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