diff --git a/classes/Services/PhpVersionResolverService.php b/classes/Services/PhpVersionResolverService.php index face06b29..04b3af9ef 100644 --- a/classes/Services/PhpVersionResolverService.php +++ b/classes/Services/PhpVersionResolverService.php @@ -164,7 +164,7 @@ public function getPrestashopDestinationRelease(int $currentPhpVersionId): ?Pres if ($currentPhpVersion >= $versionMinWithoutPatch && $currentPhpVersion <= $versionMaxWithoutPatch) { // verify channel.xml matching $branch = VersionUtils::splitPrestaShopVersion($release->getVersion())['minor']; - if (isset($releasesFromChannelFile[$branch])) { + if (isset($releasesFromChannelFile[$branch]) && version_compare($releasesFromChannelFile[$branch]->getVersion(), $release->getVersion(), '>=')) { $releaseNote = $releasesFromChannelFile[$branch]->getReleaseNoteUrl(); $release->setReleaseNoteUrl($releaseNote); $validReleases[] = $release; diff --git a/tests/unit/Services/PhpVersionResolverServiceTest.php b/tests/unit/Services/PhpVersionResolverServiceTest.php index 79ebbf709..870724d30 100644 --- a/tests/unit/Services/PhpVersionResolverServiceTest.php +++ b/tests/unit/Services/PhpVersionResolverServiceTest.php @@ -264,6 +264,18 @@ public function testGetPrestashopDestinationReleaseWithNoMatchingChannelXml() '8.1', '7.2.5' ), + new PrestashopRelease( + '8.1.9', + 'stable', + '8.1', + '7.2.5' + ), + new PrestashopRelease( + '8.2.1', + 'stable', + '8.1', + '7.2.5' + ), new PrestashopRelease( '9.0.0', 'stable',