ion-bazan/composer-diff
Composer Diff compares composer.lock files across Git branches, commits, or tags and reports added, removed, and updated Composer packages. Use it to review dependency changes in pull requests and see exactly what a merge will alter in PHP projects.
composer.lock into a human-readable Markdown report suitable for a PR description. That directly supports decisions about how much effort to invest in making dependency changes reviewable — the alternative being reviewers manually diffing lockfiles or skipping review altogether.Consider it when:
Look elsewhere or plan to fork when:
For executives: This is a small, MIT-licensed tool that automatically summarizes dependency changes in pull requests. It improves the quality of dependency review — one of the least-scrutinized but highest-leverage areas for supply-chain risk — at effectively no infrastructure cost and no vendor commitment. It is a low-risk pilot: if it does not measurably improve review speed or auditability, it can be removed without touching application code. The main caveat is maintenance risk from a small open-source project; mitigated by its narrow scope and permissive license, which make an internal fork straightforward.
For engineering leadership: It is a Composer plugin and CLI that diffs composer.lock and emits Markdown with per-package change details and links (formatters and URL generators are configurable). It runs in CI, has no production runtime impact, and is compatible with PHP 7.2 through 8.5 and Composer 2.x. Its test discipline (full line coverage, mutation testing, static analysis) is better than typical projects of this size, which reduces the "abandoned side project" concern. Recommend a two-sprint trial in one or two high-churn repos, instrumented against dependency-PR review time and reviewer feedback, before standardizing across the org.
Framing to avoid: Do not sell it as security scanning or SBOM. It is a visibility and communication tool that makes dependency change review faster and more defensible — not a control that detects or blocks risk.
How can I help you explore Laravel packages today?