1# Change Log 2 3This project attempts to adhere to [Semantic Versioning](http://semver.org). 4 5## [Unreleased] 6 7## [0.11.1] - (2024-04-03) 8 9### Fixed 10 11- Drop MSRV down to 1.56 which was mistakenly changed in 0.11.0 12 13## [0.11.0] - (2024-01-07) 14 15### Changed 16 17- improve OSA implementation 18 - reduce runtime 19 - reduce binary size by more than `25%` 20 21- reduce binary size of Levenshtein distance 22 23- improve Damerau-Levenshtein implementation 24 - reduce memory usage from `O(N*M)` to `O(N+M)` 25 - reduce runtime in our own benchmark by more than `70%` 26 - reduce binary size by more than `25%` 27 28- only boost similarity in Jaro-Winkler once the Jaro similarity exceeds 0.7 29 30### Fixed 31 32- Fix transposition counting in Jaro and Jaro-Winkler. 33- Limit common prefix in Jaro-Winkler to 4 characters 34 35## [0.10.0] - (2020-01-31) 36 37### Added 38 39- Sørensen-Dice implementation (thanks [@robjtede](https://github.com/robjtede)) 40 41## [0.9.3] - (2019-12-12) 42 43### Fixed 44 45- Fix Jaro and Jaro-Winkler when the arguments have lengths of 1 and are equal. 46 Previously, the functions would erroneously return 0 instead of 1. Thanks to 47 [@vvrably](https://github.com/vvrably) for pointing out the issue. 48 49## [0.9.2] - (2019-05-09) 50 51### Changed 52 53- Revert back to the standard library hashmap because it will use hashbrown very 54 soon 55- Remove ndarray in favor of using a single vector to represent the 2d grid in 56 Damerau-Levenshtein 57 58## [0.9.1] - (2019-04-08) 59 60### Changed 61 62- Faster Damerau-Levenshtein implementation (thanks [@lovasoa](https://github.com/lovasoa)) 63 64## [0.9.0] - (2019-04-06) 65 66### Added 67 68- Generic distance functions (thanks [@lovasoa](https://github.com/lovasoa)) 69 70## [0.8.0] - (2018-08-19) 71 72### Added 73 74- Normalized versions of Levenshtein and Damerau-Levenshtein (thanks [@gentoid](https://github.com/gentoid)) 75 76## [0.7.0] - (2018-01-17) 77 78### Changed 79 80- Faster Levenshtein implementation (thanks [@wdv4758h](https://github.com/wdv4758h)) 81 82### Removed 83 84- Remove the "against_vec" functions. They are one-liners now, so they don't 85 seem to add enough value to justify making the API larger. I didn't find 86 anybody using them when I skimmed through a GitHub search. If you do use them, 87 you can change the calls to something like: 88```rust 89let distances = strings.iter().map(|a| jaro(target, a)).collect(); 90``` 91 92## [0.6.0] - (2016-12-26) 93 94### Added 95 96- Add optimal string alignment distance 97 98### Fixed 99 100- Fix Damerau-Levenshtein implementation (previous implementation was actually 101 optimal string alignment; see this [Damerau-Levenshtein explanation]) 102 103## [0.5.2] - (2016-11-21) 104 105### Changed 106 107- Remove Cargo generated documentation in favor of a [docs.rs] link 108 109## [0.5.1] - (2016-08-23) 110 111### Added 112 113- Add Cargo generated documentation 114 115### Fixed 116 117- Fix panic when Jaro or Jaro-Winkler are given strings both with a length of 118 one 119 120## [0.5.0] - (2016-08-11) 121 122### Changed 123 124- Make Hamming faster (thanks @IBUzPE9) when the two strings have the same 125 length but slower when they have different lengths 126 127## [0.4.1] - (2016-04-18) 128 129### Added 130 131- Add Vagrant setup for development 132- Add AppVeyor configuration for Windows CI 133 134### Fixed 135 136- Fix metrics when given strings with multibyte characters (thanks @WanzenBug) 137 138## [0.4.0] - (2015-06-10) 139 140### Added 141 142- For each metric, add a function that takes a vector of strings and returns a 143vector of results (thanks @ovarene) 144 145## [0.3.0] - (2015-04-30) 146 147### Changed 148 149- Remove usage of unstable Rust features 150 151## [0.2.5] - (2015-04-24) 152 153### Fixed 154 155- Remove unnecessary `Float` import from doc tests 156 157## [0.2.4] - (2015-04-15) 158 159### Fixed 160 161- Remove unused `core` feature flag 162 163## [0.2.3] - (2015-04-01) 164 165### Fixed 166 167- Remove now unnecessary `Float` import 168 169## [0.2.2] - (2015-03-29) 170 171### Fixed 172 173- Remove usage of `char_at` (marked as unstable) 174 175## [0.2.1] - (2015-02-20) 176 177### Fixed 178 179- Update bit vector import to match Rust update 180 181## [0.2.0] - (2015-02-19) 182 183### Added 184 185- Implement Damerau-Levenshtein 186- Add tests in docs 187 188## [0.1.1] - (2015-02-10) 189 190### Added 191 192- Configure Travis for CI 193- Add rustdoc comments 194 195### Fixed 196 197- Limit Jaro-Winkler return value to a maximum of 1.0 198- Fix float comparisons in tests 199 200## [0.1.0] - (2015-02-09) 201 202### Added 203 204- Implement Hamming, Jaro, Jaro-Winkler, and Levenshtein 205 206[Unreleased]: https://github.com/rapidfuzz/strsim-rs/compare/0.11.1...HEAD 207[0.11.1]: https://github.com/rapidfuzz/strsim-rs/compare/0.11.0...0.11.1 208[0.11.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.10.0...0.11.0 209[0.10.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.9.3...0.10.0 210[0.9.3]: https://github.com/rapidfuzz/strsim-rs/compare/0.9.2...0.9.3 211[0.9.2]: https://github.com/rapidfuzz/strsim-rs/compare/0.9.1...0.9.2 212[0.9.1]: https://github.com/rapidfuzz/strsim-rs/compare/0.9.0...0.9.1 213[0.9.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.8.0...0.9.0 214[0.8.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.7.0...0.8.0 215[0.7.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.6.0...0.7.0 216[0.6.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.5.2...0.6.0 217[0.5.2]: https://github.com/rapidfuzz/strsim-rs/compare/0.5.1...0.5.2 218[0.5.1]: https://github.com/rapidfuzz/strsim-rs/compare/0.5.0...0.5.1 219[0.5.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.4.1...0.5.0 220[0.4.1]: https://github.com/rapidfuzz/strsim-rs/compare/0.4.0...0.4.1 221[0.4.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.3.0...0.4.0 222[0.3.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.2.5...0.3.0 223[0.2.5]: https://github.com/rapidfuzz/strsim-rs/compare/0.2.4...0.2.5 224[0.2.4]: https://github.com/rapidfuzz/strsim-rs/compare/0.2.3...0.2.4 225[0.2.3]: https://github.com/rapidfuzz/strsim-rs/compare/0.2.2...0.2.3 226[0.2.2]: https://github.com/rapidfuzz/strsim-rs/compare/0.2.1...0.2.2 227[0.2.1]: https://github.com/rapidfuzz/strsim-rs/compare/0.2.0...0.2.1 228[0.2.0]: https://github.com/rapidfuzz/strsim-rs/compare/0.1.1...0.2.0 229[0.1.1]: https://github.com/rapidfuzz/strsim-rs/compare/0.1.0...0.1.1 230[0.1.0]: https://github.com/rapidfuzz/strsim-rs/compare/fabad4...0.1.0 231[docs.rs]: https://docs.rs/strsim/ 232[Damerau-Levenshtein explanation]: 233http://scarcitycomputing.blogspot.com/2013/04/damerau-levenshtein-edit-distance.html 234