File: CHANGELOG.md

package info (click to toggle)
rust-similar 2.7.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 540 kB
  • sloc: makefile: 25; sh: 3
file content (132 lines) | stat: -rw-r--r-- 4,167 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Changelog

All notable changes to similar are documented here.

## 2.7.0

* Add optional support for `web-time` to support web WASM targets.  #73
* Crate will no longer panic wheh deadlines are used in WASM.  At worst
  deadlines are silently ignored.  To enforce deadlines enable the
  `wasm32_web_time` feature.  #74

## 2.6.0

* Bump bstr dependency to 1.5.  #69

## 2.5.0

* Added support for `TextDiff::iter_inline_changes_deadline`.  #61
* Raise MSRV to 1.60.  #62
* Bump bstr dependency to 1.0.  #62

## 2.4.0

* Fixed a bug where the LCS diff algorithm didn't always call `D::finish`.  (#58)
* Fixed a bug in LCS that caused a panic if the common prefix and the
  common suffix overlapped.  (#59)

## 2.3.0

* Added support for `Change::value_ref` and `Change::value_mut`.

## 2.2.1

* Fixed a panic in LCS diffs on matching input.  (#43)

## 2.2.0

* Fixed a panic in text diff generation. (#37)

## 2.1.0

* Removed deprecated alternative slice diffing functions.
* Added `serde` feature to allow serialization with serde.

## 2.0.0

* Change the `Change` type and associated methods to work on any `T: Clone` instead
  of `&T`.  This makes the `iter_changes` method also work on slices of integers
  or other values.

## 1.3.0

* Performance improvements for the LCS algorithm.
* Small performance improvements by adding an early opt-out for and inline highlighting.
* Added `IdentifyDistinct` to convert sequences to ints.
* Small performance improvements for larger text diffs by using `IdentifyDistinct`
  automatically above a threshold.
* Added deadlines to all diffing algorithms to bail early.
* Deprecated slice diffing methods in the individual algorithm modules.
* Use a default timeout for the inline highlighting feature.
* Added a compacting step to clean up diffs.  This results in nicer looking diffs and
  fewer edits.  This is happening automatically for captured diffs and is exposed
  through the `Capture` type.
* Fix incorrect ranges in unified diff output.

## 1.2.2

* Added support for Rust 1.41.0 for better compatibility.

## 1.2.1

* Added support for Rust 1.43.0 for better compatibility.

## 1.2.0

* Make the unicode feature optional for inline diffing.
* Added Hunt–McIlroy LCS algorithm (`lcs`).
* Changed the implementation of Mayer's diff.  This has slightly changed the
  behavior but resulted in significantly improved performance and more
  readable code.
* Added `NoFinishHook` to aid composing of diff hooks.

## 1.1.0

* More generic lifetimes for `iter_changes` and `iter_inline_changes`.
* Added `iter_all_changes` shortcut as this is commonly useful.
* Added `iter_slices` to `DiffOp` to quickly get an iterator over the
  encoded slices rather than individual items like `iter_changes` does.
* Added the `utils` module with various text diffing utilities.
* Added `TextDiffRemapper` which helps with working with the original, pre
  `TextDiff` tokenization slices.

## 1.0.0

* Add `get_diff_ratio`.
* Add support for byte diffing and change the text interface to abstract
  over `DiffableStr`.
* Restructured crate layout greatly.  Text diffing is now on the crate root,
  some functionality remains in the algorithms.
* The `Change` type now also works for non text diffs.

## 0.5.0

* Add `DiffOp::apply_to_hook` to apply a captured op to a diff hook.
* Added missing newline handling to the `Changes` type.
* Made unified diff support more flexible through the introduction of
  the `UnifiedDiff` type.
* Fixed grouped diff operation to return an empty result if the diff
  does not show any changes.
* Added inline diff highlighting support.
* Changed word splitting to split into words and whitespace.
* Added support for unicode based word splitting (`TextDiff::from_unicode_words`).

## 0.4.0

* Change `get_close_matches` to use Python's quick ratio optimization
  and order lexicographically when tied.

## 0.3.0

* Added grapheme and character level diffing utilities.
* `DiffOp::as_tag_tuple` is now taking the argument by reference.
* Added `TextDiff::ratio`.
* Added `get_close_matches`.

## 0.2.0

* Fixed a bug in the patience algorithm causing it not not work.

## 0.1.0

* Initial release.