Get the list of outdated Composer packages
PhpComposer PhpPhp Problem Overview
I want to get list of outdated packages that will be updated when I issue composer update
. Does composer have such functionality? if no is there a way to do that (with or without composer?)
Php Solutions
Solution 1 - Php
Update:
Since Composer v1.1 (May 2016) the following commands are available:
composer outdated
shows you the list of outdated packagescomposer show -l
returns the complete list of packages. packages in need of update are colored red. the (still) up-2-date ones are colored green.- both commands accept the parameter
--direct
to show only direct dependencies in the listing
Referencing:
https://github.com/composer/composer/issues/3771
Composer Plugins
There are some Composer Plugins showing the list of outdated packages:
- composer-versions-check - https://github.com/Soullivaneuh/composer-versions-check
The Composer Plugin called "composer-versions-check" shows outdated packages from last major versions after using the update command. (Latest is ..)
This plugin runs "update" first, then shows possible "upgrade" indications.
A Composer dry-run
isn't supported, yet.
- vinkla/climb - https://github.com/vinkla/climb
Climb is a "Composer version manager tool" inspired by npm-check-updates.
It shows the outdates package version and indicates "upgrades" to latest versions.
Solution 2 - Php
Since version 1.1 of Composer there is the composer outdated
command. With composer outdated --direct
only your direct dependencies are taken into account.
Solution 3 - Php
To complete @jens-a-koch response, get any dependency update:
composer outdated
or get only direct dependencies from your composer.json:
composer outdated -D
https://getcomposer.org/doc/03-cli.md#outdated
> outdated > > The outdated command shows a list of installed packages that have > updates available, including their current and latest versions. This > is basically an alias for composer show -lo. > > The color coding is as such: > > * green (=): Dependency is in the latest version and is up to date. > * yellow (~): Dependency has a new version available that includes backwards compatibility breaks according to semver, so upgrade when you can but it may involve work. > * red (!): Dependency has a new version that is semver-compatible and you should upgrade it. > > Options > > * --all (-a): Show all packages, not just outdated (alias for composer show -l). > * --direct (-D): Restricts the list of packages to your direct dependencies. > * --strict: Returns non-zero exit code if any package is outdated. > * --minor-only (-m): Only shows packages that have minor SemVer-compatible updates. > * --format (-f): Lets you pick between text (default) or json output format.