Skip to content

Releases: composer/composer

2.0.0-alpha2

24 Jun 19:44
89958bf
Compare
Choose a tag to compare
2.0.0-alpha2 Pre-release
Pre-release

Not up to date with Composer 2 yet? Check the alpha1 changelog and UPGRADE guide first.

Try it out now and get ready for the upcoming stable release

  • Use composer self-update --preview to try the latest alpha/prerelease version (2.x).
  • Use composer self-update --snapshot to try the latest dev build (2.x).
  • Use composer self-update --stable to go back to stable releases (1.x for now).
  • Use composer self-update --1 in CI/scripts if you want to pin Composer to 1.x until you are ready to migrate, this will ensure you stay on 1.x releases even once a 2.0 stable comes out.

Changelog

  • Added parallel installation of packages (requires OSX/Linux/WSL, and that unzip is present in PATH)
  • Added optimization of constraints by compiling them to PHP code, which should reduce CPU time of updates
  • Added handling of Ctrl-C on Windows for PHP 7.4+
  • Added better support for default branch names other than master
  • Added --format=summary flag to license command
  • Fixed issue in platform check when requiring ext-zend-opcache
  • Fixed inline aliases issues
  • Fixed git integration issue when signatures are set to be shown by default

1.10.8

24 Jun 19:43
56e0e09
Compare
Choose a tag to compare
  • Fixed compatibility issue with git being configured to show signatures by default
  • Fixed discarding of local changes when updating packages to include untracked files
  • Several minor fixes

2.0.0-alpha1

03 Jun 11:54
fa90c09
Compare
Choose a tag to compare
2.0.0-alpha1 Pre-release
Pre-release

Try it out now and get ready for the upcoming stable release

  • Use composer self-update --preview to try the latest alpha/prerelease version (2.x).
  • Use composer self-update --snapshot to try the latest dev build (2.x).
  • Use composer self-update --stable to go back to stable releases (1.x for now).
  • Use composer self-update --1 in CI/scripts if you want to pin Composer to 1.x until you are ready to migrate, this will ensure you stay on 1.x releases even once a 2.0 stable comes out.

Changelog

  • Breaking: This is a major release and while we tried to keep things compatible for most users, you might want to have a look at the UPGRADE guides
  • Many CPU and memory performance improvements
  • The update command is now much more deterministic as it does not take the already installed packages into account
  • Package installation now performs all network operations first before doing any changes on disk, to reduce the chances of ending up with a partially updated vendor dir
  • Partial updates and require/remove are now much faster as they only load the metadata required for the updated packages
  • Added a platform-check step when vendor/autoload.php gets initialized which checks the current PHP version/extensions match what is expected and fails hard otherwise. Can be disabled with the platform-check config option
  • Added a Composer\InstalledVersions class which is autoloaded in every project and lets you check which packages/versions are present at runtime
  • Added a composer-runtime-api virtual package which you can require (as e.g. ^2.0) to ensure things like the InstalledVersions class above are present. It will effectively force people to use Composer 2.x to install your project
  • Added support for parallel downloads of package metadata and zip files, this requires that the curl extension is present and we thus strongly recommend enabling curl
  • Added much clearer dependency resolution error reporting for common error cases
  • Added support for updating to a specific version with partial updates, as well as a --with flag to pass in temporary constraint overrides
  • Added support for TTY mode on Linux/OSX/WSL so that script handlers now run in interactive mode
  • Added only, exclude and canonical options to all repositories, see repository priorities for details
  • Added support for lib-zip platform package
  • Added pre-operations-exec event to be fired before the packages get installed/upgraded/removed
  • Added pre-pool-create event to be fired before the package pool for the dependency solver is created, which lets you modify the list of packages going in
  • Added post-file-download event to be fired after package dist files are downloaded, which lets you do additional checks on the files
  • Added --locked flag to show command to see the packages from the composer.lock file
  • Added --unused flag to remove command to make sure any packages which are not needed anymore get removed
  • Added --dry-run flag to require and remove commands
  • Added --no-install flag to update, require and remove commands to disable the install step and only do the update step (composer.lock file update)
  • Added --with-dependencies and --with-all-dependencies flag aliases to require and remove commands for consistency with update
  • Added more info to vendor/composer/installed.json, a dev key stores whether dev requirements were installed, and every package now has an install-path key with its install location
  • Added COMPOSER_DISABLE_NETWORK which if set makes Composer do its best to run offline. This can be useful when you have poor connectivity or to do benchmarking without network jitter
  • Added --json and --merge flags to config command to allow editing complex extra.* values by using json as input
  • Added confirmation prompt when running Composer as superuser in interactive mode
  • Added --no-check-version to validate command to remove the warning in case the version is defined
  • Added --ignore-platform-req (without s) to all commands supporting --ignore-platform-reqs, which accepts a package name so you can ignore only specific platform requirements
  • Added support for wildcards (*) in classmap autoloader paths
  • Added support for configuring GitLab deploy tokens in addition to private tokens, see gitlab-token
  • Added support for package version guessing for require and init command to take all platform packages into account, not just php version
  • Fixed package ordering when autoloading and especially when loading plugins, to make sure dependencies are loaded before their dependents
  • Fixed suggest output being very spammy, it now is only one line long and shows more rarely
  • Fixed conflict rules like e.g. >=5 from matching dev-master, as it is not normalized to 9999999-dev internally anymore

1.10.7

03 Jun 08:12
956608e
Compare
Choose a tag to compare
  • Fix PHP 8 deprecations
  • Fixed detection of pcntl_signal being in disabled_functions when pcntl_async_signal is allowed

1.10.6

06 May 08:34
be81b9c
Compare
Choose a tag to compare
  • Fixed version guessing to take composer-runtime-api and composer-plugin-api requirements into account to avoid selecting packages which require Composer 2
  • Fixed package name validation to allow several dashes following each other
  • Fixed post-status-cmd script not firing when there were no changes to be displayed
  • Fixed composer-runtime-api support on Composer 1.x, the package is now present as 1.0.0
  • Fixed support for composer show --name-only --self
  • Fixed detection of GitLab URLs when handling authentication in some cases

1.10.5

10 Apr 09:54
7a4d5b6
Compare
Choose a tag to compare
  • Fixed self-update on PHP <5.6, seriously please upgrade people, it's time
  • Fixed 1.10.2 regression with PATH resolution in scripts

1.10.4

09 Apr 15:09
1efa685
Compare
Choose a tag to compare
  • Fixed 1.10.2 regression in path symlinking with absolute path repos

1.10.3

09 Apr 14:29
0b55f39
Compare
Choose a tag to compare
  • Fixed invalid --2 flag warning in self-update when no channel is requested

1.10.2

09 Apr 14:17
79c0806
Compare
Choose a tag to compare
  • Added --1 flag to self-update command which can be added to automated self-update runs to make sure it won't automatically jump to 2.0 once that is released
  • Fixed path repository symlinks being made relative when the repo url is defined as absolute paths
  • Fixed potential issues when using "composer ..." in scripts and composer/composer was also required in the project
  • Fixed 1.10.0 regression when downloading GitHub archives from non-API URLs
  • Fixed handling of malformed info in fund command
  • Fixed Symfony5 compatibility issues in a few commands

1.10.1

13 Mar 19:40
b912a45
Compare
Choose a tag to compare
  • Fixed path repository warning on empty path when using wildcards
  • Fixed superfluous warnings when generating optimized autoloaders