Whatsdiff is a CLI tool that shows what has changed in your project's dependencies after a composer update or an npm update. After installing whatsdiff globally, you can run various commands, including a TUI mode that quickly visualizes diffs in an organized way.
# Output diffs in the terminal$ whatsdiff # JSON output$ whatsdiff --format=json # Markdown output$ whatsdiff --format=markdown # TUI mode$ whatsdiff tui # Compare between two tagswhatsdiff between v1.0.0 v2.0.0 # From commmit to HEADwhatsdiff between abc123
You can see both Composer and NPM package version updates together if you have an updated package lockfile, but I tend to work through them separately:
Another neat feature is getting the changelog between versions, which you can use to quickly scan what's changed without browsing through multiple releases:
whatsdiff changelog laravel/framework 12.0.0...12.36.0
Main Features
- Analyse changes in composer.lock and package-lock.json between commits
- Read changelog and release notes of updated packages
- Interactive Terminal UI
- Multiple output formats (text, JSON, markdown)
- MCP server to help LLM understand how to upgrade your project dependencies
- CI/CD integration to check if specific packages have changed
You can get started by visiting the whatsdiff.app documentation.