whatsdiff / whatsdiff
See what's changed in your project's dependencies
Fund package maintenance!
SRWieZ
Installs: 12
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/whatsdiff/whatsdiff
Requires
- php: ^8.1
- composer-runtime-api: ^2.2
- ext-dom: *
- ext-mbstring: *
- composer/semver: ^3.4
- illuminate/collections: ^10.0|^11.0|^12.0
- joetannenbaum/chewie: ^0.1.5
- laravel/prompts: ^0.1|^0.2|^0.3
- saloonphp/saloon: ^3.10
Requires (Dev)
- humbug/box: ^4.3
- laravel/pint: ^1.13
- nunomaduro/collision: ^7.0|^8.0
- pestphp/pest: ^2.0|^3.0
- phpstan/phpstan: ^2.0
- spatie/ray: ^1.41
- dev-main
- v1.6.0
- v1.5.0
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.2
- v1.0.1
- v1.0.0
- dev-feature/mcp-binaries
- dev-mcp-server
- dev-feature/terminal-ui
- dev-claude/auto-github-token-011CUU1ydTMHLXt2iGDyNVY9
- dev-claude/update-phpstan-changelog-011CUTrkQJBJe2f7kuyh84y2
- dev-feature/auto-links-on-changelog
- dev-feature/release-notes-extraction
This package is auto-updated.
Last update: 2025-10-28 19:23:09 UTC
README
What's diff is a CLI tool to help you inspect what has changed in your dependencies after a composer update or npm update.
Outdated screenshot.. Coming soon!
Main features are:
- Show what has been added, removed or updated in your dependencies
- Show how many releases have been made since your last update
- Support for composer.lock and package-lock.json (PHP & JS)
- Show changelog and release notes of the dependencies
- Compare between commits, branches, or tags
- Interactive Terminal UI with keyboard navigation
- Multiple output formats (text, JSON, markdown)
π Installation
Via Composer global require command
composer global require whatsdiff/whatsdiff
By downloading binaries on the latest release, currently only these binaries are compiled on the CI:
- macOS x86_64
- macOS arm64
- linux x86_64
- linux arm64
- windows x64
π Usage
For complete documentation, visit whatsdiff.app/docs
Analyse Command
Show what changed after your last composer update or npm update:
whatsdiff
# or explicitly
whatsdiff analyse
Between Command
Compare dependencies between two commits, branches, or tags:
# Compare between two tags whatsdiff between v1.0.0 v2.0.0 # Compare between commits whatsdiff between abc123 def456 # Compare from a commit to HEAD whatsdiff between abc123
Terminal UI Mode
Launch an interactive Terminal UI with keyboard navigation:
whatsdiff tui
Check Command
Check if a specific package has changed (useful for CI/CD):
# Check if a package was updated whatsdiff check livewire/livewire --is-updated # Check if a package was added whatsdiff check new/package --is-added # Use in scripts with exit codes if whatsdiff check critical/package --is-updated --quiet; then echo "Critical package updated, running extra tests..." fi
Changelog Command
View release notes for updated packages:
whatsdiff changelog guzzlehttp/guzzle 7.7.0...7.8.1 --type=composer --summary
Configuration
Manage cache and other settings:
# View all configuration whatsdiff config # Disable cache whatsdiff config cache.enabled false # Set cache time limits (in seconds) whatsdiff config cache.min-time 600
Output Formats
All commands support multiple output formats:
# JSON output whatsdiff --format=json # Markdown output whatsdiff --format=markdown # Disable cache for a single run whatsdiff --no-cache
π§ Contributing
This project follows PSR coding style. You can use composer pint to apply.
All tests are executed with pest. Use composer pest
It's recommended to execute composer qa before commiting (alias for executing Pint and Pest)
Testing
This project use Pest for testing.
composer test
Build from sources
This project use box, php-static-cli and php-micro. A build script has been created to build the project. (tested only on macOS x86_64)
composer build
Then you can build the binary that you can retrieve in build/bin/
π₯ Credits
whatsdiff was created by Eser DENIZ.
π License
whatsdiff PHP is licensed under the MIT License. See LICENSE for more information.
