diff --git a/src/Form/UpdaterForm.php b/src/Form/UpdaterForm.php index 95c8e96398585c8d8cde91b07e794b44f59f122b..e0c39271551e4d46baf0b6d7993455111368302f 100644 --- a/src/Form/UpdaterForm.php +++ b/src/Form/UpdaterForm.php @@ -151,13 +151,14 @@ final class UpdaterForm extends FormBase { ]; $project_info = new ProjectInfo('drupal'); + $installed_version = ExtensionVersion::createFromVersionString($project_info->getInstalledVersion()); try { // @todo Until https://www.drupal.org/i/3264849 is fixed, we can only show // one release on the form. First, try to show the latest release in the // currently installed minor. Failing that, try to show the latest // release in the next minor. - $installed_minor_release = $this->releaseChooser->getLatestInInstalledMinor($this->updater); - $next_minor_release = $this->releaseChooser->getLatestInNextMinor($this->updater); + $installed_minor_release = $this->releaseChooser->getMostRecentReleaseInMinor($this->updater, $project_info->getInstalledVersion()); + $next_minor_release = $this->releaseChooser->getMostRecentReleaseInMinor($this->updater, $installed_version->getMajorVersion() . '.' . (((int) $installed_version->getMinorVersion()) + 1) . '.0'); } catch (\RuntimeException $e) { $form['message'] = [ diff --git a/src/ReleaseChooser.php b/src/ReleaseChooser.php index 0aad2c2c60db15d173c60dd801b0962e6da65822..78ade56d12af2ffeafae6b9a32e01dabee884877 100644 --- a/src/ReleaseChooser.php +++ b/src/ReleaseChooser.php @@ -74,7 +74,7 @@ class ReleaseChooser { * @throws \InvalidArgumentException * If the given semantic version number does not contain a patch version. */ - protected function getMostRecentReleaseInMinor(Updater $updater, string $version): ?ProjectRelease { + public function getMostRecentReleaseInMinor(Updater $updater, string $version): ?ProjectRelease { if (static::getPatchVersion($version) === NULL) { throw new \InvalidArgumentException("The version number $version does not contain a patch version"); }