Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 3, 2026

Bumps diff-lcs from 1.6.2 to 2.0.0.

Changelog

Sourced from diff-lcs's changelog.

2.0.0 / 2026-02-01

This release has significant breaking changes.

  • diff-lcs 2 supports Ruby 3.2 or higher. This allowed:

    • readability improvements (endless methods, pattern matching);

    • support for immutable Data classes (Diff::LCS::Block, Diff::LCS::Change, and Diff::LCS::ContextChange);

    • removal of compatibility shims;

    • reduction in conditional tests in loops, especially for String character extraction (compare string ? seq[i, 1] : seq[i] to seq[i]); and

    • optimizations to string and relying on standard encoding support present since Ruby 2.1.

    The primary API (methods and class methods on Diff::LCS) has not changed, with one exception noted below. Internal APIs (including Diff::LCS::Block, Diff::LCS::Change, Diff::LCS::ContextChange, and Diff::LCS::Hunk) have changed for compatibility.

  • The htmldiff binary and supporting code have been removed without replacement.

  • ldiff no longer supports ed-script output (ed and reverse_ed formats). As Baptiste Courtois says in #108[pull-108], the "implementation was broken for a while and no-one reported it."

  • The method Diff::LCS.LCS has been removed as an alias for Diff::LCS.lcs. Most callers are using Diff::LCS.lcs and modern Ruby did-you-mean support should assist with this update.

  • Diff::LCS::Change objects implemented the comparison operator (<=>) incorrectly. Comparisons are now done so that the position is compared first, then the action (by index of VALID_ACTIONS), and finally the element. Diff::LCS::ContextChange works similarly, comparing the old and new positions prior to comparing the actions by index.

    The order of VALID_ACTIONS was changed for the index order to make sense.

  • ldiff now implements - as a filename option for standard input. This is used for integration testing with RSpec like this:

    rspec -Ilib -rdiff/lcs integration/failure/array_diff_spec.rb 2>&1 |
      ruby -Ilib bin/ldiff -U integration/golden/array_diff.txt -

... (truncated)

Commits
  • 2a54e8d chore: Update actions
  • b025097 feat: Release diff-lcs 2.0
  • 1fd0df4 deps: Bump the actions group with 2 updates
  • d57b406 chore: Add RSpec integration tests
  • 98d6c0f chore: Switch to Minitest for primary tests
  • c6abce6 docs: Add badges to readme
  • 85d0664 chore: Simplify security policy
  • 842824f docs: Update HTTP to HTTPS where possible
  • 62c7dfe chore: Prepare for release of diff-lcs 2.0 beta 1
  • c57b5af feat: Modernize LCS Internals
  • 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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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 [diff-lcs](https://github.com/halostatue/diff-lcs) from 1.6.2 to 2.0.0.
- [Changelog](https://github.com/halostatue/diff-lcs/blob/main/CHANGELOG.md)
- [Commits](halostatue/diff-lcs@v1.6.2...v2.0.0)

---
updated-dependencies:
- dependency-name: diff-lcs
  dependency-version: 2.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 ruby Pull requests that update ruby code labels Feb 3, 2026
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 ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants