diff --git a/core/modules/update/src/Form/UpdateManagerUpdate.php b/core/modules/update/src/Form/UpdateManagerUpdate.php
index 4fcb54954f4b43a785dd2b3cd158d4935f10c43a..fb5385c0260bcf1c446a573948442fdc0d3fee97 100644
--- a/core/modules/update/src/Form/UpdateManagerUpdate.php
+++ b/core/modules/update/src/Form/UpdateManagerUpdate.php
@@ -10,6 +10,7 @@
 use Drupal\Core\Url;
 use Drupal\update\UpdateFetcherInterface;
 use Drupal\update\UpdateManagerInterface;
+use Drupal\update\ModuleVersion;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -135,7 +136,8 @@ public function buildForm(array $form, FormStateInterface $form_state) {
 
       $recommended_release = $project['releases'][$project['recommended']];
       $recommended_version = '{{ release_version }} (<a href="{{ release_link }}" title="{{ project_title }}">{{ release_notes }}</a>)';
-      if ($recommended_release['version_major'] != $project['existing_major']) {
+      $recommended_version_parser = ModuleVersion::createFromVersionString($recommended_release['version']);
+      if ($recommended_version_parser->getMajorVersion() != $project['existing_major']) {
         $recommended_version .= '<div title="{{ major_update_warning_title }}" class="update-major-version-warning">{{ major_update_warning_text }}</div>';
       }
 
diff --git a/core/modules/update/src/ModuleVersion.php b/core/modules/update/src/ModuleVersion.php
new file mode 100644
index 0000000000000000000000000000000000000000..987674107f549f7c5cf33078ee8bc9ea62fe5314
--- /dev/null
+++ b/core/modules/update/src/ModuleVersion.php
@@ -0,0 +1,131 @@
+<?php
+
+namespace Drupal\update;
+
+/**
+ * Provides a module version value object.
+ *
+ * @internal
+ *
+ * @see https://www.drupal.org/drupalorg/docs/apis/update-status-xml.
+ */
+final class ModuleVersion {
+
+  /**
+   * The '8.x-' prefix is used on contrib module version numbers.
+   *
+   * @var string
+   */
+  const CORE_PREFIX = '8.x-';
+
+  /**
+   * The major version.
+   *
+   * @var string
+   */
+  protected $majorVersion;
+
+  /**
+   * The version extra string.
+   *
+   * For example, if the module version is '2.0.3-alpha1', then the version
+   * extra string is 'alpha1'.
+   *
+   * @var string|null
+   */
+  protected $versionExtra;
+
+  /**
+   * Constructs a module version object from a version string.
+   *
+   * @param string $version_string
+   *   The version string.
+   *
+   * @return \Drupal\update\ModuleVersion
+   *   The module version instance.
+   */
+  public static function createFromVersionString($version_string) {
+    $original_version = $version_string;
+    if (strpos($version_string, static::CORE_PREFIX) === 0 && $version_string !== '8.x-dev') {
+      $version_string = preg_replace('/8\.x-/', '', $version_string, 1);
+    }
+    else {
+      // Ensure the version string has no unsupported core prefixes.
+      $dot_x_position = strpos($version_string, '.x-');
+      if ($dot_x_position === 1 || $dot_x_position === 2) {
+        $after_core_prefix = explode('.x-', $version_string)[1];
+        if ($after_core_prefix !== 'dev') {
+          throw new \UnexpectedValueException("Unexpected version core prefix in $version_string. The only core prefix expected in \Drupal\update\ModuleVersion is: 8.x-");
+        }
+      }
+    }
+    $version_parts = explode('.', $version_string);
+    $major_version = $version_parts[0];
+    $version_parts_count = count($version_parts);
+    $last_part_split = explode('-', $version_parts[count($version_parts) - 1]);
+    $version_extra = count($last_part_split) === 1 ? NULL : $last_part_split[1];
+    if ($version_parts_count > 3 || $version_parts_count < 2
+       || !is_numeric($major_version)
+       || ($version_parts_count === 3 && !is_numeric($version_parts[1]))
+      // The only case where a non-numeric version part other the extra part is
+      // allowed is in development versions like 8.x-1.x-dev, 1.2.x-dev or
+      // 1.x-dev.
+       || (!is_numeric($last_part_split[0]) && $last_part_split !== 'x' && $version_extra !== 'dev')) {
+      throw new \UnexpectedValueException("Unexpected version number in: $original_version");
+    }
+    return new static($major_version, $version_extra);
+  }
+
+  /**
+   * Constructs a ModuleVersion object.
+   *
+   * @param string $major_version
+   *   The major version.
+   * @param string|null $version_extra
+   *   The extra version string.
+   */
+  private function __construct($major_version, $version_extra) {
+    $this->majorVersion = $major_version;
+    $this->versionExtra = $version_extra;
+  }
+
+  /**
+   * Constructs a module version object from a support branch.
+   *
+   * This can be used to determine the major version of the branch.
+   * ::getVersionExtra() will always return NULL for branches.
+   *
+   * @param string $branch
+   *   The support branch.
+   *
+   * @return \Drupal\update\ModuleVersion
+   *   The module version instance.
+   */
+  public static function createFromSupportBranch($branch) {
+    if (substr($branch, -1) !== '.') {
+      throw new \UnexpectedValueException("Invalid support branch: $branch");
+    }
+    return static::createFromVersionString($branch . '0');
+  }
+
+  /**
+   * Gets the major version.
+   *
+   * @return string
+   *   The major version.
+   */
+  public function getMajorVersion() {
+    return $this->majorVersion;
+  }
+
+  /**
+   * Gets the version extra string at the end of the version number.
+   *
+   * @return string|null
+   *   The version extra string if available, or otherwise NULL.
+   */
+  public function getVersionExtra() {
+    return $this->versionExtra;
+  }
+
+}
diff --git a/core/modules/update/src/UpdateFetcher.php b/core/modules/update/src/UpdateFetcher.php
index 2b03c9c1011b00c89fb185c7dad7d3a2c843dd3a..05cce763a67d38b4884e499c523a9be6a4cb02af 100644
--- a/core/modules/update/src/UpdateFetcher.php
+++ b/core/modules/update/src/UpdateFetcher.php
@@ -77,7 +77,7 @@ public function fetchProjectData(array $project, $site_key = '') {
   public function buildFetchUrl(array $project, $site_key = '') {
     $name = $project['name'];
     $url = $this->getFetchBaseUrl($project);
-    $url .= '/' . $name . '/' . \Drupal::CORE_COMPATIBILITY;
+    $url .= '/' . $name . '/current';
 
     // Only append usage information if we have a site key and the project is
     // enabled. We do not want to record usage statistics for disabled projects.
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.1_0.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.1_0.xml
index 82362fe84652daa772536aa3fcb9c424a0c5a712..ee842fa5e6e6231a12e373bc253116e94e4156dc 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.1_0.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.1_0.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,14 +14,10 @@
   <name>aaa_update_test 8.x-1.0</name>
   <version>8.x-1.0</version>
   <tag>DRUPAL-8--1-0</tag>
-  <version_major>1</version_major>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
   <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-alpha1.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-alpha1.xml
index 61776abbdf7412045b549f5c69b5d249399c9006..2d7d8c306b3d378c0e61f25a6ef61b3f1cb53379 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-alpha1.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-alpha1.xml
@@ -3,10 +3,7 @@
   <title>AAA Update test</title>
   <short_name>aaa_update_test</short_name>
   <dc:creator>Drupal</dc:creator>
-  <api_version>8.x</api_version>
-  <recommended_major>1</recommended_major>
-  <supported_majors>1</supported_majors>
-  <default_major>1</default_major>
+  <supported_branches>8.x-1.</supported_branches>
   <project_status>published</project_status>
   <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,15 +14,10 @@
       <name>aaa_update_test 8.x-1.1-alpha1</name>
       <version>8.x-1.1-alpha1</version>
       <tag>DRUPAL-8--1-1-alpha1</tag>
-      <version_major>1</version_major>
-      <version_patch>1</version_patch>
-      <version_extra>alpha1</version_extra>
       <status>published</status>
       <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
       <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
       <date>1250414521</date>
-      <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-      <filesize>1073761824</filesize>
       <terms>
         <term><name>Release type</name><value>New features</value></term>
         <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,14 +27,10 @@
       <name>aaa_update_test 8.x-1.0</name>
       <version>8.x-1.0</version>
       <tag>DRUPAL-8--1-0</tag>
-      <version_major>1</version_major>
-      <version_patch>0</version_patch>
       <status>published</status>
       <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
       <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
       <date>1073781824</date>
-      <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-      <filesize>1073741824</filesize>
       <terms>
         <term><name>Release type</name><value>New features</value></term>
         <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-beta1.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-beta1.xml
index 4cb6e450a56a707603afac757fdc32baf87b52d6..d1531406d96c62e5308c317d5a80bad64c827e5b 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-beta1.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.1_1-beta1.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,15 +14,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,15 +27,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -53,14 +40,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1073781824</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.1_1.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.1_1.xml
index 14e9e7c1699e071e070670f1a100c831782a3e44..97988435a1f2bcea5de46bffb28842a4164ce179 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.1_1.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.1_1.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,14 +14,10 @@
     <name>aaa_update_test 8.x-1.1</name>
     <version>8.x-1.1</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1.tar.gz</download_link>
     <date>1250424521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -34,15 +27,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -52,15 +40,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -70,14 +53,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1250404521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-alpha1.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-alpha1.xml
index f9541c8f5f4f37b6e13c83ee8875c32b17c81440..c503131514a0f75df3059258b3a7bde4d430acda 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-alpha1.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-alpha1.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,15 +14,10 @@
     <name>aaa_update_test 8.x-1.2-alpha1</name>
     <version>8.x-1.2-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-alpha1.tar.gz</download_link>
     <date>1250413521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,14 +27,10 @@
     <name>aaa_update_test 8.x-1.1</name>
     <version>8.x-1.1</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1.tar.gz</download_link>
     <date>1250424521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -52,15 +40,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -70,15 +53,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -88,14 +66,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1250404521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-beta1.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-beta1.xml
index e166b3af98339bf6857e0c73aad25f3c1a1fb457..1092e8ff5b1cc97497c653997be928f57c1c8e12 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-beta1.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.1_2-beta1.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,15 +14,10 @@
     <name>aaa_update_test 8.x-1.2-beta1</name>
     <version>8.x-1.2-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-beta1.tar.gz</download_link>
     <date>1250412521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,15 +27,10 @@
     <name>aaa_update_test 8.x-1.2-alpha1</name>
     <version>8.x-1.2-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-alpha1.tar.gz</download_link>
     <date>1250413521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -53,14 +40,10 @@
     <name>aaa_update_test 8.x-1.1</name>
     <version>8.x-1.1</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1.tar.gz</download_link>
     <date>1250424521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -70,15 +53,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -88,15 +66,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -106,14 +79,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1250404521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.1_2.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.1_2.xml
index d3d30934f744e4f49c02874c91a58bd29046d595..46fab5c66d4ca507436dd5fdb0143dd8aae7b042 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.1_2.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.1_2.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,14 +14,10 @@
     <name>aaa_update_test 8.x-1.2</name>
     <version>8.x-1.2</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2.tar.gz</download_link>
     <date>1250421521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -34,15 +27,10 @@
     <name>aaa_update_test 8.x-1.2-beta1</name>
     <version>8.x-1.2-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-beta1.tar.gz</download_link>
     <date>1250412521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -52,15 +40,10 @@
     <name>aaa_update_test 8.x-1.2-alpha1</name>
     <version>8.x-1.2-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-alpha1.tar.gz</download_link>
     <date>1250413521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -70,14 +53,10 @@
     <name>aaa_update_test 8.x-1.1</name>
     <version>8.x-1.1</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1.tar.gz</download_link>
     <date>1250424521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -87,15 +66,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -105,15 +79,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -123,14 +92,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1250404521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-alpha1.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-alpha1.xml
index 799abdbd3dd0a741004b29ace92c95aa6218bdd2..f96d3190881d3b5b323dc85d5beab11a1dcf02e1 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-alpha1.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-alpha1.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1,2</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.,8.x-2.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,15 +14,10 @@
     <name>aaa_update_test 8.x-2.0-alpha1</name>
     <version>8.x-2.0-alpha1</version>
     <tag>DRUPAL-8--2-0</tag>
-    <version_major>2</version_major>
-    <version_patch>0</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-2-0-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-2.0-alpha1.tar.gz</download_link>
     <date>1250422521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,14 +27,10 @@
     <name>aaa_update_test 8.x-1.2</name>
     <version>8.x-1.2</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2.tar.gz</download_link>
     <date>1250421521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -52,15 +40,10 @@
     <name>aaa_update_test 8.x-1.2-beta1</name>
     <version>8.x-1.2-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-beta1.tar.gz</download_link>
     <date>1250412521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -70,15 +53,10 @@
     <name>aaa_update_test 8.x-1.2-alpha1</name>
     <version>8.x-1.2-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-alpha1.tar.gz</download_link>
     <date>1250413521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -88,14 +66,10 @@
     <name>aaa_update_test 8.x-1.1</name>
     <version>8.x-1.1</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1.tar.gz</download_link>
     <date>1250424521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -105,15 +79,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -123,15 +92,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -141,14 +105,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1250404521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-beta1.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-beta1.xml
index e82a27f051df9a992d4cc99c3d4a8be9be29dc6d..de2e03e07b70c80b8ea071c28874fad7557772f2 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-beta1.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.2_0-beta1.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1,2</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.,8.x-2.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,15 +14,10 @@
     <name>aaa_update_test 8.x-2.0-beta1</name>
     <version>8.x-2.0-beta1</version>
     <tag>DRUPAL-8--2-0</tag>
-    <version_major>2</version_major>
-    <version_patch>0</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-2-0-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-2.0-beta1.tar.gz</download_link>
-    <date>1250422521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073782824</filesize>
+    <date>1250442521</date>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,15 +27,10 @@
     <name>aaa_update_test 8.x-2.0-alpha1</name>
     <version>8.x-2.0-alpha1</version>
     <tag>DRUPAL-8--2-0</tag>
-    <version_major>2</version_major>
-    <version_patch>0</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-2-0-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-2.0-alpha1.tar.gz</download_link>
     <date>1250422521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -53,14 +40,10 @@
     <name>aaa_update_test 8.x-1.2</name>
     <version>8.x-1.2</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2.tar.gz</download_link>
     <date>1250421521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -70,15 +53,10 @@
     <name>aaa_update_test 8.x-1.2-beta1</name>
     <version>8.x-1.2-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-beta1.tar.gz</download_link>
     <date>1250412521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -88,15 +66,10 @@
     <name>aaa_update_test 8.x-1.2-alpha1</name>
     <version>8.x-1.2-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-alpha1.tar.gz</download_link>
     <date>1250413521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -106,14 +79,10 @@
     <name>aaa_update_test 8.x-1.1</name>
     <version>8.x-1.1</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1.tar.gz</download_link>
     <date>1250424521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -123,15 +92,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -141,15 +105,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -159,14 +118,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1250404521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.2_0.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.2_0.xml
index 240f0db4fb381450caaa84e188939e29d982ccfb..d4ba2c4f89586e48b0c97c76989b4f359c99a007 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.2_0.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.2_0.xml
@@ -3,10 +3,7 @@
 <title>AAA Update test</title>
 <short_name>aaa_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1,2</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.,8.x-2.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/aaa_update_test</link>
   <terms>
@@ -17,14 +14,10 @@
     <name>aaa_update_test 8.x-2.0</name>
     <version>8.x-2.0</version>
     <tag>DRUPAL-8--2-0</tag>
-    <version_major>2</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-2-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-2.0.tar.gz</download_link>
     <date>1250422521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -34,15 +27,10 @@
     <name>aaa_update_test 8.x-2.0-beta1</name>
     <version>8.x-2.0-beta1</version>
     <tag>DRUPAL-8--2-0</tag>
-    <version_major>2</version_major>
-    <version_patch>0</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-2-0-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-2.0-beta1.tar.gz</download_link>
     <date>1250422521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073782824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -52,15 +40,10 @@
     <name>aaa_update_test 8.x-2.0-alpha1</name>
     <version>8.x-2.0-alpha1</version>
     <tag>DRUPAL-8--2-0</tag>
-    <version_major>2</version_major>
-    <version_patch>0</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-2-0-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-2.0-alpha1.tar.gz</download_link>
     <date>1250422521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -70,14 +53,10 @@
     <name>aaa_update_test 8.x-1.2</name>
     <version>8.x-1.2</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2.tar.gz</download_link>
     <date>1250421521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -87,15 +66,10 @@
     <name>aaa_update_test 8.x-1.2-beta1</name>
     <version>8.x-1.2-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-beta1.tar.gz</download_link>
     <date>1250412521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -105,15 +79,10 @@
     <name>aaa_update_test 8.x-1.2-alpha1</name>
     <version>8.x-1.2-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>2</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-2-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.2-alpha1.tar.gz</download_link>
     <date>1250413521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -123,14 +92,10 @@
     <name>aaa_update_test 8.x-1.1</name>
     <version>8.x-1.1</version>
     <tag>DRUPAL-8--1-1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1.tar.gz</download_link>
     <date>1250424521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073751824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -140,15 +105,10 @@
     <name>aaa_update_test 8.x-1.1-beta1</name>
     <version>8.x-1.1-beta1</version>
     <tag>DRUPAL-8--1-1-beta1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>beta1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-beta1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-beta1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073741824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -158,15 +118,10 @@
     <name>aaa_update_test 8.x-1.1-alpha1</name>
     <version>8.x-1.1-alpha1</version>
     <tag>DRUPAL-8--1-1-alpha1</tag>
-    <version_major>1</version_major>
-    <version_patch>1</version_patch>
-    <version_extra>alpha1</version_extra>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-1-alpha1-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.1-alpha1.tar.gz</download_link>
     <date>1250414521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073761824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
@@ -176,14 +131,10 @@
     <name>aaa_update_test 8.x-1.0</name>
     <version>8.x-1.0</version>
     <tag>DRUPAL-8--1-0</tag>
-    <version_major>1</version_major>
-    <version_patch>0</version_patch>
     <status>published</status>
     <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
     <download_link>http://example.com/aaa_update_test-8.x-1.0.tar.gz</download_link>
     <date>1250404521</date>
-    <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-    <filesize>1073781824</filesize>
     <terms>
       <term><name>Release type</name><value>New features</value></term>
       <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.1_8.x-1.2.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.1_8.x-1.2.xml
index 560c82bf05b5bfdc72bbce5619645833aba5adbb..21e1642f22ab67ba9cf2236f5e8145bec8033ab5 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.1_8.x-1.2.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.1_8.x-1.2.xml
@@ -3,10 +3,7 @@
  <title>AAA Update test</title>
  <short_name>aaa_update_test</short_name>
  <dc:creator>Drupal</dc:creator>
- <api_version>8.x</api_version>
- <recommended_major>1</recommended_major>
- <supported_majors>1</supported_majors>
- <default_major>1</default_major>
+ <supported_branches>8.x-1.</supported_branches>
  <project_status>published</project_status>
  <link>http://example.com/project/aaa_update_test</link>
  <terms>
@@ -17,14 +14,10 @@
    <name>aaa_update_test 8.x-1.2</name>
    <version>8.x-1.2</version>
    <tag>DRUPAL-8--1-2</tag>
-   <version_major>1</version_major>
-   <version_patch>2</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-2.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,14 +28,10 @@
    <name>aaa_update_test 8.x-1.1</name>
    <version>8.x-1.1</version>
    <tag>DRUPAL-8--1-1</tag>
-   <version_major>1</version_major>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,14 +43,10 @@
    <name>aaa_update_test 8.x-1.0</name>
    <version>8.x-1.0</version>
    <tag>DRUPAL-8--1-0</tag>
-   <version_major>1</version_major>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2.xml
index 0ebb766dd2f6e3d818f77cedf9f29e4e4d3fe56e..78060f3dbab28b2783f374211dde61d0617f984d 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2.xml
@@ -3,10 +3,7 @@
  <title>AAA Update test</title>
  <short_name>aaa_update_test</short_name>
  <dc:creator>Drupal</dc:creator>
- <api_version>8.x</api_version>
- <recommended_major>1</recommended_major>
- <supported_majors>1</supported_majors>
- <default_major>1</default_major>
+ <supported_branches>8.x-1.</supported_branches>
  <project_status>published</project_status>
  <link>http://example.com/project/aaa_update_test</link>
  <terms>
@@ -17,14 +14,10 @@
    <name>aaa_update_test 8.x-1.2</name>
    <version>8.x-1.2</version>
    <tag>DRUPAL-8--1-2</tag>
-   <version_major>1</version_major>
-   <version_patch>2</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-2.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,14 +28,10 @@
    <name>aaa_update_test 8.x-1.1</name>
    <version>8.x-1.1</version>
    <tag>DRUPAL-8--1-1</tag>
-   <version_major>1</version_major>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -53,14 +42,10 @@
    <name>aaa_update_test 8.x-1.0</name>
    <version>8.x-1.0</version>
    <tag>DRUPAL-8--1-0</tag>
-   <version_major>1</version_major>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2_8.x-2.2.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2_8.x-2.2.xml
index 4910382823e35e360a6c4aad6a3bc4b117077662..038e55e45506782be1fded2fde0cd123f7fb4b82 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2_8.x-2.2.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-1.2_8.x-2.2.xml
@@ -3,10 +3,7 @@
  <title>AAA Update test</title>
  <short_name>aaa_update_test</short_name>
  <dc:creator>Drupal</dc:creator>
- <api_version>8.x</api_version>
- <recommended_major>2</recommended_major>
- <supported_majors>1,2</supported_majors>
- <default_major>2</default_major>
+ <supported_branches>8.x-1.,8.x-2.</supported_branches>
  <project_status>published</project_status>
  <link>http://example.com/project/aaa_update_test</link>
  <terms>
@@ -17,15 +14,10 @@
    <name>aaa_update_test 8.x-3.0-beta2</name>
    <version>8.x-3.0-beta2</version>
    <tag>8.x-3.0-beta2</tag>
-   <version_major>3</version_major>
-   <version_patch>0</version_patch>
-   <version_extra>beta2</version_extra>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-3-0-beta2-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-3-0-beta2.tar.gz</download_link>
    <date>1533298080</date>
-   <mdhash>2387284145e34a19fc45e03c258a2831</mdhash>
-   <filesize>16209911</filesize>
    <terms>
     <term><name>Release type</name><value>Bug fixes</value></term>
     <term><name>Release type</name><value>New features</value></term>
@@ -38,16 +30,11 @@
    <name>aaa_update_test 8.x-3.0-beta1</name>
    <version>8.x-3.0-beta1</version>
    <tag>8.x-3.0-beta1</tag>
-   <version_major>3</version_major>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <core_compatibility>^8.1.1</core_compatibility>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-3-0-beta1</release_link>
    <download_link>http://example.com/aaa_update_test--8-x-3-0-beta1.tar.gz</download_link>
    <date>1533270485</date>
-   <mdhash>3d70ae568dd8f7100082b8c58bc8d1fe</mdhash>
-   <filesize>16209123</filesize>
    <terms>
     <term><name>Release type</name><value>Insecure</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -61,15 +48,11 @@
    <name>aaa_update_test 8.x-2.2</name>
    <version>8.x-2.2</version>
    <tag>DRUPAL-8--2-2</tag>
-   <version_major>2</version_major>
-   <version_patch>2</version_patch>
    <core_compatibility>^8.1.1</core_compatibility>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-2-2-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-2-2.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -80,14 +63,10 @@
    <name>aaa_update_test 8.x-2.1</name>
    <version>8.x-2.1</version>
    <tag>DRUPAL-8--2-1</tag>
-   <version_major>2</version_major>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-2-1-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-2-1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -99,14 +78,10 @@
    <name>aaa_update_test 8.x-2.0</name>
    <version>8.x-2.0</version>
    <tag>DRUPAL-8--2-0</tag>
-   <version_major>2</version_major>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-2-0-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-2-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -117,15 +92,11 @@
    <name>aaa_update_test 8.x-1.2</name>
    <version>8.x-1.2</version>
    <tag>DRUPAL-8--1-2</tag>
-   <version_major>1</version_major>
-   <version_patch>2</version_patch>
    <core_compatibility>^8.1.0</core_compatibility>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-2.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -136,14 +107,10 @@
    <name>aaa_update_test 8.x-1.1</name>
    <version>8.x-1.1</version>
    <tag>DRUPAL-8--1-1</tag>
-   <version_major>1</version_major>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -154,14 +121,10 @@
    <name>aaa_update_test 8.x-1.0</name>
    <version>8.x-1.0</version>
    <tag>DRUPAL-8--1-0</tag>
-   <version_major>1</version_major>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-2.2_1.x_secure.xml b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-2.2_1.x_secure.xml
index a42b58d5c540512b854f9992070474155d3c6fbc..a696eacc50bafd72878d13a971738532c488d19f 100644
--- a/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-2.2_1.x_secure.xml
+++ b/core/modules/update/tests/modules/update_test/aaa_update_test.sec.8.x-2.2_1.x_secure.xml
@@ -3,10 +3,7 @@
  <title>AAA Update test</title>
  <short_name>aaa_update_test</short_name>
  <dc:creator>Drupal</dc:creator>
- <api_version>8.x</api_version>
- <recommended_major>2</recommended_major>
- <supported_majors>1,2</supported_majors>
- <default_major>2</default_major>
+ <supported_branches>8.x-1.,8.x-2.</supported_branches>
  <project_status>published</project_status>
  <link>http://example.com/project/aaa_update_test</link>
  <terms>
@@ -17,14 +14,10 @@
    <name>aaa_update_test 8.x-2.2</name>
    <version>8.x-2.2</version>
    <tag>DRUPAL-8--2-2</tag>
-   <version_major>2</version_major>
-   <version_patch>2</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-2-2-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-2-2.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,14 +28,10 @@
    <name>aaa_update_test 8.x-2.1</name>
    <version>8.x-2.1</version>
    <tag>DRUPAL-8--2-1</tag>
-   <version_major>2</version_major>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-2-1-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-2-1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,14 +43,10 @@
    <name>aaa_update_test 8.x-2.0</name>
    <version>8.x-2.0</version>
    <tag>DRUPAL-8--2-0</tag>
-   <version_major>2</version_major>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-2-0-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-2-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -72,14 +57,10 @@
    <name>aaa_update_test 8.x-1.2</name>
    <version>8.x-1.2</version>
    <tag>DRUPAL-8--1-2</tag>
-   <version_major>1</version_major>
-   <version_patch>2</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-2-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-2.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -89,14 +70,10 @@
    <name>aaa_update_test 8.x-1.1</name>
    <version>8.x-1.1</version>
    <tag>DRUPAL-8--1-1</tag>
-   <version_major>1</version_major>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-1-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
@@ -106,15 +83,11 @@
    <name>aaa_update_test 8.x-1.0</name>
    <version>8.x-1.0</version>
    <tag>DRUPAL-8--1-0</tag>
-   <version_major>1</version_major>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/aaa_update_test-8-x-1-0-release</release_link>
    <download_link>http://example.com/aaa_update_test-8-x-1-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
-   <terms>
+  <terms>
     <term><name>Release type</name><value>New features</value></term>
     <term><name>Release type</name><value>Bug fixes</value></term>
    </terms>
diff --git a/core/modules/update/tests/modules/update_test/bbb_update_test.1_0.xml b/core/modules/update/tests/modules/update_test/bbb_update_test.1_0.xml
index 8d705b5f9697cd7a170bfff79b65c4281798df16..43ebaf14ced023272df047a19b055c43d909417c 100644
--- a/core/modules/update/tests/modules/update_test/bbb_update_test.1_0.xml
+++ b/core/modules/update/tests/modules/update_test/bbb_update_test.1_0.xml
@@ -3,10 +3,7 @@
 <title>BBB Update test</title>
 <short_name>bbb_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/bbb_update_test</link>
   <terms>
@@ -17,14 +14,10 @@
   <name>bbb_update_test 8.x-1.0</name>
   <version>8.x-1.0</version>
   <tag>DRUPAL-7--1-0</tag>
-  <version_major>1</version_major>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/bbb_update_test-7-x-1-0-release</release_link>
   <download_link>http://example.com/bbb_update_test-8.x-1.0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/ccc_update_test.1_0.xml b/core/modules/update/tests/modules/update_test/ccc_update_test.1_0.xml
index 82764c2c33d58f3576ace4a672bf4d1eb12db704..3076229a4bb193eb3439e9fa79df56c33d32c27b 100644
--- a/core/modules/update/tests/modules/update_test/ccc_update_test.1_0.xml
+++ b/core/modules/update/tests/modules/update_test/ccc_update_test.1_0.xml
@@ -3,10 +3,7 @@
 <title>CCC Update test</title>
 <short_name>ccc_update_test</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/ccc_update_test</link>
   <terms>
@@ -17,14 +14,10 @@
   <name>ccc_update_test 8.x-1.0</name>
   <version>8.x-1.0</version>
   <tag>DRUPAL-7--1-0</tag>
-  <version_major>1</version_major>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/ccc_update_test-7-x-1-0-release</release_link>
   <download_link>http://example.com/ccc_update_test-8.x-1.0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.0.0-alpha1.xml b/core/modules/update/tests/modules/update_test/drupal.0.0-alpha1.xml
index e463b72e3da638fb7f8c981cdfcc66e2b1e0e9d9..3203ef70d5a6bfc67c4e90ed3a66a33c283477e2 100644
--- a/core/modules/update/tests/modules/update_test/drupal.0.0-alpha1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.0.0-alpha1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.0.0-beta1.xml b/core/modules/update/tests/modules/update_test/drupal.0.0-beta1.xml
index b3dc3bf2aaad6ebd002df6317a99d6aec9f8fd5d..9f36b068a3a8625842eb82281a8ee7bef1ba4a89 100644
--- a/core/modules/update/tests/modules/update_test/drupal.0.0-beta1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.0.0-beta1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,16 +27,10 @@
   <name>Drupal 8.0.0-alpha1</name>
   <version>8.0.0-alpha1</version>
   <tag>DRUPAL-8-0-0-alpha1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>alpha1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
   <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.0.0.xml b/core/modules/update/tests/modules/update_test/drupal.0.0.xml
index ac450660d53834db25bb784b29c98b40f071149b..391ad92457ff299d84418ccfad0775d94edb45fe 100644
--- a/core/modules/update/tests/modules/update_test/drupal.0.0.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.0.0.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,16 +27,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,16 +40,10 @@
   <name>Drupal 8.0.0-alpha1</name>
   <version>8.0.0-alpha1</version>
   <tag>DRUPAL-8-0-0-alpha1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>alpha1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
   <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.0.1-alpha1.xml b/core/modules/update/tests/modules/update_test/drupal.0.1-alpha1.xml
index 150136c67d6ea67bba780245365d63b15653042b..d3345e3561284556b5f776a7232443af50708e86 100644
--- a/core/modules/update/tests/modules/update_test/drupal.0.1-alpha1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.0.1-alpha1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,15 +27,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,16 +40,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,16 +53,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.0.1-beta1.xml b/core/modules/update/tests/modules/update_test/drupal.0.1-beta1.xml
index 25c9f7023eb5b44ad2ab6a097e81bdab9fa95405..1b30ee5ec75e5db4469ece0a1c483271e9f12535 100644
--- a/core/modules/update/tests/modules/update_test/drupal.0.1-beta1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.0.1-beta1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,16 +27,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -55,15 +40,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,16 +53,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -92,16 +66,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.0.1.xml b/core/modules/update/tests/modules/update_test/drupal.0.1.xml
index ea00c15c9013817e447a5230658417746dcd006b..49ad1fc075d64264732bccfcf38343724648a1a2 100644
--- a/core/modules/update/tests/modules/update_test/drupal.0.1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.0.1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
    <name>Drupal 8.0.1</name>
    <version>8.0.1</version>
    <tag>DRUPAL-8-0-1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,16 +27,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,16 +40,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,15 +53,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -91,16 +66,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -110,16 +79,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.1.0-alpha1.xml b/core/modules/update/tests/modules/update_test/drupal.1.0-alpha1.xml
index fe734a844b3244bad9c74570fa2ec387fb3d27d8..f21733b7bba32f565fca0c1207ad134bde9f2fbc 100644
--- a/core/modules/update/tests/modules/update_test/drupal.1.0-alpha1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.1.0-alpha1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.1.0-alpha1</name>
    <version>8.1.0-alpha1</version>
    <tag>DRUPAL-8-1-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,15 +27,10 @@
    <name>Drupal 8.0.1</name>
    <version>8.0.1</version>
    <tag>DRUPAL-8-0-1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,16 +40,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,16 +53,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -92,15 +66,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -110,16 +79,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -129,16 +92,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.1.0-beta1.xml b/core/modules/update/tests/modules/update_test/drupal.1.0-beta1.xml
index fa65c5e92e158834fdad31d8597682c830035fbd..40588dd870e1d6c3e97b3e393a917f1c48ae5093 100644
--- a/core/modules/update/tests/modules/update_test/drupal.1.0-beta1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.1.0-beta1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.1.0-beta1</name>
    <version>8.1.0-beta1</version>
    <tag>DRUPAL-8-1-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-beta1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,16 +27,10 @@
    <name>Drupal 8.1.0-alpha1</name>
    <version>8.1.0-alpha1</version>
    <tag>DRUPAL-8-1-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -55,15 +40,10 @@
    <name>Drupal 8.0.1</name>
    <version>8.0.1</version>
    <tag>DRUPAL-8-0-1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,16 +53,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -92,16 +66,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -111,15 +79,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -129,16 +92,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -148,16 +105,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.1.0.xml b/core/modules/update/tests/modules/update_test/drupal.1.0.xml
index 0e6a40c72cdd4763dbd9566dd8723d79ba48d8b3..bba5cb97e16aee36f7b1304220c9e0097113e457 100644
--- a/core/modules/update/tests/modules/update_test/drupal.1.0.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.1.0.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
    <name>Drupal 8.1.0</name>
    <version>8.1.0</version>
    <tag>DRUPAL-8-1-0</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-release</release_link>
    <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,16 +27,10 @@
    <name>Drupal 8.1.0-beta1</name>
    <version>8.1.0-beta1</version>
    <tag>DRUPAL-8-1-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-beta1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,16 +40,10 @@
    <name>Drupal 8.1.0-alpha1</name>
    <version>8.1.0-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,15 +53,10 @@
    <name>Drupal 8.0.1</name>
    <version>8.0.1</version>
    <tag>DRUPAL-8-0-1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -91,16 +66,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -110,16 +79,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -129,15 +92,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -147,16 +105,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -166,16 +118,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.1.1-alpha1.xml b/core/modules/update/tests/modules/update_test/drupal.1.1-alpha1.xml
index 0356c8d978920fbe23a30b85a7a09db9c87dcb42..63d64ad4e22a2f9a10d30ecb22f4161f993acd7a 100644
--- a/core/modules/update/tests/modules/update_test/drupal.1.1-alpha1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.1.1-alpha1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.1.1-alpha1</name>
    <version>8.1.1-alpha1</version>
    <tag>DRUPAL-8-1-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-1-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,15 +27,10 @@
    <name>Drupal 8.1.0</name>
    <version>8.1.0</version>
    <tag>DRUPAL-8-1-0</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-release</release_link>
    <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,16 +40,10 @@
    <name>Drupal 8.1.0-beta1</name>
    <version>8.1.0-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-beta1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,16 +53,10 @@
    <name>Drupal 8.1.0-alpha1</name>
    <version>8.1.0-alpha1</version>
    <tag>DRUPAL-8-1-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -92,15 +66,10 @@
    <name>Drupal 8.0.1</name>
    <version>8.0.1</version>
    <tag>DRUPAL-8-0-1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -110,16 +79,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -129,16 +92,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -148,15 +105,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -166,16 +118,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -185,16 +131,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.1.1-beta1.xml b/core/modules/update/tests/modules/update_test/drupal.1.1-beta1.xml
index abeef7ea4162cea7c231fdb6f3c61318e572cd0a..0122c4f3256a2719608d8e469cc108a88538c563 100644
--- a/core/modules/update/tests/modules/update_test/drupal.1.1-beta1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.1.1-beta1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
    <name>Drupal 8.1.1-beta1</name>
    <version>8.1.1-beta1</version>
    <tag>DRUPAL-8-1-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-1-1-beta1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,16 +27,10 @@
    <name>Drupal 8.1.1-alpha1</name>
    <version>8.1.1-alpha1</version>
    <tag>DRUPAL-8-1-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-1-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -55,15 +40,10 @@
    <name>Drupal 8.1.0</name>
    <version>8.1.0</version>
    <tag>DRUPAL-8-1-0</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-release</release_link>
    <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,16 +53,10 @@
    <name>Drupal 8.1.0-beta1</name>
    <version>8.1.0-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-beta1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -92,16 +66,10 @@
    <name>Drupal 8.1.0-alpha1</name>
    <version>8.1.0-alpha1</version>
    <tag>DRUPAL-8-1-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -111,15 +79,10 @@
    <name>Drupal 8.0.1</name>
    <version>8.0.1</version>
    <tag>DRUPAL-8-0-1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -129,16 +92,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -148,16 +105,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -167,15 +118,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -185,16 +131,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -204,16 +144,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.1.1.xml b/core/modules/update/tests/modules/update_test/drupal.1.1.xml
index a588bdc466a453d888cabf9630f0237d01cec526..e295cb61528fac6c36d88ab2d71e2bf3b9dbb61e 100644
--- a/core/modules/update/tests/modules/update_test/drupal.1.1.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.1.1.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
    <name>Drupal 8.1.1</name>
    <version>8.1.1</version>
    <tag>DRUPAL-8-1-1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-1-release</release_link>
    <download_link>http://example.com/drupal-8-1-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,16 +27,10 @@
    <name>Drupal 8.1.1-beta1</name>
    <version>8.1.1-beta1</version>
    <tag>DRUPAL-8-1-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-1-1-beta1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -54,16 +40,10 @@
    <name>Drupal 8.1.1-alpha1</name>
    <version>8.1.1-alpha1</version>
    <tag>DRUPAL-8-1-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-1-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -73,15 +53,10 @@
    <name>Drupal 8.1.0</name>
    <version>8.1.0</version>
    <tag>DRUPAL-8-1-0</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-release</release_link>
    <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -91,16 +66,10 @@
    <name>Drupal 8.1.0-beta1</name>
    <version>8.1.0-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-beta1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -110,16 +79,10 @@
    <name>Drupal 8.1.0-alpha1</name>
    <version>8.1.0-alpha1</version>
    <tag>DRUPAL-8-1-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>1</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -129,15 +92,10 @@
    <name>Drupal 8.0.1</name>
    <version>8.0.1</version>
    <tag>DRUPAL-8-0-1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
    <date>1250424581</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>2147483648</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -147,16 +105,10 @@
    <name>Drupal 8.0.1-beta1</name>
    <version>8.0.1-beta1</version>
    <tag>DRUPAL-8-0-1-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -166,16 +118,10 @@
    <name>Drupal 8.0.1-alpha1</name>
    <version>8.0.1-alpha1</version>
    <tag>DRUPAL-8-0-1-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>1</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -185,15 +131,10 @@
    <name>Drupal 8.0.0</name>
    <version>8.0.0</version>
    <tag>DRUPAL-8-0-0</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-release</release_link>
    <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -203,16 +144,10 @@
    <name>Drupal 8.0.0-beta1</name>
    <version>8.0.0-beta1</version>
    <tag>DRUPAL-8-0-0-beta1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>beta1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
@@ -222,16 +157,10 @@
    <name>Drupal 8.0.0-alpha1</name>
    <version>8.0.0-alpha1</version>
    <tag>DRUPAL-8-0-0-alpha1</tag>
-   <version_major>8</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
-   <version_extra>alpha1</version_extra>
    <status>published</status>
    <release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
    <download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.9.xml b/core/modules/update/tests/modules/update_test/drupal.9.xml
index c17b426a7502a9aeae66ca6b4e02cf51141c696c..e5fd89e84f872c8e21923b0e6ef18c56ca5e4a1b 100644
--- a/core/modules/update/tests/modules/update_test/drupal.9.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.9.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>9.x</api_version>
-<recommended_major>9</recommended_major>
-<supported_majors>9</supported_majors>
-<default_major>9</default_major>
+<supported_branches>9.0.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
    <name>Drupal 9.0.0</name>
    <version>9.0.0</version>
    <tag>DRUPAL-9-0-0</tag>
-   <version_major>9</version_major>
-   <version_minor>0</version_minor>
-   <version_patch>0</version_patch>
    <status>published</status>
    <release_link>http://example.com/drupal-9-0-0-release</release_link>
    <download_link>http://example.com/drupal-9-0-0.tar.gz</download_link>
    <date>1250424521</date>
-   <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-   <filesize>1073741824</filesize>
    <terms>
      <term><name>Release type</name><value>New features</value></term>
      <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.dev.xml b/core/modules/update/tests/modules/update_test/drupal.dev.xml
index 4ab26bd2db6e91f25798e203fa2b6f17a0c61823..55a5c66c7acfa51045f7145e69fec0cdcb613a83 100644
--- a/core/modules/update/tests/modules/update_test/drupal.dev.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.dev.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
   <name>Drupal 8.0.0</name>
   <version>8.0.0</version>
   <tag>DRUPAL-8-0-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-release</release_link>
   <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -35,15 +27,10 @@
   <name>Drupal 8.0.x-dev</name>
   <version>8.0.x-dev</version>
   <tag>DRUPAL-8-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_extra>dev</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-x-dev-release</release_link>
   <download_link>http://example.com/drupal-8.0.x-dev.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
   </terms>
diff --git a/core/modules/update/tests/modules/update_test/drupal.sec.0.1_0.2.xml b/core/modules/update/tests/modules/update_test/drupal.sec.0.1_0.2.xml
index ba954ae42792ce7a074b10f0299ae12dcf420419..17a9b06f76b78869648632f4403178ef818abdec 100644
--- a/core/modules/update/tests/modules/update_test/drupal.sec.0.1_0.2.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.sec.0.1_0.2.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
   <name>Drupal 8.0.2</name>
   <version>8.0.2</version>
   <tag>DRUPAL-8-0-2</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-2-release</release_link>
   <download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,15 +28,10 @@
   <name>Drupal 8.0.1</name>
   <version>8.0.1</version>
   <tag>DRUPAL-8-0-1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-1-release</release_link>
   <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -56,15 +43,10 @@
   <name>Drupal 8.0.0</name>
   <version>8.0.0</version>
   <tag>DRUPAL-8-0-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-release</release_link>
   <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2-b.xml b/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2-b.xml
index a971ca73ebe29669655061f2bb503524e90b2f2b..e3e8f6ab72b9d81e9f9b5c673d35aff270bc5cf6 100644
--- a/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2-b.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2-b.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.,8.2.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
   <name>drupal 8.2.0-rc2</name>
   <version>8.2.0-rc2</version>
   <tag>8.2.0-rc2</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>rc2</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-rc2-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-rc2.tar.gz</download_link>
   <date>1533298080</date>
-  <mdhash>2387284145e34a19fc45e03c258a2831</mdhash>
-  <filesize>16209911</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -39,16 +30,10 @@
   <name>drupal 8.2.0-rc1</name>
   <version>8.2.0-rc1</version>
   <tag>8.2.0-rc1</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>rc1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-rc1-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-rc1.tar.gz</download_link>
   <date>1533270485</date>
-  <mdhash>3d70ae568dd8f7100082b8c58bc8d1fe</mdhash>
-  <filesize>16209123</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -61,16 +46,10 @@
   <name>drupal 8.2.0-beta2</name>
   <version>8.2.0-beta2</version>
   <tag>8.2.0-beta2</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>beta2</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-beta2-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-beta2.tar.gz</download_link>
   <date>1533298080</date>
-  <mdhash>2387284145e34a19fc45e03c258a2831</mdhash>
-  <filesize>16209911</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -83,16 +62,10 @@
   <name>drupal 8.2.0-beta1</name>
   <version>8.2.0-beta1</version>
   <tag>8.2.0-beta1</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>beta1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-beta1-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-beta1.tar.gz</download_link>
   <date>1533270485</date>
-  <mdhash>3d70ae568dd8f7100082b8c58bc8d1fe</mdhash>
-  <filesize>16209123</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -105,16 +78,10 @@
   <name>drupal 8.2.0-alpha2</name>
   <version>8.2.0-alpha2</version>
   <tag>8.2.0-alpha2</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>alpha2</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-alpha2-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-alpha2.tar.gz</download_link>
   <date>1533298080</date>
-  <mdhash>2387284145e34a19fc45e03c258a2831</mdhash>
-  <filesize>16209911</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -127,16 +94,10 @@
   <name>drupal 8.2.0-alpha1</name>
   <version>8.2.0-alpha1</version>
   <tag>8.2.0-alpha1</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>alpha1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8.2.0-alpha1</release_link>
   <download_link>http://example.com/drupal-8-2-0-alpha1.tar.gz</download_link>
   <date>1533270485</date>
-  <mdhash>3d70ae568dd8f7100082b8c58bc8d1fe</mdhash>
-  <filesize>16209123</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -149,15 +110,10 @@
   <name>Drupal 8.1.2</name>
   <version>8.1.2</version>
   <tag>DRUPAL-8-1-2</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-2-release</release_link>
   <download_link>http://example.com/drupal-8-1-2.tar.gz</download_link>
   <date>1250424526</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -168,15 +124,10 @@
   <name>Drupal 8.1.1</name>
   <version>8.1.1</version>
   <tag>DRUPAL-8-1-1</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-1-release</release_link>
   <download_link>http://example.com/drupal-8-1-1.tar.gz</download_link>
   <date>1250424525</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -187,15 +138,10 @@
   <name>Drupal 8.1.0</name>
   <version>8.1.0</version>
   <tag>DRUPAL-8-1-0</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-0-release</release_link>
   <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
   <date>1250424524</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -206,15 +152,10 @@
   <name>Drupal 8.0.2</name>
   <version>8.0.2</version>
   <tag>DRUPAL-8-0-2</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-2-release</release_link>
   <download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
   <date>1250424523</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -225,15 +166,10 @@
   <name>Drupal 8.0.1</name>
   <version>8.0.1</version>
   <tag>DRUPAL-8-0-1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-1-release</release_link>
   <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
   <date>1250424522</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -244,15 +180,10 @@
   <name>Drupal 8.0.0</name>
   <version>8.0.0</version>
   <tag>DRUPAL-8-0-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-release</release_link>
   <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2.xml b/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2.xml
index bc422deb6f29d81fec479b25fa921effa8e19e24..dd723e98485812e113ef69b3c1a6c172d0366b87 100644
--- a/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.sec.0.2-rc2.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.,8.2.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,16 +14,10 @@
   <name>drupal 8.2.0-rc2</name>
   <version>8.2.0-rc2</version>
   <tag>8.2.0-rc2</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>rc2</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-rc2-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-rc2.tar.gz</download_link>
   <date>1533298080</date>
-  <mdhash>2387284145e34a19fc45e03c258a2831</mdhash>
-  <filesize>16209911</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -40,16 +31,10 @@
   <name>drupal 8.2.0-rc1</name>
   <version>8.2.0-rc1</version>
   <tag>8.2.0-rc1</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>rc1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-rc1-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-rc1.tar.gz</download_link>
   <date>1533270485</date>
-  <mdhash>3d70ae568dd8f7100082b8c58bc8d1fe</mdhash>
-  <filesize>16209123</filesize>
   <terms>
    <term><name>Release type</name><value>Insecure</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -63,16 +48,10 @@
   <name>drupal 8.2.0-beta2</name>
   <version>8.2.0-beta2</version>
   <tag>8.2.0-beta2</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>beta2</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-beta2-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-beta2.tar.gz</download_link>
   <date>1533298080</date>
-  <mdhash>2387284145e34a19fc45e03c258a2831</mdhash>
-  <filesize>16209911</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -86,16 +65,10 @@
   <name>drupal 8.2.0-beta1</name>
   <version>8.2.0-beta1</version>
   <tag>8.2.0-beta1</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>beta1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-beta1-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-beta1.tar.gz</download_link>
   <date>1533270485</date>
-  <mdhash>3d70ae568dd8f7100082b8c58bc8d1fe</mdhash>
-  <filesize>16209123</filesize>
   <terms>
    <term><name>Release type</name><value>Insecure</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -109,16 +82,10 @@
   <name>drupal 8.2.0-alpha2</name>
   <version>8.2.0-alpha2</version>
   <tag>8.2.0-alpha2</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>alpha2</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8-2-0-alpha2-release</release_link>
   <download_link>http://example.com/drupal-8-2-0-alpha2.tar.gz</download_link>
   <date>1533298080</date>
-  <mdhash>2387284145e34a19fc45e03c258a2831</mdhash>
-  <filesize>16209911</filesize>
   <terms>
    <term><name>Release type</name><value>Bug fixes</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -132,16 +99,10 @@
   <name>drupal 8.2.0-alpha1</name>
   <version>8.2.0-alpha1</version>
   <tag>8.2.0-alpha1</tag>
-  <version_major>8</version_major>
-  <version_minor>2</version_minor>
-  <version_patch>0</version_patch>
-  <version_extra>alpha1</version_extra>
   <status>published</status>
   <release_link>http://example.com/drupal-8.2.0-alpha1</release_link>
   <download_link>http://example.com/drupal-8-2-0-alpha1.tar.gz</download_link>
   <date>1533270485</date>
-  <mdhash>3d70ae568dd8f7100082b8c58bc8d1fe</mdhash>
-  <filesize>16209123</filesize>
   <terms>
    <term><name>Release type</name><value>Insecure</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -155,15 +116,10 @@
   <name>Drupal 8.1.2</name>
   <version>8.1.2</version>
   <tag>DRUPAL-8-1-2</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-2-release</release_link>
   <download_link>http://example.com/drupal-8-1-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -174,15 +130,10 @@
   <name>Drupal 8.1.1</name>
   <version>8.1.1</version>
   <tag>DRUPAL-8-1-1</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-1-release</release_link>
   <download_link>http://example.com/drupal-8-1-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -193,15 +144,10 @@
   <name>Drupal 8.1.0</name>
   <version>8.1.0</version>
   <tag>DRUPAL-8-1-0</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-0-release</release_link>
   <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -212,15 +158,10 @@
   <name>Drupal 8.0.2</name>
   <version>8.0.2</version>
   <tag>DRUPAL-8-0-2</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-2-release</release_link>
   <download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -231,15 +172,10 @@
   <name>Drupal 8.0.1</name>
   <version>8.0.1</version>
   <tag>DRUPAL-8-0-1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-1-release</release_link>
   <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -250,15 +186,10 @@
   <name>Drupal 8.0.0</name>
   <version>8.0.0</version>
   <tag>DRUPAL-8-0-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-release</release_link>
   <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.sec.0.2.xml b/core/modules/update/tests/modules/update_test/drupal.sec.0.2.xml
index 0b9bbce63222af998d34d43f2ed38b5fb0260315..f77cec76dec9fd52e3d0639a555b3aa0e53f4171 100644
--- a/core/modules/update/tests/modules/update_test/drupal.sec.0.2.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.sec.0.2.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
   <name>Drupal 8.0.2</name>
   <version>8.0.2</version>
   <tag>DRUPAL-8-0-2</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-2-release</release_link>
   <download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,15 +28,10 @@
   <name>Drupal 8.0.1</name>
   <version>8.0.1</version>
   <tag>DRUPAL-8-0-1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-1-release</release_link>
   <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -55,15 +42,10 @@
   <name>Drupal 8.0.0</name>
   <version>8.0.0</version>
   <tag>DRUPAL-8-0-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-release</release_link>
   <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.sec.1.2.xml b/core/modules/update/tests/modules/update_test/drupal.sec.1.2.xml
index 8665e46b36112592d602cfc554690216cfe892c2..8884a876d2c60e62dd8eec91206430aadebe1ed5 100644
--- a/core/modules/update/tests/modules/update_test/drupal.sec.1.2.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.sec.1.2.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
   <name>Drupal 8.1.2</name>
   <version>8.1.2</version>
   <tag>DRUPAL-8-1-2</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-2-release</release_link>
   <download_link>http://example.com/drupal-8-1-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,15 +28,10 @@
   <name>Drupal 8.1.1</name>
   <version>8.1.1</version>
   <tag>DRUPAL-8-1-1</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-1-release</release_link>
   <download_link>http://example.com/drupal-8-1-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -55,15 +42,10 @@
   <name>Drupal 8.1.0</name>
   <version>8.1.0</version>
   <tag>DRUPAL-8-1-0</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-0-release</release_link>
   <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -74,15 +56,10 @@
   <name>Drupal 8.0.2</name>
   <version>8.0.2</version>
   <tag>DRUPAL-8-0-2</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-2-release</release_link>
   <download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -92,15 +69,10 @@
   <name>Drupal 8.0.1</name>
   <version>8.0.1</version>
   <tag>DRUPAL-8-0-1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-1-release</release_link>
   <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -110,15 +82,10 @@
   <name>Drupal 8.0.0</name>
   <version>8.0.0</version>
   <tag>DRUPAL-8-0-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-release</release_link>
   <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/drupal.sec.1.2_insecure.xml b/core/modules/update/tests/modules/update_test/drupal.sec.1.2_insecure.xml
index dadad421bc27ae81b62e37f1e7a020352de9e3e1..7f915dd476d8d09d8d13243b2308ee6f28895263 100644
--- a/core/modules/update/tests/modules/update_test/drupal.sec.1.2_insecure.xml
+++ b/core/modules/update/tests/modules/update_test/drupal.sec.1.2_insecure.xml
@@ -3,10 +3,7 @@
 <title>Drupal</title>
 <short_name>drupal</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>8</recommended_major>
-<supported_majors>8</supported_majors>
-<default_major>8</default_major>
+<supported_branches>8.0.,8.1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/drupal</link>
   <terms>
@@ -17,15 +14,10 @@
   <name>Drupal 8.1.2</name>
   <version>8.1.2</version>
   <tag>DRUPAL-8-1-2</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-2-release</release_link>
   <download_link>http://example.com/drupal-8-1-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -36,15 +28,10 @@
   <name>Drupal 8.1.1</name>
   <version>8.1.1</version>
   <tag>DRUPAL-8-1-1</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-1-release</release_link>
   <download_link>http://example.com/drupal-8-1-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -55,15 +42,10 @@
   <name>Drupal 8.1.0</name>
   <version>8.1.0</version>
   <tag>DRUPAL-8-1-0</tag>
-  <version_major>8</version_major>
-  <version_minor>1</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-1-0-release</release_link>
   <download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -74,15 +56,10 @@
   <name>Drupal 8.0.2</name>
   <version>8.0.2</version>
   <tag>DRUPAL-8-0-2</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>2</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-2-release</release_link>
   <download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
   <date>1250424641</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>4294967296</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -93,15 +70,10 @@
   <name>Drupal 8.0.1</name>
   <version>8.0.1</version>
   <tag>DRUPAL-8-0-1</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-1-release</release_link>
   <download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
   <date>1250424581</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>2147483648</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
@@ -112,15 +84,10 @@
   <name>Drupal 8.0.0</name>
   <version>8.0.0</version>
   <tag>DRUPAL-8-0-0</tag>
-  <version_major>8</version_major>
-  <version_minor>0</version_minor>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/drupal-8-0-0-release</release_link>
   <download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
   <date>1250424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/update_test_basetheme.1_1-sec.xml b/core/modules/update/tests/modules/update_test/update_test_basetheme.1_1-sec.xml
index 3529e1976316e5bb82b0f7b910170ed56f785bf2..9d00048ecb87d50d4ac44315ebe17a418126a965 100644
--- a/core/modules/update/tests/modules/update_test/update_test_basetheme.1_1-sec.xml
+++ b/core/modules/update/tests/modules/update_test/update_test_basetheme.1_1-sec.xml
@@ -3,10 +3,7 @@
 <title>Update test base theme</title>
 <short_name>update_test_basetheme</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/update_test_basetheme</link>
   <terms>
@@ -17,14 +14,10 @@
   <name>update_test_basetheme 8.x-1.1</name>
   <version>8.x-1.1</version>
   <tag>DRUPAL-7--1-1</tag>
-  <version_major>1</version_major>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/update_test_basetheme-7-x-1-1-release</release_link>
   <download_link>http://example.com/update_test_basetheme-8.x-1.1.tar.gz</download_link>
   <date>1250624521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073763241</filesize>
   <terms>
    <term><name>Release type</name><value>Security update</value></term>
    <term><name>Release type</name><value>New features</value></term>
@@ -35,14 +28,10 @@
   <name>update_test_basetheme 8.x-1.0</name>
   <version>8.x-1.0</version>
   <tag>DRUPAL-7--1-0</tag>
-  <version_major>1</version_major>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/update_test_basetheme-7-x-1-0-release</release_link>
   <download_link>http://example.com/update_test_basetheme-8.x-1.0.tar.gz</download_link>
   <date>1250524521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/update_test_new_module.1_1.xml b/core/modules/update/tests/modules/update_test/update_test_new_module.1_1.xml
index f9039b2e3faef518c5d60832d7646186a339420f..88e1ec98999c91600cbda9c535052f89bd0e3497 100644
--- a/core/modules/update/tests/modules/update_test/update_test_new_module.1_1.xml
+++ b/core/modules/update/tests/modules/update_test/update_test_new_module.1_1.xml
@@ -3,10 +3,7 @@
 <title>Update test new module</title>
 <short_name>update_test_new_module</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/update_test_new_module</link>
   <terms>
@@ -17,14 +14,10 @@
   <name>update_test_new_module 8.x-1.1</name>
   <version>8.x-1.1</version>
   <tag>DRUPAL-8--1-1</tag>
-  <version_major>1</version_major>
-  <version_patch>1</version_patch>
   <status>published</status>
   <release_link>http://example.com/update_test_new_module-8-x-1-1-release</release_link>
   <download_link>core/modules/update/tests/update_test_new_module/8.x-1.1/update_test_new_module.tar.gz</download_link>
   <date>1300424521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/modules/update_test/update_test_subtheme.1_0.xml b/core/modules/update/tests/modules/update_test/update_test_subtheme.1_0.xml
index c791b7f1fbcea51b26bb5a55081bbc5bc6cd8706..4cde86254ea8429a9cbafd72468d58b83c2d8176 100644
--- a/core/modules/update/tests/modules/update_test/update_test_subtheme.1_0.xml
+++ b/core/modules/update/tests/modules/update_test/update_test_subtheme.1_0.xml
@@ -3,10 +3,7 @@
 <title>Update test subtheme</title>
 <short_name>update_test_subtheme</short_name>
 <dc:creator>Drupal</dc:creator>
-<api_version>8.x</api_version>
-<recommended_major>1</recommended_major>
-<supported_majors>1</supported_majors>
-<default_major>1</default_major>
+<supported_branches>8.x-1.</supported_branches>
 <project_status>published</project_status>
 <link>http://example.com/project/update_test_subtheme</link>
   <terms>
@@ -17,14 +14,10 @@
   <name>update_test_subtheme 8.x-1.0</name>
   <version>8.x-1.0</version>
   <tag>DRUPAL-7--1-0</tag>
-  <version_major>1</version_major>
-  <version_patch>0</version_patch>
   <status>published</status>
   <release_link>http://example.com/update_test_subtheme-7-x-1-0-release</release_link>
   <download_link>http://example.com/update_test_subtheme-8.x-1.0.tar.gz</download_link>
   <date>1250524521</date>
-  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
-  <filesize>1073741824</filesize>
   <terms>
    <term><name>Release type</name><value>New features</value></term>
    <term><name>Release type</name><value>Bug fixes</value></term>
diff --git a/core/modules/update/tests/src/Unit/ModuleVersionTest.php b/core/modules/update/tests/src/Unit/ModuleVersionTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..7eaabed00829eb5b6c6fe250f7823b7b1a9b9f85
--- /dev/null
+++ b/core/modules/update/tests/src/Unit/ModuleVersionTest.php
@@ -0,0 +1,400 @@
+<?php
+
+namespace Drupal\Tests\update\Unit;
+
+use Drupal\Tests\UnitTestCase;
+use Drupal\update\ModuleVersion;
+
+/**
+ * @coversDefaultClass \Drupal\update\ModuleVersion
+ *
+ * @group update
+ */
+class ModuleVersionTest extends UnitTestCase {
+
+  /**
+   * @covers ::getMajorVersion
+   *
+   * @dataProvider providerVersionInfos
+   *
+   * @param string $version
+   *   The version string to test.
+   * @param array $expected_version_info
+   *   The expected version information.
+   */
+  public function testGetMajorVersion($version, array $expected_version_info) {
+    $version = ModuleVersion::createFromVersionString($version);
+    $this->assertSame($expected_version_info['major'], $version->getMajorVersion());
+  }
+
+  /**
+   * @covers ::getVersionExtra
+   *
+   * @dataProvider providerVersionInfos
+   *
+   * @param string $version
+   *   The version string to test.
+   * @param array $expected_version_info
+   *   The expected version information.
+   */
+  public function testGetVersionExtra($version, array $expected_version_info) {
+    $version = ModuleVersion::createFromVersionString($version);
+    $this->assertSame($expected_version_info['extra'], $version->getVersionExtra());
+  }
+
+  /**
+   * Data provider for expected version information.
+   *
+   * @return array
+   *   Arrays of version information.
+   */
+  public function providerVersionInfos() {
+    // Data provider values are:
+    // - The version number to test.
+    // - Array of expected version information with the following keys:
+    //   -'major': The expected result from ::getMajorVersion().
+    //   -'extra': The expected result from ::getVersionExtra().
+    return [
+      '8.x-1.3' => [
+        '8.x-1.3',
+        [
+          'major' => '1',
+          'extra' => NULL,
+        ],
+      ],
+      '8.x-1.0' => [
+        '8.x-1.0',
+        [
+          'major' => '1',
+          'extra' => NULL,
+        ],
+      ],
+      '8.x-1.0-alpha1' => [
+        '8.x-1.0-alpha1',
+        [
+          'major' => '1',
+          'extra' => 'alpha1',
+        ],
+      ],
+      '8.x-1.3-alpha1' => [
+        '8.x-1.3-alpha1',
+        [
+          'major' => '1',
+          'extra' => 'alpha1',
+        ],
+      ],
+      '0.1' => [
+        '0.1',
+        [
+          'major' => '0',
+          'extra' => NULL,
+        ],
+      ],
+      '1.0' => [
+        '1.0',
+        [
+          'major' => '1',
+          'extra' => NULL,
+        ],
+      ],
+      '1.3' => [
+        '1.3',
+        [
+          'major' => '1',
+          'extra' => NULL,
+        ],
+      ],
+      '1.0-alpha1' => [
+        '1.0-alpha1',
+        [
+          'major' => '1',
+          'extra' => 'alpha1',
+        ],
+      ],
+      '1.3-alpha1' => [
+        '1.3-alpha1',
+        [
+          'major' => '1',
+          'extra' => 'alpha1',
+        ],
+      ],
+      '0.2.0' => [
+        '0.2.0',
+        [
+          'major' => '0',
+          'extra' => NULL,
+        ],
+      ],
+      '1.2.0' => [
+        '1.2.0',
+        [
+          'major' => '1',
+          'extra' => NULL,
+        ],
+      ],
+      '1.0.3' => [
+        '1.0.3',
+        [
+          'major' => '1',
+          'extra' => NULL,
+        ],
+      ],
+      '1.2.3' => [
+        '1.2.3',
+        [
+          'major' => '1',
+          'extra' => NULL,
+        ],
+      ],
+      '1.2.0-alpha1' => [
+        '1.2.0-alpha1',
+        [
+          'major' => '1',
+          'extra' => 'alpha1',
+        ],
+      ],
+      '1.2.3-alpha1' => [
+        '1.2.3-alpha1',
+        [
+          'major' => '1',
+          'extra' => 'alpha1',
+        ],
+      ],
+      '8.x-1.x-dev' => [
+        '8.x-1.x-dev',
+        [
+          'major' => '1',
+          'extra' => 'dev',
+        ],
+      ],
+      '8.x-8.x-dev' => [
+        '8.x-8.x-dev',
+        [
+          'major' => '8',
+          'extra' => 'dev',
+        ],
+      ],
+      '1.x-dev' => [
+        '1.x-dev',
+        [
+          'major' => '1',
+          'extra' => 'dev',
+        ],
+      ],
+      '8.x-dev' => [
+        '8.x-dev',
+        [
+          'major' => '8',
+          'extra' => 'dev',
+        ],
+      ],
+      '1.0.x-dev' => [
+        '1.0.x-dev',
+        [
+          'major' => '1',
+          'extra' => 'dev',
+        ],
+      ],
+      '1.2.x-dev' => [
+        '1.2.x-dev',
+        [
+          'major' => '1',
+          'extra' => 'dev',
+        ],
+      ],
+    ];
+  }
+
+  /**
+   * @covers ::createFromVersionString
+   *
+   * @dataProvider providerInvalidVersionNumber
+   *
+   * @param string $version
+   *   The version string to test.
+   */
+  public function testInvalidVersionNumber($version) {
+    $this->expectException(\UnexpectedValueException::class);
+    $this->expectExceptionMessage("Unexpected version number in: $version");
+    ModuleVersion::createFromVersionString($version);
+  }
+
+  /**
+   * Data provider for testInvalidVersionNumber().
+   */
+  public function providerInvalidVersionNumber() {
+    return static::createKeyedTestCases([
+      '',
+      '8',
+      'x',
+      'xx',
+      '8.x-',
+      '8.x',
+      '.x',
+      '.0',
+      '.1',
+      '.1.0',
+      '1.0.',
+      'x.1',
+      '1.x.0',
+      '1.1.x',
+      '1.1.x-extra',
+      'x.1.1',
+      '1.1.1.1',
+      '1.1.1.0',
+    ]);
+  }
+
+  /**
+   * @covers ::createFromVersionString
+   *
+   * @dataProvider providerInvalidVersionCorePrefix
+   *
+   * @param string $version
+   *   The version string to test.
+   */
+  public function testInvalidVersionCorePrefix($version) {
+    $this->expectException(\UnexpectedValueException::class);
+    $this->expectExceptionMessage("Unexpected version core prefix in $version. The only core prefix expected in \Drupal\update\ModuleVersion is: 8.x-");
+    ModuleVersion::createFromVersionString($version);
+  }
+
+  /**
+   * Data provider for testInvalidVersionCorePrefix().
+   */
+  public function providerInvalidVersionCorePrefix() {
+    return static::createKeyedTestCases([
+      '6.x-1.0',
+      '7.x-1.x',
+      '9.x-1.x',
+      '10.x-1.x',
+    ]);
+  }
+
+  /**
+   * @covers ::createFromSupportBranch
+   *
+   * @dataProvider providerInvalidBranchCorePrefix
+   *
+   * @param string $branch
+   *   The branch to test.
+   */
+  public function testInvalidBranchCorePrefix($branch) {
+    $this->expectException(\UnexpectedValueException::class);
+    $this->expectExceptionMessage("Unexpected version core prefix in {$branch}0. The only core prefix expected in \Drupal\update\ModuleVersion is: 8.x-");
+    ModuleVersion::createFromSupportBranch($branch);
+  }
+
+  /**
+   * Data provider for testInvalidBranchCorePrefix().
+   */
+  public function providerInvalidBranchCorePrefix() {
+    return static::createKeyedTestCases([
+      '6.x-1.',
+      '7.x-1.',
+      '9.x-1.',
+      '10.x-1.',
+    ]);
+  }
+
+  /**
+   * @covers ::createFromSupportBranch
+   *
+   * @dataProvider providerCreateFromSupportBranch
+   *
+   * @param string $branch
+   *   The branch to test.
+   * @param string $expected_major
+   *   The expected major version.
+   */
+  public function testCreateFromSupportBranch($branch, $expected_major) {
+    $version = ModuleVersion::createFromSupportBranch($branch);
+    $this->assertInstanceOf(ModuleVersion::class, $version);
+    $this->assertSame($expected_major, $version->getMajorVersion());
+    // Version extra can't be determined from a branch.
+    $this->assertSame(NULL, $version->getVersionExtra());
+  }
+
+  /**
+   * Data provider for testCreateFromSupportBranch().
+   */
+  public function providerCreateFromSupportBranch() {
+    // Data provider values are:
+    // - The version number to test.
+    // - Array of expected version information with the following keys:
+    //   -'major': The expected result from ::getMajorVersion().
+    //   -'extra': The expected result from ::getVersionExtra().
+    return [
+      '0.' => [
+        '0.',
+        '0',
+      ],
+      '1.' => [
+        '1.',
+        '1',
+      ],
+      '0.1.' => [
+        '0.1.',
+        '0',
+      ],
+      '1.2.' => [
+        '1.2.',
+        '1',
+      ],
+      '8.x-1.' => [
+        '8.x-1.',
+        '1',
+      ],
+    ];
+  }
+
+  /**
+   * @covers ::createFromSupportBranch
+   *
+   * @dataProvider provideInvalidBranch
+   *
+   * @param string $branch
+   *   The branch to test.
+   */
+  public function testInvalidBranch($branch) {
+    $this->expectException(\UnexpectedValueException::class);
+    $this->expectExceptionMessage("Invalid support branch: $branch");
+    ModuleVersion::createFromSupportBranch($branch);
+  }
+
+  /**
+   * Data provider for testInvalidBranch().
+   */
+  public function provideInvalidBranch() {
+    return self::createKeyedTestCases([
+      '8.x-1.0',
+      '8.x-2.x',
+      '2.x-1.0',
+      '1.1',
+      '1.x',
+      '1.1.x',
+      '1.1.1',
+      '1.1.1.1',
+    ]);
+  }
+
+  /**
+   * Creates test case arrays for data provider methods.
+   *
+   * @param string[] $test_arguments
+   *   The test arguments.
+   *
+   * @return array
+   *   An array with $test_arguments as keys and each element of $test_arguments
+   *   as a single item array
+   */
+  protected static function createKeyedTestCases(array $test_arguments) {
+    return array_combine(
+      $test_arguments,
+      array_map(function ($test_argument) {
+        return [$test_argument];
+      }, $test_arguments)
+    );
+  }
+
+}
diff --git a/core/modules/update/tests/src/Unit/UpdateFetcherTest.php b/core/modules/update/tests/src/Unit/UpdateFetcherTest.php
index 1d01d0f5fe34f42721ba2a0ca1aba0976f12fcf8..9ac53a3491d73458aab66957254eeb32a18d24c2 100644
--- a/core/modules/update/tests/src/Unit/UpdateFetcherTest.php
+++ b/core/modules/update/tests/src/Unit/UpdateFetcherTest.php
@@ -5,10 +5,6 @@
 use Drupal\Tests\UnitTestCase;
 use Drupal\update\UpdateFetcher;
 
-if (!defined('DRUPAL_CORE_COMPATIBILITY')) {
-  define('DRUPAL_CORE_COMPATIBILITY', '8.x');
-}
-
 /**
  * Tests update functionality unrelated to the database.
  *
@@ -71,20 +67,20 @@ public function providerTestUpdateBuildFetchUrl() {
     $project['info']['project status url'] = 'http://www.example.com';
     $project['includes'] = ['module1' => 'Module 1', 'module2' => 'Module 2'];
     $site_key = '';
-    $expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
+    $expected = "http://www.example.com/{$project['name']}/current";
 
     $data[] = [$project, $site_key, $expected];
 
     // For disabled projects it shouldn't add the site key either.
     $site_key = 'site_key';
     $project['project_type'] = 'disabled';
-    $expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
+    $expected = "http://www.example.com/{$project['name']}/current";
 
     $data[] = [$project, $site_key, $expected];
 
     // For enabled projects, test adding the site key.
     $project['project_type'] = '';
-    $expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
+    $expected = "http://www.example.com/{$project['name']}/current";
     $expected .= '?site_key=site_key';
     $expected .= '&list=' . rawurlencode('module1,module2');
 
@@ -92,7 +88,7 @@ public function providerTestUpdateBuildFetchUrl() {
 
     // Test when the URL contains a question mark.
     $project['info']['project status url'] = 'http://www.example.com/?project=';
-    $expected = 'http://www.example.com/?project=/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
+    $expected = "http://www.example.com/?project=/{$project['name']}/current";
     $expected .= '&site_key=site_key';
     $expected .= '&list=' . rawurlencode('module1,module2');
 
diff --git a/core/modules/update/update.compare.inc b/core/modules/update/update.compare.inc
index 9202cb1a230707d0c0a3d4dc4a04c1e049a0de3a..75601425482a8fc525aff77d8bb295cb4937bb73 100644
--- a/core/modules/update/update.compare.inc
+++ b/core/modules/update/update.compare.inc
@@ -7,6 +7,7 @@
 
 use Drupal\update\UpdateFetcherInterface;
 use Drupal\update\UpdateManagerInterface;
+use Drupal\update\ModuleVersion;
 use Drupal\update\ProjectCoreCompatibility;
 
 /**
@@ -147,12 +148,14 @@ function update_calculate_project_data($available) {
  * with an error and the next project is considered.
  *
  * If the project itself is valid, the function decides what major release
- * series to consider. The project defines what the currently supported major
- * versions are for each version of core, so the first step is to make sure the
- * current version is still supported. If so, that's the target version. If the
- * current version is unsupported, the project maintainer's recommended major
- * version is used. There's also a check to make sure that this function never
- * recommends an earlier release than the currently installed major version.
+ * series to consider. The project defines its currently supported branches in
+ * its Drupal.org for the project, so the first step is to make sure the
+ * development branch of the current version is still supported. If so, then the
+ * major version of the current version is used. If the current version is not
+ * in a supported branch, the next supported branch is used to determine the
+ * major version to use. There's also a check to make sure that this function
+ * never recommends an earlier release than the currently installed major
+ * version.
  *
  * Given a target major version, the available releases are scanned looking for
  * the specific release to recommend (avoiding beta releases and development
@@ -260,35 +263,52 @@ function update_calculate_project_update_status(&$project_data, $available) {
   }
 
   // Figure out the target major version.
-  $existing_major = $project_data['existing_major'];
-  $supported_majors = [];
-  if (isset($available['supported_majors'])) {
-    $supported_majors = explode(',', $available['supported_majors']);
+  try {
+    $existing_major = ModuleVersion::createFromVersionString($project_data['existing_version'])->getMajorVersion();
   }
-  elseif (isset($available['default_major'])) {
-    // Older release history XML file without supported or recommended.
-    $supported_majors[] = $available['default_major'];
+  catch (UnexpectedValueException $exception) {
+    // If the version has an unexpected value we can't determine updates.
+    return;
+  }
+  $supported_branches = [];
+  if (isset($available['supported_branches'])) {
+    $supported_branches = explode(',', $available['supported_branches']);
   }
 
-  if (in_array($existing_major, $supported_majors)) {
+  $is_in_supported_branch = function ($version) use ($supported_branches) {
+    foreach ($supported_branches as $supported_branch) {
+      if (strpos($version, $supported_branch) === 0) {
+        return TRUE;
+      }
+    }
+    return FALSE;
+  };
+  if ($is_in_supported_branch($project_data['existing_version'])) {
     // Still supported, stay at the current major version.
     $target_major = $existing_major;
   }
-  elseif (isset($available['recommended_major'])) {
-    // Since 'recommended_major' is defined, we know this is the new XML
-    // format. Therefore, we know the current release is unsupported since
-    // its major version was not in the 'supported_majors' list. We should
-    // find the best release from the recommended major version.
-    $target_major = $available['recommended_major'];
+  elseif ($supported_branches) {
+    // We know the current release is unsupported since it is not in
+    // 'supported_branches' list. We should use the next valid supported
+    // branch for the target major version.
     $project_data['status'] = UpdateManagerInterface::NOT_SUPPORTED;
-  }
-  elseif (isset($available['default_major'])) {
-    // Older release history XML file without recommended, so recommend
-    // the currently defined "default_major" version.
-    $target_major = $available['default_major'];
+    foreach ($supported_branches as $supported_branch) {
+      try {
+        $target_major = ModuleVersion::createFromSupportBranch($supported_branch)->getMajorVersion();
+
+      }
+      catch (UnexpectedValueException $exception) {
+        continue;
+      }
+    }
+    if (!isset($target_major)) {
+      // If there are no valid support branches, use the current major.
+      $target_major = $existing_major;
+    }
+
   }
   else {
-    // Malformed XML file? Stick with the current version.
+    // Malformed XML file? Stick with the current branch.
     $target_major = $existing_major;
   }
 
@@ -301,9 +321,6 @@ function update_calculate_project_update_status(&$project_data, $available) {
   // what they have is unsupported and let them figure it out.
   $target_major = max($existing_major, $target_major);
 
-  $release_patch_changed = '';
-  $patch = '';
-
   // If the project is marked as UpdateFetcherInterface::FETCH_PENDING, it
   // means that the data we currently have (if any) is stale, and we've got a
   // task queued up to (re)fetch the data. In that case, we mark it as such,
@@ -321,7 +338,17 @@ function update_calculate_project_update_status(&$project_data, $available) {
     $project_data['reason'] = t('No available releases found');
     return;
   }
+
+  $recommended_version_without_extra = '';
+  $recommended_release = NULL;
+
   foreach ($available['releases'] as $version => $release) {
+    try {
+      $release_module_version = ModuleVersion::createFromVersionString($release['version']);
+    }
+    catch (UnexpectedValueException $exception) {
+      continue;
+    }
     // First, if this is the existing release, check a few conditions.
     if ($project_data['existing_version'] === $version) {
       if (isset($release['terms']['Release type']) &&
@@ -361,18 +388,16 @@ function update_calculate_project_update_status(&$project_data, $available) {
       continue;
     }
 
+    $release_major_version = $release_module_version->getMajorVersion();
     // See if this is a higher major version than our target and yet still
     // supported. If so, record it as an "Also available" release.
-    // Note: Some projects have a HEAD release from CVS days, which could
-    // be one of those being compared. They would not have version_major
-    // set, so we must call isset first.
-    if (isset($release['version_major']) && $release['version_major'] > $target_major) {
-      if (in_array($release['version_major'], $supported_majors)) {
+    if ($release_major_version > $target_major) {
+      if ($is_in_supported_branch($release['version'])) {
         if (!isset($project_data['also'])) {
           $project_data['also'] = [];
         }
-        if (!isset($project_data['also'][$release['version_major']])) {
-          $project_data['also'][$release['version_major']] = $version;
+        if (!isset($project_data['also'][$release_major_version])) {
+          $project_data['also'][$release_major_version] = $version;
           $project_data['releases'][$version] = $release;
         }
       }
@@ -389,32 +414,37 @@ function update_calculate_project_update_status(&$project_data, $available) {
     // Look for the 'latest version' if we haven't found it yet. Latest is
     // defined as the most recent version for the target major version.
     if (!isset($project_data['latest_version'])
-        && $release['version_major'] == $target_major) {
+        && $release_major_version == $target_major) {
       $project_data['latest_version'] = $version;
       $project_data['releases'][$version] = $release;
     }
 
     // Look for the development snapshot release for this branch.
     if (!isset($project_data['dev_version'])
-        && $release['version_major'] == $target_major
-        && isset($release['version_extra'])
-        && $release['version_extra'] == 'dev') {
+        && $release_major_version == $target_major
+        && $release_module_version->getVersionExtra() === 'dev') {
       $project_data['dev_version'] = $version;
       $project_data['releases'][$version] = $release;
     }
 
+    if ($release_module_version->getVersionExtra()) {
+      $release_version_without_extra = str_replace('-' . $release_module_version->getVersionExtra(), '', $release['version']);
+    }
+    else {
+      $release_version_without_extra = $release['version'];
+    }
+
     // Look for the 'recommended' version if we haven't found it yet (see
     // phpdoc at the top of this function for the definition).
     if (!isset($project_data['recommended'])
-        && $release['version_major'] == $target_major
-        && isset($release['version_patch'])) {
-      if ($patch != $release['version_patch']) {
-        $patch = $release['version_patch'];
-        $release_patch_changed = $release;
+        && $release_major_version == $target_major) {
+      if ($recommended_version_without_extra !== $release_version_without_extra) {
+        $recommended_version_without_extra = $release_version_without_extra;
+        $recommended_release = $release;
       }
-      if (empty($release['version_extra']) && $patch == $release['version_patch']) {
-        $project_data['recommended'] = $release_patch_changed['version'];
-        $project_data['releases'][$release_patch_changed['version']] = $release_patch_changed;
+      if ($release_module_version->getVersionExtra() === NULL) {
+        $project_data['recommended'] = $recommended_release['version'];
+        $project_data['releases'][$recommended_release['version']] = $recommended_release;
       }
     }