Skip to content

Update Rust crate similar to v3#18991

Merged
konstin merged 1 commit intomainfrom
renovate/similar-3.x
Apr 18, 2026
Merged

Update Rust crate similar to v3#18991
konstin merged 1 commit intomainfrom
renovate/similar-3.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 13, 2026

This PR contains the following updates:

Package Type Update Change
similar workspace.dependencies major 2.6.03.0.0

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 build:skip-docker Disable building Docker images for a pull request build:skip-release Disable building release binaries for a pull request internal A refactor or improvement that is not user-facing labels Apr 13, 2026
@renovate renovate Bot force-pushed the renovate/similar-3.x branch from 981d08a to 9c56972 Compare April 18, 2026 21:48
@konstin konstin merged commit 754c5d9 into main Apr 18, 2026
63 checks passed
@konstin konstin deleted the renovate/similar-3.x branch April 18, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build:skip-docker Disable building Docker images for a pull request build:skip-release Disable building release binaries for a pull request internal A refactor or improvement that is not user-facing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant