Skip to content

Releases: composer/composer

2.7.6

04 May 21:07
fabd995
Compare
Choose a tag to compare
  • Fixed regression when script handlers add an autoloader which uses a private callback (#11960)

2.7.5

03 May 14:30
29ac9cc
Compare
Choose a tag to compare
  • Added uninstall alias to remove command (#11951)
  • Added workaround for broken curl versions 8.7.0/8.7.1 causing transport exceptions (#11913)
  • Fixed root usage warnings showing up within Podman containers (#11946)
  • Fixed config command not handling objects correctly in some conditions (#11945)
  • Fixed binary proxies not containing the correct path if the project dir is a symlink (#11947)
  • Fixed Composer autoloader being overruled by project autoloaders when they are loaded by event handlers (scripts/plugins) (#11955)
  • Fixed TransportException (http failures) not having a distinct exit code, should now exit with 100 as code (#11954)

2.7.4

22 Apr 19:22
a625e50
Compare
Choose a tag to compare
  • Fixed regression (Call to undefined method ProxyManager::needsTransitionWarning()) with projects requiring composer/composer in an pre-2.7.3 version (#11943, #11940)

As a side-note, requiring composer/composer is frowned upon and should really only be done in circumstances where it is absolutely necessary, and ideally you should talk to us first to see if we can't help avoid it or help by extracting some code in a smaller library.

2.7.3

19 Apr 19:49
e49be96
Compare
Choose a tag to compare
  • BC Warning: Fixed https_proxy env var falling back to http_proxy's value, this is still in place but with a warning for now, and https_proxy can now be set empty to remove the fallback. Composer 2.8.0 will remove the fallback so make sure you heed the warnings (#11915)
  • Fixed show and outdated commands to remove leading v in e.g. v1.2.3 when showing lists of packages (#11925)
  • Fixed audit command not showing any id when no CVE is present, the advisory ID is now shown (#11892)
  • Fixed the warning about a missing default version showing for packages with project type as those are typically not versioned and do not have cyclic dependencies (#11885)
  • Fixed PHP 8.4 deprecation warnings
  • Fixed clear-cache command to respect the config.cache-dir setting from the local composer.json (#11921)
  • Fixed status command not handling failed download/install promises correctly (#11889)
  • Added support for buy_me_a_coffee in GitHub funding files (#11902)
  • Added hg support for SSH urls (#11878)
  • Fixed some env vars with an integer value causing a crash (#11908)
  • Fixed context data not being output when using IOInterface as a PSR-3 logger (#11882)

2.7.2

11 Mar 16:18
b826edb
Compare
Choose a tag to compare
  • Added info about the PHP version when running composer --version (#11866)
  • Added warning when the root version cannot be detected (#11858)
  • Fixed plugins still being enabled in a few contexts when running as root (c3efff9)
  • Fixed outdated --ignore ... still attempting to load the latest version of the ignored packages (#11863)
  • Fixed handling of broken symlinks in the middle of an install path (#11864)
  • Fixed update --lock still incorrectly updating some metadata (#11850, #11787)

Full Changelog: 2.7.1...2.7.2

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)