- Break: For forward compatibility, you should change your deployment scripts to run
composer install --no-dev. The install command will install dev dependencies by default starting in the next release - Break: The
updatecommand now has --dev enabled by default. --no-dev can be used to update without dev requirements, but it will create an incomplete lock file and is discouraged - Break: Removed support for lock files created before 2012-09-15 due to their outdated unusable format
- Added
prefer-stableflag to pick stable packages over unstable ones when possible - Added
preferred-installconfig option to always enable --prefer-source or --prefer-dist - Added
diagnosecommand to to system/network checks and find common problems - Added wildcard support in the update whitelist, e.g. to update all packages of a vendor do
composer update vendor/* - Added
archivecommand to archive the current directory or a given package - Added
run-scriptcommand to manually trigger scripts - Added
proprietaryas valid license identifier for non-free code - Added a
php-64bitplatform package that you can require to force a 64bit php - Added a
lib-ICUplatform package - Added a new official package type
projectfor project-bootstrapping packages - Added zip/dist local cache to speed up repetitive installations
- Added
post-autoload-dumpscript event - Added
Event::getDevModeto let script handlers know if dev requirements are being installed - Added
discard-changesconfig option to control the default behavior when updating "dirty" dependencies - Added
use-include-pathconfig option to make the autoloader look for files in the include path too - Added
cache-ttl,cache-files-ttlandcache-files-maxsizeconfig option - Added
cache-dir,cache-files-dir,cache-repo-dirandcache-vcs-dirconfig option - Added support for using http(s) authentication to non-github repos
- Added support for using multiple autoloaders at once (e.g. PHPUnit + application both using Composer autoloader)
- Added support for .inc files for classmap autoloading (legacy support, do not do this on new projects!)
- Added support for version constraints in show command, e.g.
composer show monolog/monolog 1.4.* - Added support for svn repositories containing packages in a deeper path (see package-path option)
- Added an
artifactrepository to scan a directory containing zipped packages - Added --no-dev flag to
installandupdatecommands - Added --stability (-s) flag to create-project to lower the required stability
- Added --no-progress to
installandupdateto hide the progress indicators - Added --available (-a) flag to the
showcommand to display only available packages - Added --name-only (-N) flag to the
showcommand to show only package names (one per line, no formatting) - Added --optimize-autoloader (-o) flag to optimize the autoloader from the
installandupdatecommands - Added -vv and -vvv flags to get more verbose output, can be useful to debug some issues
- Added COMPOSER_NO_INTERACTION env var to do the equivalent of --no-interaction (should be set on build boxes, CI, PaaS)
- Added PHP 5.2 compatibility to the autoloader configuration files so they can be used to configure another autoloader
- Fixed handling of platform requirements of the root package when installing from lock
- Fixed handling of require-dev dependencies
- Fixed handling of unstable packages that should be downgraded to stable packages when updating to new version constraints
- Fixed parsing of the
~operator combined with unstable versions - Fixed the
requirecommand corrupting the json if the new requirement was invalid - Fixed support of aliases used together with
<version>#<reference>constraints - Improved output of dependency solver problems by grouping versions of a package together
- Improved performance of classmap generation
- Improved mercurial support in various places
- Improved lock file format to minimize unnecessary diffs
- Improved the
configcommand to support all options - Improved the coverage of the
validatecommand - Tons of minor bug fixes and improvements