1# Changelog 2 3All notable changes to similar are documented here. 4 5## 1.3.0 6 7* Performance improvements for the LCS algorithm. 8* Small performance improvments by adding an early opt-out for and inline highlighting. 9* Added `IdentifyDistinct` to convert sequences to ints. 10* Small performance improvements for larger text diffs by using `IdentifyDistinct` 11 automatically above a threshold. 12* Added deadlines to all diffing algorithms to bail early. 13* Deprecated slice diffing methods in the individual algorithm modules. 14* Use a default timeout for the inline highlighting feature. 15* Added a compacting step to clean up diffs. This results in nicer looking diffs and 16 fewer edits. This is happening automatically for captured diffs and is exposed 17 through the `Capture` type. 18* Fix incorrect ranges in unified diff output. 19 20## 1.2.2 21 22* Added support for Rust 1.41.0 for better compatibility. 23 24## 1.2.1 25 26* Added support for Rust 1.43.0 for better compatibility. 27 28## 1.2.0 29 30* Make the unicode feature optional for inline diffing. 31* Added Hunt–McIlroy LCS algorithm (`lcs`). 32* Changed the implementation of Mayer's diff. This has slightly changed the 33 behavior but resulted in snigificantly improved performance and more 34 readable code. 35* Added `NoFinishHook` to aid composing of diff hooks. 36 37## 1.1.0 38 39* More generic lifetimes for `iter_changes` and `iter_inline_changes`. 40* Added `iter_all_changes` shortcut as this is commonly useful. 41* Added `iter_slices` to `DiffOp` to quickly get an iterator over the 42 encoded slices rather than individual items like `iter_changes` does. 43* Added the `utils` module with various text diffing utilities. 44* Added `TextDiffRemapper` which helps with working with the original, pre 45 `TextDiff` tokenization slices. 46 47## 1.0.0 48 49* Add `get_diff_ratio`. 50* Add support for byte diffing and change the text interface to abstract 51 over `DiffableStr`. 52* Restructured crate layout greatly. Text diffing is now on the crate root, 53 some functionality remains in the algorithms. 54* The `Change` type now also works for non text diffs. 55 56## 0.5.0 57 58* Add `DiffOp::apply_to_hook` to apply a captured op to a diff hook. 59* Added missing newline handling to the `Changes` type. 60* Made unified diff support more flexible through the introduction of 61 the `UnifiedDiff` type. 62* Fixed grouped diff operation to return an empty result if the diff 63 does not show any changes. 64* Added inline diff highlighting support. 65* Changed word splitting to split into words and whitespace. 66* Added support for unicode based word splitting (`TextDiff::from_unicode_words`). 67 68## 0.4.0 69 70* Change `get_close_matches` to use Python's quick ratio optimization 71 and order lexicographically when tied. 72 73## 0.3.0 74 75* Added grapheme and character level diffing utilities. 76* `DiffOp::as_tag_tuple` is now taking the argument by reference. 77* Added `TextDiff::ratio`. 78* Added `get_close_matches`. 79 80## 0.2.0 81 82* Fixed a bug in the patience algorithm causing it not not work. 83 84## 0.1.0 85 86* Initial release. 87