chore(deps): update rust crate similar to v3 - autoclosed
Closed
RE
12d ago+6+6+0123456789-3-3-0123456789
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| similar | workspace.dependencies | major | 2.5 → 3.0 |
Release Notes
mitsuhiko/similar (similar)
v3.2.0
- Added structured, line-oriented three-way merging through
TextMerge, with
merge and diff3 conflict output, configurable labels and marker sizes, owned
and borrowed inputs, byte output, and whitespace-insensitive comparison. - Added
WhitespaceModeandTextDiffConfig::whitespace_modefor Git-style
line comparisons that ignore changes in whitespace (-b) or all whitespace
(-w). - Changed
Algorithm::Myersto reduce unmatched/confusing records and use
Git-style bounded, non-minimal splits on expensive searches, and added
Algorithm::RawMyersfor the previous shortest-edit-script behavior without
output-changing heuristics. - Improved heuristics and performance for most algorithms other than LCS.
- Improved large-input performance by avoiding quadratic Histogram scans.
v3.1.2
- Fixed
Algorithm::Lcsdeadline fallback emitting edits twice, which produced
out-of-boundsDiffOpranges and panics when consuming timed-out diffs. #97 - Fixed
Algorithm::Lcsreporting identical subranges with zero-based indices
instead of preserving the supplied range offsets. #98 - Fixed
Algorithm::LcsandAlgorithm::Huntemitting zero-length delete
operations when both inputs are empty. #99
v3.1.1
- Fixed
DiffOpcursor positions when compacting adjacent inserts/deletes and
inAlgorithm::Histogramfull-replacement output, ensuring operations form
contiguous ranges. #95 - Renamed sample diff input files to a lexicographic
caseNN.01.before_*/caseNN.02.after_*scheme.
v3.1.0
- Added
capture_diff_slices_by_keyandcapture_diff_slices_by_key_deadline
as convenience helpers for diffing slices by derived keys. - Fixed
Compactemitting inconsistentDiffOpcursor positions after
compaction, which could leaveDelete/Insertoperations with stale
new_index/old_indexvalues. - Added explicit lifetime capture (
+ use<...>) on iterator-returning APIs to
improve compatibility with Rust 2024 lifetime capture behavior. #93
v3.0.0
- Added a Git-style Histogram diff implementation exposed as
Algorithm::Histogram, including deadline-aware Myers fallback and
comprehensive regression/behavior tests. - Raised MSRV to Rust 1.85 and moved the crate to Rust 2024 edition.
- Added a Hunt-style diff implementation exposed as
Algorithm::Hunt. - Added configurable inline refinement via
InlineChangeOptionsand
InlineChangeMode, including semantic cleanup and new
TextDiff::iter_inline_changes_with_options*methods. #92 - Added a global disjoint-input fast path in
algorithms::diff_deadline
to avoid pathological runtimes on large, fully distinct inputs. - Improved
Algorithm::Myersperformance on heavily unbalanced diffs to
avoid pathological slowdowns. - Added
diff_deadline_rawentrypoints in the algorithm modules to bypass
shared heuristics and keep minimal intrinsic trait bounds where needed. - Added test files in
examples/diffsthat can be used with the some of the
examples as input pairs. - Added
CachedLookup, a helper for adapting virtual or computed sequences by
materializing items on first access and then serving borrowed values through
normal indexing. Theowned-lookupexample demonstrates this approach for
issue #33. - Fixed ranged indexing in the classic LCS table algorithm.
- Improved diff compaction to merge adjacent delete hunks across equal runs.
- Excluded development scripts from published crate contents. #87
TextDiff::from_*andTextDiffConfig::diff_*now accept owned inputs
(String,Vec<u8>,Cow) in addition to borrowed inputs. This allows
returning text diffs from functions without external owner lifetimes. #65TextDiffno longer exposesold_slices/new_slices. Use
old_len,new_len,old_slice,new_slice,iter_old_slices,
iter_new_slices,old_lookup, andnew_lookupinstead.TextDiff::iter_changesnow panics on invalid out-of-boundsDiffOp
ranges instead of silently truncating iteration.utils::diff_lines_inlinenow takes&TextDiffand options rather than
(Algorithm, old, new, options).utils::diff_linesnow avoids a second line-tokenization pass.- Renamed
get_diff_ratiotodiff_ratio. - Added first-class
no_std + allocsupport with an explicit defaultstd
feature. - Added optional
hashbrownbackend forno_stdmap storage
(default-features = false, features = ["hashbrown"]), while the default
no_stdbackend usesalloc::collections::BTreeMap. - Made core constructors const-ready (
Capture::new,Replace::new,
NoFinishHook::new,InlineChangeOptions::new,TextDiff::configure).
Configuration
📅 Schedule: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.