chore(deps): update rust crate similar to v3 - autoclosed

Closed
RE
12d ago
+6-3

This PR contains the following updates:

PackageTypeUpdateChange
similarworkspace.dependenciesmajor2.5 → 3.0

Release Notes

mitsuhiko/similar (similar)

v3.2.0

Compare Source

  • 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 WhitespaceMode and TextDiffConfig::whitespace_mode for Git-style
    line comparisons that ignore changes in whitespace (-b) or all whitespace
    (-w).
  • Changed Algorithm::Myers to reduce unmatched/confusing records and use
    Git-style bounded, non-minimal splits on expensive searches, and added
    Algorithm::RawMyers for 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

Compare Source

  • Fixed Algorithm::Lcs deadline fallback emitting edits twice, which produced
    out-of-bounds DiffOp ranges and panics when consuming timed-out diffs. #​97
  • Fixed Algorithm::Lcs reporting identical subranges with zero-based indices
    instead of preserving the supplied range offsets. #​98
  • Fixed Algorithm::Lcs and Algorithm::Hunt emitting zero-length delete
    operations when both inputs are empty. #​99

v3.1.1

Compare Source

  • Fixed DiffOp cursor positions when compacting adjacent inserts/deletes and
    in Algorithm::Histogram full-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

Compare Source

  • Added capture_diff_slices_by_key and capture_diff_slices_by_key_deadline
    as convenience helpers for diffing slices by derived keys.
  • Fixed Compact emitting inconsistent DiffOp cursor positions after
    compaction, which could leave Delete/Insert operations with stale
    new_index/old_index values.
  • Added explicit lifetime capture (+ use<...>) on iterator-returning APIs to
    improve compatibility with Rust 2024 lifetime capture behavior. #​93

v3.0.0

Compare Source

  • 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 InlineChangeOptions and
    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::Myers performance on heavily unbalanced diffs to
    avoid pathological slowdowns.
  • Added diff_deadline_raw entrypoints in the algorithm modules to bypass
    shared heuristics and keep minimal intrinsic trait bounds where needed.
  • Added test files in examples/diffs that 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. The owned-lookup example 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_* and TextDiffConfig::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. #​65
  • TextDiff no longer exposes old_slices / new_slices. Use
    old_len, new_len, old_slice, new_slice, iter_old_slices,
    iter_new_slices, old_lookup, and new_lookup instead.
  • TextDiff::iter_changes now panics on invalid out-of-bounds DiffOp
    ranges instead of silently truncating iteration.
  • utils::diff_lines_inline now takes &TextDiff and options rather than
    (Algorithm, old, new, options).
  • utils::diff_lines now avoids a second line-tokenization pass.
  • Renamed get_diff_ratio to diff_ratio.
  • Added first-class no_std + alloc support with an explicit default std
    feature.
  • Added optional hashbrown backend for no_std map storage
    (default-features = false, features = ["hashbrown"]), while the default
    no_std backend uses alloc::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.