diff --git a/CHANGELOG.md b/CHANGELOG.md index 25638486f..b7d500468 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### [1.3.0-RC] - 2016-11-XX +### [1.3.0-RC] - 2016-12-XX * Added `--minor-only` to the `outdated` command to only show updates to minor versions and ignore new major versions * Added workaround for xdebug performance impact by restarting PHP without xdebug automatically in case it is enabled @@ -10,6 +10,13 @@ * Removed `hash` from composer.lock, only `content-hash` is now used which should reduce conflicts * Minor fixes and performance improvements +### [1.2.4] - 2016-12-06 + + * Fixed regression in output handling of scripts from 1.2.3 + * Fixed support for LibreSSL detection as lib-openssl + * Fixed issue with Zend Guard in the autoloader bootstrapping + * Fixed support for loading partial provider repositories + ### [1.2.3] - 2016-12-01 * Fixed bug in HgDriver failing to identify BitBucket repositories @@ -458,7 +465,8 @@ * Initial release -[1.3.0-RC]: https://github.com/composer/composer/compare/1.2.3...1.3.0-RC +[1.3.0-RC]: https://github.com/composer/composer/compare/1.2.4...1.3.0-RC +[1.2.4]: https://github.com/composer/composer/compare/1.2.3...1.2.4 [1.2.3]: https://github.com/composer/composer/compare/1.2.2...1.2.3 [1.2.2]: https://github.com/composer/composer/compare/1.2.1...1.2.2 [1.2.1]: https://github.com/composer/composer/compare/1.2.0...1.2.1 diff --git a/src/Composer/Repository/ComposerRepository.php b/src/Composer/Repository/ComposerRepository.php index e2a73beb0..29276ce73 100644 --- a/src/Composer/Repository/ComposerRepository.php +++ b/src/Composer/Repository/ComposerRepository.php @@ -785,7 +785,20 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito $this->partialPackagesByName = array(); foreach ($rootData['packages'] as $package => $versions) { - $this->partialPackagesByName[strtolower($package)] = $versions; + $package = strtolower($package); + foreach ($versions as $version) { + $this->partialPackagesByName[$package][] = $version; + if (!empty($version['provide']) && is_array($version['provide'])) { + foreach ($version['provide'] as $provided => $providedVersion) { + $this->partialPackagesByName[strtolower($provided)][] = $version; + } + } + if (!empty($version['replace']) && is_array($version['replace'])) { + foreach ($version['replace'] as $provided => $providedVersion) { + $this->partialPackagesByName[strtolower($provided)][] = $version; + } + } + } } // wipe rootData as it is fully consumed at this point and this saves some memory