Skip to content

Bump similar from 2.7.0 to 3.0.0#1572

Merged
jessfraz merged 1 commit intomainfrom
dependabot/cargo/similar-3.0.0
Apr 13, 2026
Merged

Bump similar from 2.7.0 to 3.0.0#1572
jessfraz merged 1 commit intomainfrom
dependabot/cargo/similar-3.0.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Apr 11, 2026

Bumps similar from 2.7.0 to 3.0.0.

Changelog

Sourced from similar's changelog.

3.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 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).
Commits
  • db010ec fix(ci): configure crates.io trusted publishing
  • 1f5a7ef chore(release): 3.0.0
  • b69c696 ci: Added publish workflow
  • d59c1ea chore: Restate relationship to pijul
  • 07c20a6 docs(algorithms): document CachedLookup adapter
  • 5567493 feat(api): add CachedLookup for virtual sequences
  • 4b21d69 feat(no-std): add alloc support with std default feature
  • 55e16c7 doc: Add upgrading docs
  • 41c7e3f feat(text): add inline flatten helpers and align getter names
  • 4c59e33 chore: Update changelog
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [similar](https://github.com/mitsuhiko/similar) from 2.7.0 to 3.0.0.
- [Changelog](https://github.com/mitsuhiko/similar/blob/main/CHANGELOG.md)
- [Commits](mitsuhiko/similar@2.7.0...3.0.0)

---
updated-dependencies:
- dependency-name: similar
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Apr 11, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.51%. Comparing base (166bf17) to head (32b7467).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1572   +/-   ##
=======================================
  Coverage   68.51%   68.51%           
=======================================
  Files          41       41           
  Lines        6766     6766           
=======================================
  Hits         4636     4636           
  Misses       2130     2130           
Flag Coverage Δ
unittests 68.51% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

@jessfraz jessfraz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval.

@jessfraz jessfraz merged commit 6964491 into main Apr 13, 2026
14 checks passed
@jessfraz jessfraz deleted the dependabot/cargo/similar-3.0.0 branch April 13, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant