Skip to content

Releases: composer/composer

2.7.1

09 Feb 14:41
aaf6ed5
Compare
Choose a tag to compare

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

08 Feb 14:15
96d107e
Compare
Choose a tag to compare

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 to fail, set it to report or ignore if you do not want this, or set it via COMPOSER_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 in show 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 to 4 or 6 (#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 a v 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

08 Feb 14:14
d1542e8
Compare
Choose a tag to compare

2.6.6

08 Dec 17:36
683557b
Compare
Choose a tag to compare
  • Fixed symfony/console requirement to exclude 7.x as Composer 2.6 is not compatible, 2.7 will be (#11741)
  • Fixed libpq parsing to use the global constant if available (#11684)
  • Fixed error output when updating with a temporary constraint fails (#11692)

2.6.5

06 Oct 08:17
4b0fe89
Compare
Choose a tag to compare
  • Fixed error when vendor dir contains broken symlinks (#11670)
  • Fixed composer.lock missing from Composer's zip archives (#11674)
  • Fixed AutoloadGenerator::dump() non-BC signature change in 2.6.4 (cb363b0)

2.6.4

29 Sep 09:20
d75d17c
Compare
Choose a tag to compare
  • 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

29 Sep 09:20
fedc76e
Compare
Choose a tag to compare
  • 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

29 Sep 09:19
f8f4919
Compare
Choose a tag to compare

! 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

15 Sep 08:00
ff47783
Compare
Choose a tag to compare
  • Added audit.abandoned config setting. Can be set to ignore, report (current default) or fail (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

03 Sep 12:13
623e5e1
Compare
Choose a tag to compare
  • 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 with require, create-project or update commands (#11616)
  • Fixed create-project infinite post-install loop in some circumstances (#11613)