Releases: composer/composer
Releases ยท composer/composer
2.7.1
Check the 2.7.0 release notes for common problems troubleshooting if you are experiencing issues after upgrading to Composer 2.7.x
Changelog
- Added several warnings when plugins are disabled to hint at common problems people had with 2.7.0 (#11842)
- Fixed
diagnose
auditing of Composer dependencies failing when running from the phar
2.7.0
Read the Composer 2.7 Release Announcement for more details on the release highlights and the security fix.
Common upgrade problems
- If you see errors with missing commands (
symfony-cmd: command not found
) or other failures and you are relying on plugins and running Composer as root (for example when you use AWS ElasticBeanstalk), read #11839 - If you are using plugins and bitbucket pipelines, read #11839
- If you see
Fatal error: Declaration of {some-class}::execute(...) must be compatible with Composer\Command\SomeCommand::execute(): int
then whatever code is extending a Composer command needs to be updated to also add the int return type, see #11843 for more details.
Complete Changelog
- Security: Fixed code execution and possible privilege escalation via compromised vendor dir contents (GHSA-7c6p-848j-wh5h / CVE-2024-24821)
- Changed the default of the
audit.abandoned
config setting tofail
, set it toreport
orignore
if you do not want this, or set it viaCOMPOSER_AUDIT_ABANDONED
env var (#11643) - Added --minimal-changes (-m) flag to
update
/require
/remove
commands to perform partial update with --with-dependencies while changing only what is absolutely necessary in transitive dependencies (#11665) - Added --sort-by-age (-A) flag to
outdated
/show
commands to allow sorting by and displaying the release date (most outdated first) (#11762) - Added support for
--self
combined with--installed
or--locked
inshow
command, to add the root package to the package list being output (#11785) - Added severity information to
audit
command output (#11702) - Added
scripts-aliases
top level key in composer.json to define aliases for custom scripts you defined (#11666) - Added IPv4 fallback on connection timeout, as well as a
COMPOSER_IPRESOLVE
env var to force IPv4 or IPv6, set it to4
or6
(#11791) - Added support for wildcards in
outdated
's --ignore arg (#11831) - Added support for
bump
command bumping*
to>=current version
(#11694) - Added detection of constraints that cannot possibly match anything to
validate
command (#11829) - Added package source information to the output of
install
when running in very verbose (-vv) mode (#11763) - Added audit of Composer's own bundled dependencies in
diagnose
command (#11761) - Added GitHub token expiration date to
diagnose
command output (#11688) - Added non-zero status code to why/why-not commands (#11796)
- Added error when calling
show --direct <package>
with an indirect/transitive dependency (#11728) - Added
COMPOSER_FUND=0
env var to hide calls for funding (#11779) - Fixed
bump
command not bumping packages required with av
prefix (#11764) - Fixed automatic disabling of plugins when running non-interactive as root
- Fixed
update --lock
not keeping the dist reference/url/checksum pinned (#11787) - Fixed
require
command crashing at the end if no lock file is present (#11814) - Fixed root aliases causing problems when auditing locked dependencies (#11771)
- Fixed handling of versions with 4 components in
require
command (#11716) - Fixed compatibility issues with Symfony 7
- Fixed composer.json remaining behind after a --dry-run of the
require
command (#11747) - Fixed warnings being shown incorrectly under some circumstances (#11786, #11760, #11803)
2.2.23
- Security: Fixed code execution and possible privilege escalation via compromised vendor dir contents (GHSA-7c6p-848j-wh5h / CVE-2024-24821)
2.6.6
2.6.5
2.6.4
- Security: Fixed possible remote code execution vulnerability if composer.phar is publicly accessible, executable as PHP, and register_argc_argv is enabled in php.ini (GHSA-jm6m-4632-36hf / CVE-2023-43655)
- Fixed json output of abandoned packages in audit command (#11647)
- Fixed autoloader suffix to reuse the content-hash from lock file if available to make for more reproducible builds by default (#11663)
- Performance improvement in pool optimization step (#11638)
- Performance improvement in
show -a <packagename>
(#11659)
2.2.22
- Security: Fixed possible remote code execution vulnerability if composer.phar is publicly accessible, executable as PHP, and register_argc_argv is enabled in php.ini (GHSA-jm6m-4632-36hf / CVE-2023-43655)
- Fixed authentication issue when downloading several files from private Bitbucket in parallel (#11464)
- Fixed handling of broken junctions on windows (#11550)
- Fixed loading of root aliases on path repo packages when doing partial updates (#11632)
- Fixed parsing of lib-curl-openssl version with OSX SecureTransport (#11534)
- Fixed binary proxies not being transparent when included by another PHP process and returning a value (#11454)
- Fixed support for plugin classes being marked as readonly (#11404)
- Fixed GitHub rate limit reporting (#11366)
- Fixed issue displaying solver problems with branch names containing
%
signs (#11359)
1.10.27
! Reminder: if you are still using Composer 1.x, please upgrade. See https://blog.packagist.com/deprecating-composer-1-support/
Changelog:
- Security: Fixed possible remote code execution vulnerability if composer.phar is publicly accessible, executable as PHP, and register_argc_argv is enabled in php.ini (GHSA-jm6m-4632-36hf / CVE-2023-43655)
2.6.3
- Added audit.abandoned config setting. Can be set to
ignore
,report
(current default) orfail
(future default in 2.7) to make the audit command report abandoned packages as a security problem (#11639) - Added a warning when duplicates
files
autoload rules are detected (#11109) - Fixed unhandled promise rejection regression (#11620)
- Fixed loading of root aliases on path repo packages when doing partial updates (#11632)
- Fixed
archive
command not producing the correct output if the temp dir is a symlink (#11636) - Fixed some replaced packages being incorrectly missing when unlocked in a partial update (#11629)
2.6.2
- Reverted "Fixed binary proxies causing scripts inspecting
$_SERVER['SCRIPT_NAME']
to detect them, they are now more transparent (#11562)" which caused a regression (#11617) - Fixed non-zero exit code on failed audits to only apply to
install --audit
runs and not implicit audits withrequire
,create-project
orupdate
commands (#11616) - Fixed
create-project
infinite post-install loop in some circumstances (#11613)