diff --git a/src/Cache.php b/src/Cache.php index 12f71dd94..6ecca1590 100644 --- a/src/Cache.php +++ b/src/Cache.php @@ -75,6 +75,10 @@ public function removeLegacyTags(array $data): array continue; } + if ('symfony/psr-http-message-bridge' === $name && 6.4 > $normalizedVersion) { + continue; + } + $constraint = new Constraint('==', $normalizedVersion); if ($rootConstraint && $rootConstraint->matches($constraint)) { diff --git a/src/Flex.php b/src/Flex.php index ea5ce10d6..a305d386f 100644 --- a/src/Flex.php +++ b/src/Flex.php @@ -1058,6 +1058,9 @@ private function reinstall(Event $event, bool $update) $composer->getEventDispatcher(), $composer->getAutoloadGenerator() ); + if (method_exists($installer, 'setPlatformRequirementFilter')) { + $installer->setPlatformRequirementFilter(((array) $this->installer)["\0*\0platformRequirementFilter"]); + } if (!$update && method_exists($installer, 'setUpdateAllowList')) { $installer->setUpdateAllowList(['php']); diff --git a/src/PackageFilter.php b/src/PackageFilter.php index d1d9709b5..091bcd79b 100644 --- a/src/PackageFilter.php +++ b/src/PackageFilter.php @@ -80,6 +80,7 @@ public function removeLegacyPackages(array $data, RootPackageInterface $rootPack !isset($knownVersions['splits'][$name]) || array_intersect($versions, $lockedVersions[$name] ?? []) || (isset($rootConstraints[$name]) && !Intervals::haveIntersections($this->symfonyConstraints, $rootConstraints[$name])) + || ('symfony/psr-http-message-bridge' === $name && 6.4 > $versions[0]) )) { $filteredPackages[] = $package; continue;