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