Skip to content

Releases: rapidfuzz/RapidFuzz

Release 2.4.0

29 Jul 15:21
Compare
Choose a tag to compare

Fixed

  • fix banded Levenshtein implementation

Performance

  • improve performance and memory usage of Levenshtein.editops
    • memory usage is reduced from O(NM) to O(N)
    • performance is improved for long sequences

Release 2.3.0

22 Jul 23:43
Compare
Choose a tag to compare

Added

  • add as_matching_blocks to Editops/Opcodes
  • add support for deletions from Editops
  • add Editops.apply/Opcodes.apply
  • add Editops.remove_subsequence

Changed

  • merge adjacent similar blocks in Opcodes

Fixed

  • fix usage of eval(repr(Editop)), eval(repr(Editops)), eval(repr(Opcode)) and eval(repr(Opcodes))
  • fix opcode conversion for empty source sequence
  • fix validation for empty Opcode list passed into Opcodes.__init__

Release 2.2.0

19 Jul 09:01
d3aaf25
Compare
Choose a tag to compare

Changed

  • added in-tree build backend to install cmake and ninja only when it is not installed yet
    and only when wheels are available

Release 2.1.4

17 Jul 09:42
Compare
Choose a tag to compare

Changed

  • changed internal implementation of cdist to remove build dependency to numpy

Added

  • added wheels for musllinux and manylinux ppc64le, s390x

Release 2.1.3

09 Jul 12:54
d73d261
Compare
Choose a tag to compare

Fixed

  • fix missing type stubs

Release 2.1.2

04 Jul 18:14
Compare
Choose a tag to compare

Changed

  • change src layout to make package import from root directory possible

Release 2.1.1

30 Jun 22:34
e789917
Compare
Choose a tag to compare

Changed

  • allow installation without the C++ extension if it fails to compile
  • allow selection of implementation via the environment variable RAPIDFUZZ_IMPLEMENTATION
    which can be set to "cpp" or "python"

Release 2.1.0

29 Jun 15:00
4a52561
Compare
Choose a tag to compare

Added

  • added pure python fallback for all implementations with the following exceptions:
    • no support for sequences of hashables. Only strings supported so far
    • *.editops / *.opcodes functions not implemented yet
    • process.cdist does not support multithreading

Fixed

  • fuzz.partial_ratio_alignment ignored the score_cutoff
  • fix implementation of Hamming.normalized_similarity
  • fix default score_cutoff of Hamming.similarity
  • fix implementation of LCSseq.distance when used in the process module
  • treat hash for -1 and -2 as different

Release 2.0.15

24 Jun 13:13
Compare
Choose a tag to compare

Fixed

  • fix integer wraparound in partial_ratio/partial_ratio_alignment (#231)

Release 2.0.14

23 Jun 12:11
Compare
Choose a tag to compare

Fixed

  • fix unlimited recursion in LCSseq when used in combination with the process module

Changed

  • add fallback implementations of taskflow, rapidfuzz-cpp and jarowinkler-cpp
    back to wheel, since some package building systems like piwheels can't clone sources