diff --git a/CHANGELOG.md b/CHANGELOG.md index ff1ac0e34..baf972ae2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +### [2.2.7] 2022-02-25 + + * Allow installation together with composer/xdebug-handler ^3 (#10528) + * Fixed support for packages with no licenses in `licenses` command output (#10537) + * Fixed handling of `allow-plugins: false` which kept warning (#10530) + * Fixed enum parsing in classmap generation when the enum keyword is not lowercased (#10521) + * Fixed author parsing in `init` command requiring an email whereas the schema allows a name only (#10538) + * Fixed issues in `require` command when requiring packages which do not exist (but are provided by something else you require) (#10541) + * Performance improvement in pool optimization step (#10546) + ### [2.2.6] 2022-02-04 * BC Break: due to an oversight, the `COMPOSER_BIN_DIR` env var for binaries added in Composer 2.2.2 had to be renamed to `COMPOSER_RUNTIME_BIN_DIR` (#10512) @@ -1384,6 +1394,7 @@ * Initial release +[2.2.7]: https://github.com/composer/composer/compare/2.2.6...2.2.7 [2.2.6]: https://github.com/composer/composer/compare/2.2.5...2.2.6 [2.2.5]: https://github.com/composer/composer/compare/2.2.4...2.2.5 [2.2.4]: https://github.com/composer/composer/compare/2.2.3...2.2.4 diff --git a/src/Composer/DependencyResolver/PoolOptimizer.php b/src/Composer/DependencyResolver/PoolOptimizer.php index 6d9b1dd12..5513aeeb9 100644 --- a/src/Composer/DependencyResolver/PoolOptimizer.php +++ b/src/Composer/DependencyResolver/PoolOptimizer.php @@ -339,6 +339,11 @@ class PoolOptimizer */ private function keepPackage(BasePackage $package, array $identicalDefinitionsPerPackage, array $packageIdenticalDefinitionLookup): void { + // Already marked to keep + if (!isset($this->packagesToRemove[$package->id])) { + return; + } + unset($this->packagesToRemove[$package->id]); if ($package instanceof AliasPackage) {