Skip to content

chore: bump similar from 2.7.0 to 3.2.0 - #6261

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/similar-3.2.0
Open

chore: bump similar from 2.7.0 to 3.2.0#6261
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/similar-3.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor

Bumps similar from 2.7.0 to 3.2.0.

Changelog

Sourced from similar's changelog.

3.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 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.

3.1.2

  • 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

3.1.1

  • 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.

3.1.0

  • 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

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

... (truncated)

Commits
  • e380405 chore(release): prepare 3.2.0
  • 9133b3d ref: Update changelog
  • a56a53f feat(merge): add three-way text merging
  • 7130d06 docs(examples): demonstrate whitespace-insensitive diffs
  • a635843 feat(text): add whitespace-insensitive line diffs
  • 6301178 perf(myers): preserve sparse matches with record reduction
  • f16b309 perf(myers): add bounded heuristic search
  • accea7d chore(clippy): resolve lint warnings
  • 3a5162b perf(algorithms): fast-path nearly disjoint ranges
  • fc32411 feat(fuzzing): add isolated performance campaign runner
  • 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.2.0.
- [Changelog](https://github.com/mitsuhiko/similar/blob/main/CHANGELOG.md)
- [Commits](mitsuhiko/similar@2.7.0...3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies rust Pull requests that update Rust code labels Aug 31, 2026

@prql-bot prql-bot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Mechanical bump, and similar is a [dev-dependencies] entry of prqlc only — nothing shipped changes.

The one thing worth checking here is that similar 3.0 changed the default Algorithm::Myers to use Git-style bounded, non-minimal splits, and the crate's only direct consumer in this repo is the TextDiff::from_lines(…).unified_diff() call in mod compileall in prqlc/prqlc/tests/integration/queries.rs, whose output goes straight into assert_snapshot!. A heuristic change there would have rewritten those snapshots. It didn't: cargo test -p prqlc --test integration compileall on the merge commit passes 31/31 with no snapshot drift.

Two smaller notes, neither blocking:

  • similar 3.x raises its MSRV to 1.85, which exactly meets the workspace rust-version = "1.85.0" — no headroom left. Note that test-msrv and test-deps-min-versions are both gated on needs.rules.outputs.nightly == 'true', so neither runs on this PR; the floor is confirmed by reading, not by CI here.
  • Cargo.lock now carries two similar versions, since insta and similar-asserts both pin 2.7.0. #6260 (similar-asserts 1.7.0 → 2.0.0) won't collapse that either, because insta holds 2.x independently. Dev-tree only.

check-ok-to-merge is currently red, but its run (33418584231) has conclusion cancelled — the usual Dependabot-batch concurrency cascade, where a cancelled contributor makes the if: always() gate resolve to FAILURE. The surviving run 33418596908 is still QUEUED and will re-register it. Unverified at approval time: check-ok-to-merge, rules, lint-megalinter, and everything downstream of rules including test-rust.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant