Skip to content

Update Rust crate similar to v3#7689

Merged
robert3005 merged 1 commit intodevelopfrom
renovate/similar-3.x
Apr 28, 2026
Merged

Update Rust crate similar to v3#7689
robert3005 merged 1 commit intodevelopfrom
renovate/similar-3.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 28, 2026

This PR contains the following updates:

Package Type Update Change
similar workspace.dependencies major 2.7.03.0.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

mitsuhiko/similar (similar)

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
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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.

@renovate renovate Bot added the changelog/chore A trivial change label Apr 28, 2026
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 28, 2026

Merging this PR will improve performance by 10.6%

⚡ 1 improved benchmark
✅ 1162 untouched benchmarks

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation bitwise_not_vortex_buffer_mut[128] 304.4 ns 275.3 ns +10.6%

Comparing renovate/similar-3.x (6f3816d) with develop (f9067c7)

Open in CodSpeed

@robert3005 robert3005 enabled auto-merge (squash) April 28, 2026 12:46
@robert3005 robert3005 merged commit 77e9bf0 into develop Apr 28, 2026
67 of 69 checks passed
@robert3005 robert3005 deleted the renovate/similar-3.x branch April 28, 2026 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant