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