diff --git a/core/includes/common.inc b/core/includes/common.inc
index b3dc9cb..c41d7da 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -3,6 +3,7 @@
 use Symfony\Component\DependencyInjection\Container;
 use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
+use Symfony\Component\Yaml\Yaml;
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Database\Database;
@@ -5191,7 +5192,7 @@ function drupal_system_listing($mask, $directory, $key = 'name', $min_depth = 1)
     foreach (array_intersect_key($files_to_add, $files) as $file_key => $file) {
       // If it has no info file, then we just behave liberally and accept the
       // new resource on the list for merging.
-      if (file_exists($info_file = dirname($file->uri) . '/' . $file->name . '.info')) {
+      if (file_exists($info_file = dirname($file->uri) . '/' . $file->name . '.yml')) {
         // Get the .info file for the module or theme this file belongs to.
         $info = drupal_parse_info_file($info_file);
 
@@ -6542,7 +6543,9 @@ function drupal_array_nested_key_exists(array $array, array $parents) {
  * Parses Drupal module and theme .info files.
  *
  * Info files are NOT for placing arbitrary theme and module-specific settings.
- * Use variable_get() and variable_set() for that.
+ * Use variable_get() and variable_set() for that. Info files are formatted as
+ * YAML. If a key called "version" is set to "VERSION" in any info file, the PHP
+ * constant of the same name will be substituted into the resulting data.
  *
  * Information stored in a module .info file:
  * - name: The real name of the module for display purposes.
@@ -6557,11 +6560,11 @@ function drupal_array_nested_key_exists(array $array, array $parents) {
  * - description: Brief description.
  * - screenshot: Path to screenshot relative to the theme's .info file.
  * - engine: Theme engine; typically phptemplate.
- * - base: Name of a base theme, if applicable; e.g., base = zen.
- * - regions: Listed regions; e.g., region[left] = Left sidebar.
- * - features: Features available; e.g., features[] = logo.
- * - stylesheets: Theme stylesheets; e.g., stylesheets[all][] = my-style.css.
- * - scripts: Theme scripts; e.g., scripts[] = my-script.js.
+ * - base: Name of a base theme, if applicable
+ * - regions: Listed regions
+ * - features: Features available
+ * - stylesheets: Theme stylesheets
+ * - scripts: Theme scripts
  *
  * See bartik.info for an example of a theme .info file.
  *
@@ -6571,7 +6574,7 @@ function drupal_array_nested_key_exists(array $array, array $parents) {
  * @return
  *   The info array.
  *
- * @see drupal_parse_info_format()
+ * @see http://yaml.org/
  */
 function drupal_parse_info_file($filename) {
   $info = &drupal_static(__FUNCTION__, array());
@@ -6582,104 +6585,13 @@ function drupal_parse_info_file($filename) {
     }
     else {
       $data = file_get_contents($filename);
-      $info[$filename] = drupal_parse_info_format($data);
-    }
-  }
-  return $info[$filename];
-}
-
-/**
- * Parses data in Drupal's .info format.
- *
- * Data should be in an .ini-like format to specify values. White-space
- * generally doesn't matter, except inside values:
- * @code
- *   key = value
- *   key = "value"
- *   key = 'value'
- *   key = "multi-line
- *   value"
- *   key = 'multi-line
- *   value'
- *   key
- *   =
- *   'value'
- * @endcode
- *
- * Arrays are created using a HTTP GET alike syntax:
- * @code
- *   key[] = "numeric array"
- *   key[index] = "associative array"
- *   key[index][] = "nested numeric array"
- *   key[index][index] = "nested associative array"
- * @endcode
- *
- * PHP constants are substituted in, but only when used as the entire value.
- * Comments should start with a semi-colon at the beginning of a line.
- *
- * @param $data
- *   A string to parse.
- *
- * @return
- *   The info array.
- *
- * @see drupal_parse_info_file()
- */
-function drupal_parse_info_format($data) {
-  $info = array();
-  $constants = get_defined_constants();
-
-  if (preg_match_all('
-    @^\s*                           # Start at the beginning of a line, ignoring leading whitespace
-    ((?:
-      [^=;\[\]]|                    # Key names cannot contain equal signs, semi-colons or square brackets,
-      \[[^\[\]]*\]                  # unless they are balanced and not nested
-    )+?)
-    \s*=\s*                         # Key/value pairs are separated by equal signs (ignoring white-space)
-    (?:
-      ("(?:[^"]|(?<=\\\\)")*")|     # Double-quoted string, which may contain slash-escaped quotes/slashes
-      (\'(?:[^\']|(?<=\\\\)\')*\')| # Single-quoted string, which may contain slash-escaped quotes/slashes
-      ([^\r\n]*?)                   # Non-quoted string
-    )\s*$                           # Stop at the next end of a line, ignoring trailing whitespace
-    @msx', $data, $matches, PREG_SET_ORDER)) {
-    foreach ($matches as $match) {
-      // Fetch the key and value string.
-      $i = 0;
-      foreach (array('key', 'value1', 'value2', 'value3') as $var) {
-        $$var = isset($match[++$i]) ? $match[$i] : '';
-      }
-      $value = stripslashes(substr($value1, 1, -1)) . stripslashes(substr($value2, 1, -1)) . $value3;
-
-      // Parse array syntax.
-      $keys = preg_split('/\]?\[/', rtrim($key, ']'));
-      $last = array_pop($keys);
-      $parent = &$info;
-
-      // Create nested arrays.
-      foreach ($keys as $key) {
-        if ($key == '') {
-          $key = count($parent);
-        }
-        if (!isset($parent[$key]) || !is_array($parent[$key])) {
-          $parent[$key] = array();
-        }
-        $parent = &$parent[$key];
+      $info[$filename] = Yaml::parse($filename);
+      if (isset($info[$filename]['version']) && $info[$filename]['version'] == 'VERSION') {
+        $info[$filename]['version'] = VERSION;
       }
-
-      // Handle PHP constants.
-      if (isset($constants[$value])) {
-        $value = $constants[$value];
-      }
-
-      // Insert actual value.
-      if ($last == '') {
-        $last = count($parent);
-      }
-      $parent[$last] = $value;
     }
   }
-
-  return $info;
+  return $info[$filename];
 }
 
 /**
diff --git a/core/includes/install.inc b/core/includes/install.inc
index 3c30c89..9c3135b 100644
--- a/core/includes/install.inc
+++ b/core/includes/install.inc
@@ -921,7 +921,7 @@ function install_profile_info($profile, $langcode = 'en') {
       'hidden' => FALSE,
       'php' => DRUPAL_MINIMUM_PHP,
     );
-    $profile_file = drupal_get_path('profile', $profile) . "/$profile.info";
+    $profile_file = drupal_get_path('profile', $profile) . "/$profile.yml";
     $info = drupal_parse_info_file($profile_file);
     $info += $defaults;
     $info['dependencies'] = array_unique(array_merge(
diff --git a/core/includes/module.inc b/core/includes/module.inc
index 5944543..d16ae4f 100644
--- a/core/includes/module.inc
+++ b/core/includes/module.inc
@@ -943,7 +943,7 @@ function module_invoke_all($hook) {
  * Returns an array of modules required by core.
  */
 function drupal_required_modules() {
-  $files = drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.info$/', 'modules', 'name', 0);
+  $files = drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.yml$/', 'modules', 'name', 0);
   $required = array();
 
   // An installation profile is required and one must always be loaded.
diff --git a/core/includes/update.inc b/core/includes/update.inc
index 5d80188..f5346fd 100644
--- a/core/includes/update.inc
+++ b/core/includes/update.inc
@@ -349,7 +349,7 @@ function update_module_add_to_system($modules = array()) {
     'bootstrap' => 0,
   );
   foreach ($modules as $module) {
-    $module_info = drupal_parse_info_file('core/modules/' . $module . '/' . $module . '.info');
+    $module_info = drupal_parse_info_file('core/modules/' . $module . '/' . $module . '.yml');
     db_insert('system')
       ->fields(array(
         'filename' => 'core/modules/' . $module . '/' . $module . '.module',
diff --git a/core/lib/Drupal/Core/Updater/Updater.php b/core/lib/Drupal/Core/Updater/Updater.php
index 37a8d70..1fe2fcd 100644
--- a/core/lib/Drupal/Core/Updater/Updater.php
+++ b/core/lib/Drupal/Core/Updater/Updater.php
@@ -94,7 +94,7 @@ public static function getUpdaterFromDirectory($directory) {
    *   Path to the info file.
    */
   public static function findInfoFile($directory) {
-    $info_files = file_scan_directory($directory, '/.*\.info$/');
+    $info_files = file_scan_directory($directory, '/.*\.yml$/');
     if (!$info_files) {
       return FALSE;
     }
diff --git a/core/modules/action/action.info b/core/modules/action/action.info
deleted file mode 100644
index ddddd63..0000000
--- a/core/modules/action/action.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Actions
-description = Perform tasks on specific events triggered within the system.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/system/actions
diff --git a/core/modules/action/action.yml b/core/modules/action/action.yml
new file mode 100644
index 0000000..89bbdb7
--- /dev/null
+++ b/core/modules/action/action.yml
@@ -0,0 +1,7 @@
+---
+name: Actions
+description: 'Perform tasks on specific events triggered within the system.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/system/actions
diff --git a/core/modules/action/tests/action_loop_test/action_loop_test.info b/core/modules/action/tests/action_loop_test/action_loop_test.info
deleted file mode 100644
index 82a2810..0000000
--- a/core/modules/action/tests/action_loop_test/action_loop_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Action loop test
-description = Support module for action loop testing.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-dependencies[] = action
diff --git a/core/modules/action/tests/action_loop_test/action_loop_test.yml b/core/modules/action/tests/action_loop_test/action_loop_test.yml
new file mode 100644
index 0000000..3950b5f
--- /dev/null
+++ b/core/modules/action/tests/action_loop_test/action_loop_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'Action loop test'
+description: 'Support module for action loop testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - action
diff --git a/core/modules/aggregator/aggregator.info b/core/modules/aggregator/aggregator.info
deleted file mode 100644
index 5954a87..0000000
--- a/core/modules/aggregator/aggregator.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = Aggregator
-description = "Aggregates syndicated content (RSS, RDF, and Atom feeds) from external sources."
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/services/aggregator/settings
-stylesheets[all][] = aggregator.theme.css
-dependencies[] = file
diff --git a/core/modules/aggregator/aggregator.yml b/core/modules/aggregator/aggregator.yml
new file mode 100644
index 0000000..83019a7
--- /dev/null
+++ b/core/modules/aggregator/aggregator.yml
@@ -0,0 +1,12 @@
+---
+name: Aggregator
+description: 'Aggregates syndicated content (RSS, RDF, and Atom feeds) from external sources.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/services/aggregator/settings
+stylesheets:
+  all:
+    - aggregator.theme.css
+dependencies:
+  - file
diff --git a/core/modules/aggregator/tests/aggregator_test.info b/core/modules/aggregator/tests/aggregator_test.info
deleted file mode 100644
index 583a7fc..0000000
--- a/core/modules/aggregator/tests/aggregator_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Aggregator module tests"
-description = "Support module for aggregator related testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/aggregator/tests/aggregator_test.yml b/core/modules/aggregator/tests/aggregator_test.yml
new file mode 100644
index 0000000..87a547b
--- /dev/null
+++ b/core/modules/aggregator/tests/aggregator_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Aggregator module tests'
+description: 'Support module for aggregator related testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/ban/ban.info b/core/modules/ban/ban.info
deleted file mode 100644
index e23331c..0000000
--- a/core/modules/ban/ban.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Ban
-description = Enables banning of IP addresses.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/people/ban
diff --git a/core/modules/ban/ban.yml b/core/modules/ban/ban.yml
new file mode 100644
index 0000000..ae3ba75
--- /dev/null
+++ b/core/modules/ban/ban.yml
@@ -0,0 +1,7 @@
+---
+name: Ban
+description: 'Enables banning of IP addresses.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/people/ban
diff --git a/core/modules/block/block.info b/core/modules/block/block.info
deleted file mode 100644
index e22e797..0000000
--- a/core/modules/block/block.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Block
-description = Controls the visual building blocks a page is constructed with. Blocks are boxes of content rendered into an area, or region, of a web page.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/structure/block
diff --git a/core/modules/block/block.yml b/core/modules/block/block.yml
new file mode 100644
index 0000000..53d55eb
--- /dev/null
+++ b/core/modules/block/block.yml
@@ -0,0 +1,7 @@
+---
+name: Block
+description: 'Controls the visual building blocks a page is constructed with. Blocks are boxes of content rendered into an area, or region, of a web page.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/structure/block
diff --git a/core/modules/block/tests/block_test.info b/core/modules/block/tests/block_test.info
deleted file mode 100644
index 7efb99c..0000000
--- a/core/modules/block/tests/block_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Block test
-description = Provides test blocks.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/block/tests/block_test.yml b/core/modules/block/tests/block_test.yml
new file mode 100644
index 0000000..52fbd6c
--- /dev/null
+++ b/core/modules/block/tests/block_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Block test'
+description: 'Provides test blocks.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/block/tests/themes/block_test_theme/block_test_theme.info b/core/modules/block/tests/themes/block_test_theme/block_test_theme.info
deleted file mode 100644
index 6b15fe5..0000000
--- a/core/modules/block/tests/themes/block_test_theme/block_test_theme.info
+++ /dev/null
@@ -1,14 +0,0 @@
-name = Block test theme
-description = Theme for testing the block system
-core = 8.x
-hidden = TRUE
-
-regions[sidebar_first] = Left sidebar
-regions_hidden[]  = sidebar_first
-regions[sidebar_second] = Right sidebar
-regions_hidden[]  = sidebar_second
-regions[content] = Content
-regions[header] = Header
-regions[footer] = Footer
-regions[highlighted] = Highlighted
-regions[help] = Help
diff --git a/core/modules/block/tests/themes/block_test_theme/block_test_theme.yml b/core/modules/block/tests/themes/block_test_theme/block_test_theme.yml
new file mode 100644
index 0000000..a582a8c
--- /dev/null
+++ b/core/modules/block/tests/themes/block_test_theme/block_test_theme.yml
@@ -0,0 +1,16 @@
+---
+name: 'Block test theme'
+description: 'Theme for testing the block system'
+core: 8.x
+hidden: true
+regions:
+  sidebar_first: 'Left sidebar'
+  sidebar_second: 'Right sidebar'
+  content: Content
+  header: Header
+  footer: Footer
+  highlighted: Highlighted
+  help: Help
+regions_hidden:
+  - sidebar_first
+  - sidebar_second
diff --git a/core/modules/book/book.info b/core/modules/book/book.info
deleted file mode 100644
index 1f2be6f..0000000
--- a/core/modules/book/book.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = Book
-description = Allows users to create and organize related content in an outline.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = node
-configure = admin/content/book/settings
-stylesheets[all][] = book.theme.css
diff --git a/core/modules/book/book.yml b/core/modules/book/book.yml
new file mode 100644
index 0000000..b45ea0c
--- /dev/null
+++ b/core/modules/book/book.yml
@@ -0,0 +1,12 @@
+---
+name: Book
+description: 'Allows users to create and organize related content in an outline.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - node
+configure: admin/content/book/settings
+stylesheets:
+  all:
+    - book.theme.css
diff --git a/core/modules/color/color.info b/core/modules/color/color.info
deleted file mode 100644
index 6d2c9f9..0000000
--- a/core/modules/color/color.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Color
-description = Allows administrators to change the color scheme of compatible themes.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/color/color.yml b/core/modules/color/color.yml
new file mode 100644
index 0000000..72f706f
--- /dev/null
+++ b/core/modules/color/color.yml
@@ -0,0 +1,6 @@
+---
+name: Color
+description: 'Allows administrators to change the color scheme of compatible themes.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/comment/comment.info b/core/modules/comment/comment.info
deleted file mode 100644
index 6028bda..0000000
--- a/core/modules/comment/comment.info
+++ /dev/null
@@ -1,9 +0,0 @@
-name = Comment
-description = Allows users to comment on and discuss published content.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = node
-dependencies[] = text
-configure = admin/content/comment
-stylesheets[all][] = comment.theme.css
diff --git a/core/modules/comment/comment.yml b/core/modules/comment/comment.yml
new file mode 100644
index 0000000..b5e934b
--- /dev/null
+++ b/core/modules/comment/comment.yml
@@ -0,0 +1,13 @@
+---
+name: Comment
+description: 'Allows users to comment on and discuss published content.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - node
+  - text
+configure: admin/content/comment
+stylesheets:
+  all:
+    - comment.theme.css
diff --git a/core/modules/comment/tests/modules/comment_test/comment_test.info b/core/modules/comment/tests/modules/comment_test/comment_test.info
deleted file mode 100644
index a7ad565..0000000
--- a/core/modules/comment/tests/modules/comment_test/comment_test.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = Comment test
-description = Support module for Comment module testing.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-
-dependencies[] = comment
diff --git a/core/modules/comment/tests/modules/comment_test/comment_test.yml b/core/modules/comment/tests/modules/comment_test/comment_test.yml
new file mode 100644
index 0000000..24255ed
--- /dev/null
+++ b/core/modules/comment/tests/modules/comment_test/comment_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'Comment test'
+description: 'Support module for Comment module testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - comment
diff --git a/core/modules/config/config.info b/core/modules/config/config.info
deleted file mode 100644
index 380f17e..0000000
--- a/core/modules/config/config.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Configuration manager
-description = Allows administrators to manage configuration changes.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/config/config.yml b/core/modules/config/config.yml
new file mode 100644
index 0000000..8454581
--- /dev/null
+++ b/core/modules/config/config.yml
@@ -0,0 +1,6 @@
+---
+name: 'Configuration manager'
+description: 'Allows administrators to manage configuration changes.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/config/tests/config_test/config_test.info b/core/modules/config/tests/config_test/config_test.info
deleted file mode 100644
index 3c0ca6b..0000000
--- a/core/modules/config/tests/config_test/config_test.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Configuration test module
-package = Core
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/config/tests/config_test/config_test.yml b/core/modules/config/tests/config_test/config_test.yml
new file mode 100644
index 0000000..9c99cda
--- /dev/null
+++ b/core/modules/config/tests/config_test/config_test.yml
@@ -0,0 +1,6 @@
+---
+name: 'Configuration test module'
+package: Core
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/contact/contact.info b/core/modules/contact/contact.info
deleted file mode 100644
index eff6d33..0000000
--- a/core/modules/contact/contact.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Contact
-description = Enables the use of both personal and site-wide contact forms.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/structure/contact
diff --git a/core/modules/contact/contact.yml b/core/modules/contact/contact.yml
new file mode 100644
index 0000000..184bb0f
--- /dev/null
+++ b/core/modules/contact/contact.yml
@@ -0,0 +1,7 @@
+---
+name: Contact
+description: 'Enables the use of both personal and site-wide contact forms.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/structure/contact
diff --git a/core/modules/contextual/contextual.info b/core/modules/contextual/contextual.info
deleted file mode 100644
index 8a99dea..0000000
--- a/core/modules/contextual/contextual.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Contextual Links
-description = Provides contextual links to perform actions related to elements on a page.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/contextual/contextual.yml b/core/modules/contextual/contextual.yml
new file mode 100644
index 0000000..f1f306d
--- /dev/null
+++ b/core/modules/contextual/contextual.yml
@@ -0,0 +1,6 @@
+---
+name: 'Contextual Links'
+description: 'Provides contextual links to perform actions related to elements on a page.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/dblog/dblog.info b/core/modules/dblog/dblog.info
deleted file mode 100644
index fd18bb3..0000000
--- a/core/modules/dblog/dblog.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Database Logging
-description = Logs and records system events to the database.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/dblog/dblog.yml b/core/modules/dblog/dblog.yml
new file mode 100644
index 0000000..3d28610
--- /dev/null
+++ b/core/modules/dblog/dblog.yml
@@ -0,0 +1,6 @@
+---
+name: 'Database Logging'
+description: 'Logs and records system events to the database.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/field/field.info b/core/modules/field/field.info
deleted file mode 100644
index 88529e2..0000000
--- a/core/modules/field/field.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = Field
-description = Field API to add fields to entities like nodes and users.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field_sql_storage
-required = TRUE
-stylesheets[all][] = theme/field.css
diff --git a/core/modules/field/field.yml b/core/modules/field/field.yml
new file mode 100644
index 0000000..e4d9689
--- /dev/null
+++ b/core/modules/field/field.yml
@@ -0,0 +1,12 @@
+---
+name: Field
+description: 'Field API to add fields to entities like nodes and users.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field_sql_storage
+required: true
+stylesheets:
+  all:
+    - theme/field.css
diff --git a/core/modules/field/modules/email/email.info b/core/modules/field/modules/email/email.info
deleted file mode 100644
index 5c3d3ff..0000000
--- a/core/modules/field/modules/email/email.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = E-mail
-description = Defines a field type for e-mail addresses.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field
-dependencies[] = text
diff --git a/core/modules/field/modules/email/email.yml b/core/modules/field/modules/email/email.yml
new file mode 100644
index 0000000..416f35c
--- /dev/null
+++ b/core/modules/field/modules/email/email.yml
@@ -0,0 +1,9 @@
+---
+name: E-mail
+description: 'Defines a field type for e-mail addresses.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field
+  - text
diff --git a/core/modules/field/modules/field_sql_storage/field_sql_storage.info b/core/modules/field/modules/field_sql_storage/field_sql_storage.info
deleted file mode 100644
index 2106ac7..0000000
--- a/core/modules/field/modules/field_sql_storage/field_sql_storage.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Field SQL Storage
-description = Stores field data in an SQL database.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field
-required = TRUE
diff --git a/core/modules/field/modules/field_sql_storage/field_sql_storage.yml b/core/modules/field/modules/field_sql_storage/field_sql_storage.yml
new file mode 100644
index 0000000..92d9f5e
--- /dev/null
+++ b/core/modules/field/modules/field_sql_storage/field_sql_storage.yml
@@ -0,0 +1,9 @@
+---
+name: 'Field SQL Storage'
+description: 'Stores field data in an SQL database.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field
+required: true
diff --git a/core/modules/field/modules/link/link.info b/core/modules/field/modules/link/link.info
deleted file mode 100644
index a43c222..0000000
--- a/core/modules/field/modules/link/link.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Link
-description = Provides a simple link field type.
-core = 8.x
-package = Core
-version = VERSION
-dependencies[] = field
diff --git a/core/modules/field/modules/link/link.yml b/core/modules/field/modules/link/link.yml
new file mode 100644
index 0000000..6313aa8
--- /dev/null
+++ b/core/modules/field/modules/link/link.yml
@@ -0,0 +1,8 @@
+---
+name: Link
+description: 'Provides a simple link field type.'
+core: 8.x
+package: Core
+version: VERSION
+dependencies:
+  - field
diff --git a/core/modules/field/modules/number/number.info b/core/modules/field/modules/number/number.info
deleted file mode 100644
index aabe3d7..0000000
--- a/core/modules/field/modules/number/number.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Number
-description = Defines numeric field types.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field
diff --git a/core/modules/field/modules/number/number.yml b/core/modules/field/modules/number/number.yml
new file mode 100644
index 0000000..2f6c18c
--- /dev/null
+++ b/core/modules/field/modules/number/number.yml
@@ -0,0 +1,8 @@
+---
+name: Number
+description: 'Defines numeric field types.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field
diff --git a/core/modules/field/modules/options/options.info b/core/modules/field/modules/options/options.info
deleted file mode 100644
index f19e952..0000000
--- a/core/modules/field/modules/options/options.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Options
-description = Defines selection, check box and radio button widgets for text and numeric fields.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field
diff --git a/core/modules/field/modules/options/options.yml b/core/modules/field/modules/options/options.yml
new file mode 100644
index 0000000..8e4cc4e
--- /dev/null
+++ b/core/modules/field/modules/options/options.yml
@@ -0,0 +1,8 @@
+---
+name: Options
+description: 'Defines selection, check box and radio button widgets for text and numeric fields.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field
diff --git a/core/modules/field/modules/options/tests/options_test.info b/core/modules/field/modules/options/tests/options_test.info
deleted file mode 100644
index 34acbf10..0000000
--- a/core/modules/field/modules/options/tests/options_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Options test"
-description = "Support module for the Options module tests."
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/field/modules/options/tests/options_test.yml b/core/modules/field/modules/options/tests/options_test.yml
new file mode 100644
index 0000000..42d4132
--- /dev/null
+++ b/core/modules/field/modules/options/tests/options_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Options test'
+description: 'Support module for the Options module tests.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/field/modules/text/text.info b/core/modules/field/modules/text/text.info
deleted file mode 100644
index 3ba8357..0000000
--- a/core/modules/field/modules/text/text.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Text
-description = Defines simple text field types.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field
-required = TRUE
diff --git a/core/modules/field/modules/text/text.yml b/core/modules/field/modules/text/text.yml
new file mode 100644
index 0000000..e66ce3b
--- /dev/null
+++ b/core/modules/field/modules/text/text.yml
@@ -0,0 +1,9 @@
+---
+name: Text
+description: 'Defines simple text field types.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field
+required: true
diff --git a/core/modules/field/tests/modules/field_test/field_test.info b/core/modules/field/tests/modules/field_test/field_test.info
deleted file mode 100644
index 5fc9b27..0000000
--- a/core/modules/field/tests/modules/field_test/field_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "Field API Test"
-description = "Support module for the Field API tests."
-core = 8.x
-package = Testing
-files[] = field_test.entity.inc
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/field/tests/modules/field_test/field_test.yml b/core/modules/field/tests/modules/field_test/field_test.yml
new file mode 100644
index 0000000..3c740cd
--- /dev/null
+++ b/core/modules/field/tests/modules/field_test/field_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'Field API Test'
+description: 'Support module for the Field API tests.'
+core: 8.x
+package: Testing
+files:
+  - field_test.entity.inc
+version: VERSION
+hidden: true
diff --git a/core/modules/field_ui/field_ui.info b/core/modules/field_ui/field_ui.info
deleted file mode 100644
index 2c3c27a..0000000
--- a/core/modules/field_ui/field_ui.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Field UI
-description = User interface for the Field API.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field
diff --git a/core/modules/field_ui/field_ui.yml b/core/modules/field_ui/field_ui.yml
new file mode 100644
index 0000000..bb4ec96
--- /dev/null
+++ b/core/modules/field_ui/field_ui.yml
@@ -0,0 +1,8 @@
+---
+name: 'Field UI'
+description: 'User interface for the Field API.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field
diff --git a/core/modules/file/file.info b/core/modules/file/file.info
deleted file mode 100644
index dc93ab0..0000000
--- a/core/modules/file/file.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = File
-description = Defines a file field type.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = field
diff --git a/core/modules/file/file.yml b/core/modules/file/file.yml
new file mode 100644
index 0000000..d178e1a
--- /dev/null
+++ b/core/modules/file/file.yml
@@ -0,0 +1,8 @@
+---
+name: File
+description: 'Defines a file field type.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - field
diff --git a/core/modules/file/tests/file_module_test.info b/core/modules/file/tests/file_module_test.info
deleted file mode 100644
index d83441c..0000000
--- a/core/modules/file/tests/file_module_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = File test
-description = Provides hooks for testing File module functionality.
-package = Core
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/file/tests/file_module_test.yml b/core/modules/file/tests/file_module_test.yml
new file mode 100644
index 0000000..ffdf936
--- /dev/null
+++ b/core/modules/file/tests/file_module_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'File test'
+description: 'Provides hooks for testing File module functionality.'
+package: Core
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/file/tests/file_test/file_test.info b/core/modules/file/tests/file_test/file_test.info
deleted file mode 100644
index b71f2a0..0000000
--- a/core/modules/file/tests/file_test/file_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "File test"
-description = "Support module for file handling tests."
-package = Testing
-version = VERSION
-core = 8.x
-files[] = file_test.module
-hidden = TRUE
diff --git a/core/modules/file/tests/file_test/file_test.yml b/core/modules/file/tests/file_test/file_test.yml
new file mode 100644
index 0000000..fa9bd4d
--- /dev/null
+++ b/core/modules/file/tests/file_test/file_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'File test'
+description: 'Support module for file handling tests.'
+package: Testing
+version: VERSION
+core: 8.x
+files:
+  - file_test.module
+hidden: true
diff --git a/core/modules/filter/filter.info b/core/modules/filter/filter.info
deleted file mode 100644
index 03ed179..0000000
--- a/core/modules/filter/filter.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Filter
-description = Filters content in preparation for display.
-package = Core
-version = VERSION
-core = 8.x
-required = TRUE
-configure = admin/config/content/formats
diff --git a/core/modules/filter/filter.yml b/core/modules/filter/filter.yml
new file mode 100644
index 0000000..7e8cf3d
--- /dev/null
+++ b/core/modules/filter/filter.yml
@@ -0,0 +1,8 @@
+---
+name: Filter
+description: 'Filters content in preparation for display.'
+package: Core
+version: VERSION
+core: 8.x
+required: true
+configure: admin/config/content/formats
diff --git a/core/modules/forum/forum.info b/core/modules/forum/forum.info
deleted file mode 100644
index 887ed93..0000000
--- a/core/modules/forum/forum.info
+++ /dev/null
@@ -1,10 +0,0 @@
-name = Forum
-description = Provides discussion forums.
-dependencies[] = node
-dependencies[] = taxonomy
-dependencies[] = comment
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/structure/forum
-stylesheets[all][] = forum.css
diff --git a/core/modules/forum/forum.yml b/core/modules/forum/forum.yml
new file mode 100644
index 0000000..21a58a4
--- /dev/null
+++ b/core/modules/forum/forum.yml
@@ -0,0 +1,14 @@
+---
+name: Forum
+description: 'Provides discussion forums.'
+dependencies:
+  - node
+  - taxonomy
+  - comment
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/structure/forum
+stylesheets:
+  all:
+    - forum.css
diff --git a/core/modules/help/help.info b/core/modules/help/help.info
deleted file mode 100644
index 615a302..0000000
--- a/core/modules/help/help.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Help
-description = Manages the display of online help.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/help/help.yml b/core/modules/help/help.yml
new file mode 100644
index 0000000..e9e4771
--- /dev/null
+++ b/core/modules/help/help.yml
@@ -0,0 +1,6 @@
+---
+name: Help
+description: 'Manages the display of online help.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/image/image.info b/core/modules/image/image.info
deleted file mode 100644
index a63fbf5..0000000
--- a/core/modules/image/image.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Image
-description = Provides image manipulation tools.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = file
-configure = admin/config/media/image-styles
diff --git a/core/modules/image/image.yml b/core/modules/image/image.yml
new file mode 100644
index 0000000..f8065b8
--- /dev/null
+++ b/core/modules/image/image.yml
@@ -0,0 +1,9 @@
+---
+name: Image
+description: 'Provides image manipulation tools.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - file
+configure: admin/config/media/image-styles
diff --git a/core/modules/image/tests/image_module_test.info b/core/modules/image/tests/image_module_test.info
deleted file mode 100644
index f73b913..0000000
--- a/core/modules/image/tests/image_module_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Image test
-description = Provides hook implementations for testing Image module functionality.
-package = Core
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/image/tests/image_module_test.yml b/core/modules/image/tests/image_module_test.yml
new file mode 100644
index 0000000..8a0254d
--- /dev/null
+++ b/core/modules/image/tests/image_module_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Image test'
+description: 'Provides hook implementations for testing Image module functionality.'
+package: Core
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/language/language.info b/core/modules/language/language.info
deleted file mode 100644
index 309704f..0000000
--- a/core/modules/language/language.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Language
-description = Lets you configure a number of languages to be used on your website and provides language negotiation functionality.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/regional/language
diff --git a/core/modules/language/language.yml b/core/modules/language/language.yml
new file mode 100644
index 0000000..ec250a6
--- /dev/null
+++ b/core/modules/language/language.yml
@@ -0,0 +1,7 @@
+---
+name: Language
+description: 'Lets you configure a number of languages to be used on your website and provides language negotiation functionality.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/regional/language
diff --git a/core/modules/language/tests/language_test.info b/core/modules/language/tests/language_test.info
deleted file mode 100644
index 6a9a7aa..0000000
--- a/core/modules/language/tests/language_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Language test"
-description = "Support module for the language layer tests."
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/language/tests/language_test.yml b/core/modules/language/tests/language_test.yml
new file mode 100644
index 0000000..9df1d29
--- /dev/null
+++ b/core/modules/language/tests/language_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Language test'
+description: 'Support module for the language layer tests.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/locale/locale.info b/core/modules/locale/locale.info
deleted file mode 100644
index 1e7a4ae..0000000
--- a/core/modules/locale/locale.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Locale
-description = Provides user interface translation to languages other than English.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = language
-dependencies[] = file
diff --git a/core/modules/locale/locale.yml b/core/modules/locale/locale.yml
new file mode 100644
index 0000000..ba1a6d4
--- /dev/null
+++ b/core/modules/locale/locale.yml
@@ -0,0 +1,9 @@
+---
+name: Locale
+description: 'Provides user interface translation to languages other than English.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - language
+  - file
diff --git a/core/modules/locale/tests/modules/locale_test/locale_test.info b/core/modules/locale/tests/modules/locale_test/locale_test.info
deleted file mode 100644
index 1ec7508..0000000
--- a/core/modules/locale/tests/modules/locale_test/locale_test.info
+++ /dev/null
@@ -1,10 +0,0 @@
-name = Locale test
-description = Support module for locale module testing.
-package = Testing
-version = 1.2
-core = 8.x
-hidden = TRUE
-
-; Definitions for interface translations.
-interface translation project = locale_test
-interface translation server pattern = core/modules/locale/test/modules/locale_test/%project-%version.%language.po
diff --git a/core/modules/locale/tests/modules/locale_test/locale_test.yml b/core/modules/locale/tests/modules/locale_test/locale_test.yml
new file mode 100644
index 0000000..7b40faa
--- /dev/null
+++ b/core/modules/locale/tests/modules/locale_test/locale_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'Locale test'
+description: 'Support module for locale module testing.'
+package: Testing
+version: '1.2'
+core: 8.x
+hidden: true
+'interface translation project': locale_test
+'interface translation server pattern': core/modules/locale/test/modules/locale_test/%project-%version.%language.po
diff --git a/core/modules/locale/tests/modules/locale_test_disabled/locale_test_disabled.info b/core/modules/locale/tests/modules/locale_test_disabled/locale_test_disabled.info
deleted file mode 100644
index 7eddf25..0000000
--- a/core/modules/locale/tests/modules/locale_test_disabled/locale_test_disabled.info
+++ /dev/null
@@ -1,10 +0,0 @@
-name = Disabled locale test
-description = Disabled support module for locale module testing.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-project = locale_test_disabled
-
-; Definitions for interface translation.
-interface translation project = locale_test_disabled
diff --git a/core/modules/locale/tests/modules/locale_test_disabled/locale_test_disabled.yml b/core/modules/locale/tests/modules/locale_test_disabled/locale_test_disabled.yml
new file mode 100644
index 0000000..11222b8
--- /dev/null
+++ b/core/modules/locale/tests/modules/locale_test_disabled/locale_test_disabled.yml
@@ -0,0 +1,9 @@
+---
+name: 'Disabled locale test'
+description: 'Disabled support module for locale module testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+project: locale_test_disabled
+'interface translation project': locale_test_disabled
diff --git a/core/modules/menu/menu.info b/core/modules/menu/menu.info
deleted file mode 100644
index e5e2c8b..0000000
--- a/core/modules/menu/menu.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Menu
-description = Allows administrators to customize the site navigation menu.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/structure/menu
diff --git a/core/modules/menu/menu.yml b/core/modules/menu/menu.yml
new file mode 100644
index 0000000..a9f1a77
--- /dev/null
+++ b/core/modules/menu/menu.yml
@@ -0,0 +1,7 @@
+---
+name: Menu
+description: 'Allows administrators to customize the site navigation menu.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/structure/menu
diff --git a/core/modules/node/node.info b/core/modules/node/node.info
deleted file mode 100644
index da33c43..0000000
--- a/core/modules/node/node.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Node
-description = Allows content to be submitted to the site and displayed on pages.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/structure/types
diff --git a/core/modules/node/node.yml b/core/modules/node/node.yml
new file mode 100644
index 0000000..b0b0991
--- /dev/null
+++ b/core/modules/node/node.yml
@@ -0,0 +1,7 @@
+---
+name: Node
+description: 'Allows content to be submitted to the site and displayed on pages.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/structure/types
diff --git a/core/modules/node/tests/modules/node_access_test/node_access_test.info b/core/modules/node/tests/modules/node_access_test/node_access_test.info
deleted file mode 100644
index 4de1c2d..0000000
--- a/core/modules/node/tests/modules/node_access_test/node_access_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Node module access tests"
-description = "Support module for node permission testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/node/tests/modules/node_access_test/node_access_test.yml b/core/modules/node/tests/modules/node_access_test/node_access_test.yml
new file mode 100644
index 0000000..abb33ec
--- /dev/null
+++ b/core/modules/node/tests/modules/node_access_test/node_access_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Node module access tests'
+description: 'Support module for node permission testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/node/tests/modules/node_test/node_test.info b/core/modules/node/tests/modules/node_test/node_test.info
deleted file mode 100644
index 86eed52..0000000
--- a/core/modules/node/tests/modules/node_test/node_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Node module tests"
-description = "Support module for node related testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/node/tests/modules/node_test/node_test.yml b/core/modules/node/tests/modules/node_test/node_test.yml
new file mode 100644
index 0000000..6d7777f
--- /dev/null
+++ b/core/modules/node/tests/modules/node_test/node_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Node module tests'
+description: 'Support module for node related testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/node/tests/modules/node_test_exception/node_test_exception.info b/core/modules/node/tests/modules/node_test_exception/node_test_exception.info
deleted file mode 100644
index 3289912..0000000
--- a/core/modules/node/tests/modules/node_test_exception/node_test_exception.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Node module exception tests"
-description = "Support module for node related exception testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/node/tests/modules/node_test_exception/node_test_exception.yml b/core/modules/node/tests/modules/node_test_exception/node_test_exception.yml
new file mode 100644
index 0000000..3e2eb45
--- /dev/null
+++ b/core/modules/node/tests/modules/node_test_exception/node_test_exception.yml
@@ -0,0 +1,7 @@
+---
+name: 'Node module exception tests'
+description: 'Support module for node related exception testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/openid/openid.info b/core/modules/openid/openid.info
deleted file mode 100644
index fd7359a..0000000
--- a/core/modules/openid/openid.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = OpenID
-description = "Allows users to log into your site using OpenID."
-version = VERSION
-package = Core
-core = 8.x
diff --git a/core/modules/openid/openid.yml b/core/modules/openid/openid.yml
new file mode 100644
index 0000000..cedd98c
--- /dev/null
+++ b/core/modules/openid/openid.yml
@@ -0,0 +1,6 @@
+---
+name: OpenID
+description: 'Allows users to log into your site using OpenID.'
+version: VERSION
+package: Core
+core: 8.x
diff --git a/core/modules/openid/tests/openid_test.info b/core/modules/openid/tests/openid_test.info
deleted file mode 100644
index 94d125d..0000000
--- a/core/modules/openid/tests/openid_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = OpenID dummy provider
-description = "OpenID provider used for testing."
-package = Testing
-version = VERSION
-core = 8.x
-dependencies[] = openid
-hidden = TRUE
diff --git a/core/modules/openid/tests/openid_test.yml b/core/modules/openid/tests/openid_test.yml
new file mode 100644
index 0000000..285fa22
--- /dev/null
+++ b/core/modules/openid/tests/openid_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'OpenID dummy provider'
+description: 'OpenID provider used for testing.'
+package: Testing
+version: VERSION
+core: 8.x
+dependencies:
+  - openid
+hidden: true
diff --git a/core/modules/overlay/overlay.info b/core/modules/overlay/overlay.info
deleted file mode 100644
index a782792..0000000
--- a/core/modules/overlay/overlay.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Overlay
-description = Displays the Drupal administration interface in an overlay.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/overlay/overlay.yml b/core/modules/overlay/overlay.yml
new file mode 100644
index 0000000..143e7f8
--- /dev/null
+++ b/core/modules/overlay/overlay.yml
@@ -0,0 +1,6 @@
+---
+name: Overlay
+description: 'Displays the Drupal administration interface in an overlay.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/path/path.info b/core/modules/path/path.info
deleted file mode 100644
index 7323d1b..0000000
--- a/core/modules/path/path.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Path
-description = Allows users to rename URLs.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/search/path
diff --git a/core/modules/path/path.yml b/core/modules/path/path.yml
new file mode 100644
index 0000000..885a86e
--- /dev/null
+++ b/core/modules/path/path.yml
@@ -0,0 +1,7 @@
+---
+name: Path
+description: 'Allows users to rename URLs.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/search/path
diff --git a/core/modules/php/php.info b/core/modules/php/php.info
deleted file mode 100644
index f155609..0000000
--- a/core/modules/php/php.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = PHP Filter
-description = Allows embedded PHP code/snippets to be evaluated.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/php/php.yml b/core/modules/php/php.yml
new file mode 100644
index 0000000..4ef6a32
--- /dev/null
+++ b/core/modules/php/php.yml
@@ -0,0 +1,6 @@
+---
+name: 'PHP Filter'
+description: 'Allows embedded PHP code/snippets to be evaluated.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/poll/poll.info b/core/modules/poll/poll.info
deleted file mode 100644
index 7cd674a..0000000
--- a/core/modules/poll/poll.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = Poll
-description = Allows your site to capture votes on different topics in the form of multiple choice questions.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = node
-stylesheets[all][] = poll.base.css
-stylesheets[all][] = poll.theme.css
diff --git a/core/modules/poll/poll.yml b/core/modules/poll/poll.yml
new file mode 100644
index 0000000..f1dfa26
--- /dev/null
+++ b/core/modules/poll/poll.yml
@@ -0,0 +1,12 @@
+---
+name: Poll
+description: 'Allows your site to capture votes on different topics in the form of multiple choice questions.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - node
+stylesheets:
+  all:
+    - poll.base.css
+    - poll.theme.css
diff --git a/core/modules/rdf/rdf.info b/core/modules/rdf/rdf.info
deleted file mode 100644
index bc975de..0000000
--- a/core/modules/rdf/rdf.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = RDF
-description = Enriches your content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/rdf/rdf.yml b/core/modules/rdf/rdf.yml
new file mode 100644
index 0000000..982e7c3
--- /dev/null
+++ b/core/modules/rdf/rdf.yml
@@ -0,0 +1,6 @@
+---
+name: RDF
+description: 'Enriches your content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/rdf/tests/rdf_test.info b/core/modules/rdf/tests/rdf_test.info
deleted file mode 100644
index 87a6dac..0000000
--- a/core/modules/rdf/tests/rdf_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "RDF module tests"
-description = "Support module for RDF module testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-dependencies[] = rdf
diff --git a/core/modules/rdf/tests/rdf_test.yml b/core/modules/rdf/tests/rdf_test.yml
new file mode 100644
index 0000000..12add91
--- /dev/null
+++ b/core/modules/rdf/tests/rdf_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'RDF module tests'
+description: 'Support module for RDF module testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - rdf
diff --git a/core/modules/search/search.info b/core/modules/search/search.info
deleted file mode 100644
index 8fdbfaa..0000000
--- a/core/modules/search/search.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Search
-description = Enables site-wide keyword searching.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/search/settings
-stylesheets[all][] = search.theme.css
diff --git a/core/modules/search/search.yml b/core/modules/search/search.yml
new file mode 100644
index 0000000..a49afee
--- /dev/null
+++ b/core/modules/search/search.yml
@@ -0,0 +1,10 @@
+---
+name: Search
+description: 'Enables site-wide keyword searching.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/search/settings
+stylesheets:
+  all:
+    - search.theme.css
diff --git a/core/modules/search/tests/modules/search_embedded_form/search_embedded_form.info b/core/modules/search/tests/modules/search_embedded_form/search_embedded_form.info
deleted file mode 100644
index 2dad9ee..0000000
--- a/core/modules/search/tests/modules/search_embedded_form/search_embedded_form.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Search embedded form"
-description = "Support module for search module testing of embedded forms."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/search/tests/modules/search_embedded_form/search_embedded_form.yml b/core/modules/search/tests/modules/search_embedded_form/search_embedded_form.yml
new file mode 100644
index 0000000..89804e2
--- /dev/null
+++ b/core/modules/search/tests/modules/search_embedded_form/search_embedded_form.yml
@@ -0,0 +1,7 @@
+---
+name: 'Search embedded form'
+description: 'Support module for search module testing of embedded forms.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/search/tests/modules/search_extra_type/search_extra_type.info b/core/modules/search/tests/modules/search_extra_type/search_extra_type.info
deleted file mode 100644
index 23f4dea..0000000
--- a/core/modules/search/tests/modules/search_extra_type/search_extra_type.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Test search type"
-description = "Support module for search module testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/search/tests/modules/search_extra_type/search_extra_type.yml b/core/modules/search/tests/modules/search_extra_type/search_extra_type.yml
new file mode 100644
index 0000000..c25dee2
--- /dev/null
+++ b/core/modules/search/tests/modules/search_extra_type/search_extra_type.yml
@@ -0,0 +1,7 @@
+---
+name: 'Test search type'
+description: 'Support module for search module testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.info b/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.info
deleted file mode 100644
index 4a9de30..0000000
--- a/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Test search entity langcode"
-description = "Support module for search module testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.yml b/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.yml
new file mode 100644
index 0000000..e8a2a34
--- /dev/null
+++ b/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Test search entity langcode'
+description: 'Support module for search module testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/shortcut/shortcut.info b/core/modules/shortcut/shortcut.info
deleted file mode 100644
index 5ed5f2d..0000000
--- a/core/modules/shortcut/shortcut.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Shortcut
-description = Allows users to manage customizable lists of shortcut links.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/user-interface/shortcut
diff --git a/core/modules/shortcut/shortcut.yml b/core/modules/shortcut/shortcut.yml
new file mode 100644
index 0000000..68d9e8a
--- /dev/null
+++ b/core/modules/shortcut/shortcut.yml
@@ -0,0 +1,7 @@
+---
+name: Shortcut
+description: 'Allows users to manage customizable lists of shortcut links.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/user-interface/shortcut
diff --git a/core/modules/simpletest/simpletest.info b/core/modules/simpletest/simpletest.info
deleted file mode 100644
index 6e18c42..0000000
--- a/core/modules/simpletest/simpletest.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Testing
-description = Provides a framework for unit and functional testing.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/development/testing/settings
-
diff --git a/core/modules/simpletest/simpletest.yml b/core/modules/simpletest/simpletest.yml
new file mode 100644
index 0000000..54aae6c
--- /dev/null
+++ b/core/modules/simpletest/simpletest.yml
@@ -0,0 +1,7 @@
+---
+name: Testing
+description: 'Provides a framework for unit and functional testing.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/development/testing/settings
diff --git a/core/modules/statistics/statistics.info b/core/modules/statistics/statistics.info
deleted file mode 100644
index 4b18b8a..0000000
--- a/core/modules/statistics/statistics.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Statistics
-description = Logs access statistics for your site.
-package = Core
-version = VERSION
-core = 8.x
-configure = admin/config/system/statistics
diff --git a/core/modules/statistics/statistics.yml b/core/modules/statistics/statistics.yml
new file mode 100644
index 0000000..946c9f9
--- /dev/null
+++ b/core/modules/statistics/statistics.yml
@@ -0,0 +1,7 @@
+---
+name: Statistics
+description: 'Logs access statistics for your site.'
+package: Core
+version: VERSION
+core: 8.x
+configure: admin/config/system/statistics
diff --git a/core/modules/syslog/syslog.info b/core/modules/syslog/syslog.info
deleted file mode 100644
index e3f541f..0000000
--- a/core/modules/syslog/syslog.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Syslog
-description = Logs and records system events to syslog.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/syslog/syslog.yml b/core/modules/syslog/syslog.yml
new file mode 100644
index 0000000..7624d2a
--- /dev/null
+++ b/core/modules/syslog/syslog.yml
@@ -0,0 +1,6 @@
+---
+name: Syslog
+description: 'Logs and records system events to syslog.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/InfoFileParserUnitTest.php b/core/modules/system/lib/Drupal/system/Tests/System/InfoFileParserUnitTest.php
index 05f36da..dfa47d8 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/InfoFileParserUnitTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/InfoFileParserUnitTest.php
@@ -22,23 +22,27 @@ public static function getInfo() {
    * Test drupal_parse_info_format().
    */
   function testDrupalParseInfoFormat() {
-    $config = '
-simple = Value
-quoted = " Value"
-multiline = "Value
-  Value"
-array[] = Value1
-array[] = Value2
-array_assoc[a] = Value1
-array_assoc[b] = Value2
-array_deep[][][] = Value
-array_deep_assoc[a][b][c] = Value
-array_space[a b] = Value';
+    $config = "
+simple: Value
+quoted: ' Value'
+array:
+  - Value1
+  - Value2
+array_assoc:
+  a: Value1
+  b: Value2
+array_deep:
+  - [[Value]]
+array_deep_assoc:
+  a:
+    b:
+      c: Value
+array_space:
+  'a b': Value";
 
     $expected = array(
       'simple' => 'Value',
       'quoted' => ' Value',
-      'multiline' => "Value\n  Value",
       'array' => array(
         0 => 'Value1',
         1 => 'Value2',
@@ -66,11 +70,10 @@ function testDrupalParseInfoFormat() {
       ),
     );
 
-    $parsed = drupal_parse_info_format($config);
+    $parsed = Yaml::parse($config);
 
     $this->assertEqual($parsed['simple'], $expected['simple'], t('Set a simple value.'));
     $this->assertEqual($parsed['quoted'], $expected['quoted'], t('Set a simple value in quotes.'));
-    $this->assertEqual($parsed['multiline'], $expected['multiline'], t('Set a multiline value.'));
     $this->assertEqual($parsed['array'], $expected['array'], t('Set a simple array.'));
     $this->assertEqual($parsed['array_assoc'], $expected['array_assoc'], t('Set an associative array.'));
     $this->assertEqual($parsed['array_deep'], $expected['array_deep'], t('Set a nested array.'));
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 2d7e194..6dc3cbb 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -1315,7 +1315,7 @@ function system_modules_uninstall_confirm_form($storage) {
 
   // Construct the hidden form elements and list items.
   foreach (array_filter($storage['uninstall']) as $module => $value) {
-    $info = drupal_parse_info_file(drupal_get_path('module', $module) . '/' . $module . '.info');
+    $info = drupal_parse_info_file(drupal_get_path('module', $module) . '/' . $module . '.yml');
     $uninstall[] = $info['name'];
     $form['uninstall'][$module] = array('#type' => 'hidden',
       '#value' => 1,
diff --git a/core/modules/system/system.api.php b/core/modules/system/system.api.php
index dd263cd..c5d6258 100644
--- a/core/modules/system/system.api.php
+++ b/core/modules/system/system.api.php
@@ -1694,7 +1694,7 @@ function hook_system_theme_info() {
  *
  * This hook is invoked in _system_rebuild_module_data() and in
  * _system_rebuild_theme_data(). A module may implement this hook in order to
- * add to or alter the data generated by reading the .info file with
+ * add to or alter the data generated by reading the .yml file with
  * drupal_parse_info_file().
  *
  * @param $info
diff --git a/core/modules/system/system.info b/core/modules/system/system.info
deleted file mode 100644
index 6b686d7..0000000
--- a/core/modules/system/system.info
+++ /dev/null
@@ -1,10 +0,0 @@
-name = System
-description = Handles general site configuration for administrators.
-package = Core
-version = VERSION
-core = 8.x
-required = TRUE
-configure = admin/config/system
-
-; Tests in tests directory.
-files[] = tests/registry.test
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 4524a49..bdce113 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -2865,11 +2865,11 @@ function _system_rebuild_module_data() {
     $modules[$key]->filename = $module->uri;
 
     // Look for the info file.
-    $module->info = drupal_parse_info_file(dirname($module->uri) . '/' . $module->name . '.info');
+    $module->info = drupal_parse_info_file(dirname($module->uri) . '/' . $module->name . '.yml');
 
     // Add the info file modification time, so it becomes available for
     // contributed modules to use for ordering module lists.
-    $module->info['mtime'] = filemtime(dirname($module->uri) . '/' . $module->name . '.info');
+    $module->info['mtime'] = filemtime(dirname($module->uri) . '/' . $module->name . '.yml');
 
     // Skip modules that don't provide info.
     if (empty($module->info)) {
@@ -2971,7 +2971,7 @@ function _system_update_bootstrap_status() {
  */
 function _system_rebuild_theme_data() {
   // Find themes
-  $themes = drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.info$/', 'themes');
+  $themes = drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.yml$/', 'themes');
   // Allow modules to add further themes.
   if ($module_themes = module_invoke_all('system_theme_info')) {
     foreach ($module_themes as $name => $uri) {
diff --git a/core/modules/system/system.yml b/core/modules/system/system.yml
new file mode 100644
index 0000000..31d117a
--- /dev/null
+++ b/core/modules/system/system.yml
@@ -0,0 +1,10 @@
+---
+name: System
+description: 'Handles general site configuration for administrators.'
+package: Core
+version: VERSION
+core: 8.x
+required: true
+configure: admin/config/system
+files:
+  - tests/registry.test
diff --git a/core/modules/system/tests/common_test_info.txt b/core/modules/system/tests/common_test_info.txt
index ae217b9..caacf80d 100644
--- a/core/modules/system/tests/common_test_info.txt
+++ b/core/modules/system/tests/common_test_info.txt
@@ -1,9 +1,10 @@
-; Test parsing with a simple string.
-simple_string = A simple string
+---
+# Test parsing with a simple string.
+simple_string: A simple string
 
-; Test that constants can be used as values.
-simple_constant = WATCHDOG_INFO
+# Test that the VERSION constant substitution works
+version: VERSION
 
-; After parsing the .info file, 'double_colon' should hold the literal value.
-; Parsing should not throw a fatal error or try to access a class constant.
-double_colon = dummyClassName::
+# After parsing the .info file, 'double_colon' should hold the literal value.
+# Parsing should not throw a fatal error or try to access a class constant.
+double_colon: dummyClassName::
diff --git a/core/modules/system/tests/modules/ajax_forms_test/ajax_forms_test.info b/core/modules/system/tests/modules/ajax_forms_test/ajax_forms_test.info
deleted file mode 100644
index 987ee25..0000000
--- a/core/modules/system/tests/modules/ajax_forms_test/ajax_forms_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "AJAX form test mock module"
-description = "Test for AJAX form calls."
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/ajax_forms_test/ajax_forms_test.yml b/core/modules/system/tests/modules/ajax_forms_test/ajax_forms_test.yml
new file mode 100644
index 0000000..6fd658f
--- /dev/null
+++ b/core/modules/system/tests/modules/ajax_forms_test/ajax_forms_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'AJAX form test mock module'
+description: 'Test for AJAX form calls.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/system/tests/modules/ajax_test/ajax_test.info b/core/modules/system/tests/modules/ajax_test/ajax_test.info
deleted file mode 100644
index dda7f55..0000000
--- a/core/modules/system/tests/modules/ajax_test/ajax_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = AJAX Test
-description = Support module for AJAX framework tests.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/ajax_test/ajax_test.yml b/core/modules/system/tests/modules/ajax_test/ajax_test.yml
new file mode 100644
index 0000000..c631fa8
--- /dev/null
+++ b/core/modules/system/tests/modules/ajax_test/ajax_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'AJAX Test'
+description: 'Support module for AJAX framework tests.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/batch_test/batch_test.info b/core/modules/system/tests/modules/batch_test/batch_test.info
deleted file mode 100644
index cf2cc30..0000000
--- a/core/modules/system/tests/modules/batch_test/batch_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Batch API test"
-description = "Support module for Batch API tests."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/batch_test/batch_test.yml b/core/modules/system/tests/modules/batch_test/batch_test.yml
new file mode 100644
index 0000000..e58d669
--- /dev/null
+++ b/core/modules/system/tests/modules/batch_test/batch_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Batch API test'
+description: 'Support module for Batch API tests.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/bundle_test/bundle_test.info b/core/modules/system/tests/modules/bundle_test/bundle_test.info
deleted file mode 100644
index ec79843..0000000
--- a/core/modules/system/tests/modules/bundle_test/bundle_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Bundle test"
-description = "Support module for bundle testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/bundle_test/bundle_test.yml b/core/modules/system/tests/modules/bundle_test/bundle_test.yml
new file mode 100644
index 0000000..c9e6241
--- /dev/null
+++ b/core/modules/system/tests/modules/bundle_test/bundle_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Bundle test'
+description: 'Support module for bundle testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/cache_test/cache_test.info b/core/modules/system/tests/modules/cache_test/cache_test.info
deleted file mode 100644
index 095b6fd..0000000
--- a/core/modules/system/tests/modules/cache_test/cache_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Cache test"
-description = "Support module for cache system testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/cache_test/cache_test.yml b/core/modules/system/tests/modules/cache_test/cache_test.yml
new file mode 100644
index 0000000..b90c311
--- /dev/null
+++ b/core/modules/system/tests/modules/cache_test/cache_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Cache test'
+description: 'Support module for cache system testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/common_test/common_test.info b/core/modules/system/tests/modules/common_test/common_test.info
deleted file mode 100644
index 9e6d24f..0000000
--- a/core/modules/system/tests/modules/common_test/common_test.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = "Common Test"
-description = "Support module for Common tests."
-package = Testing
-version = VERSION
-core = 8.x
-stylesheets[all][] = common_test.css
-stylesheets[print][] = common_test.print.css
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/common_test/common_test.yml b/core/modules/system/tests/modules/common_test/common_test.yml
new file mode 100644
index 0000000..9dabe43
--- /dev/null
+++ b/core/modules/system/tests/modules/common_test/common_test.yml
@@ -0,0 +1,12 @@
+---
+name: 'Common Test'
+description: 'Support module for Common tests.'
+package: Testing
+version: VERSION
+core: 8.x
+stylesheets:
+  all:
+    - common_test.css
+  print:
+    - common_test.print.css
+hidden: true
diff --git a/core/modules/system/tests/modules/common_test_cron_helper/common_test_cron_helper.info b/core/modules/system/tests/modules/common_test_cron_helper/common_test_cron_helper.info
deleted file mode 100644
index b464a33..0000000
--- a/core/modules/system/tests/modules/common_test_cron_helper/common_test_cron_helper.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Common Test Cron Helper"
-description = "Helper module for CronRunTestCase::testCronExceptions()."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/common_test_cron_helper/common_test_cron_helper.yml b/core/modules/system/tests/modules/common_test_cron_helper/common_test_cron_helper.yml
new file mode 100644
index 0000000..421f849
--- /dev/null
+++ b/core/modules/system/tests/modules/common_test_cron_helper/common_test_cron_helper.yml
@@ -0,0 +1,7 @@
+---
+name: 'Common Test Cron Helper'
+description: 'Helper module for CronRunTestCase::testCronExceptions().'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/config_upgrade/config_upgrade.info b/core/modules/system/tests/modules/config_upgrade/config_upgrade.info
deleted file mode 100644
index 283f868..0000000
--- a/core/modules/system/tests/modules/config_upgrade/config_upgrade.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Config upgrade tests
-description = A support module for update_variables_to_config testing.
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/config_upgrade/config_upgrade.yml b/core/modules/system/tests/modules/config_upgrade/config_upgrade.yml
new file mode 100644
index 0000000..9758e49
--- /dev/null
+++ b/core/modules/system/tests/modules/config_upgrade/config_upgrade.yml
@@ -0,0 +1,7 @@
+---
+name: 'Config upgrade tests'
+description: 'A support module for update_variables_to_config testing.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/system/tests/modules/database_test/database_test.info b/core/modules/system/tests/modules/database_test/database_test.info
deleted file mode 100644
index 7f38661..0000000
--- a/core/modules/system/tests/modules/database_test/database_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Database Test"
-description = "Support module for Database layer tests."
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/database_test/database_test.yml b/core/modules/system/tests/modules/database_test/database_test.yml
new file mode 100644
index 0000000..a65067b
--- /dev/null
+++ b/core/modules/system/tests/modules/database_test/database_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Database Test'
+description: 'Support module for Database layer tests.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/system/tests/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info b/core/modules/system/tests/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
deleted file mode 100644
index 53515e7..0000000
--- a/core/modules/system/tests/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Drupal system listing compatible test"
-description = "Support module for testing the drupal_system_listing function."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.yml b/core/modules/system/tests/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.yml
new file mode 100644
index 0000000..8e60fc3
--- /dev/null
+++ b/core/modules/system/tests/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Drupal system listing compatible test'
+description: 'Support module for testing the drupal_system_listing function.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info b/core/modules/system/tests/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
deleted file mode 100644
index 8753eda..0000000
--- a/core/modules/system/tests/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Drupal system listing incompatible test"
-description = "Support module for testing the drupal_system_listing function."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.yml b/core/modules/system/tests/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.yml
new file mode 100644
index 0000000..dbef837
--- /dev/null
+++ b/core/modules/system/tests/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Drupal system listing incompatible test'
+description: 'Support module for testing the drupal_system_listing function.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/entity_cache_test/entity_cache_test.info b/core/modules/system/tests/modules/entity_cache_test/entity_cache_test.info
deleted file mode 100644
index c13496e..0000000
--- a/core/modules/system/tests/modules/entity_cache_test/entity_cache_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "Entity cache test"
-description = "Support module for testing entity cache."
-package = Testing
-version = VERSION
-core = 8.x
-dependencies[] = entity_cache_test_dependency
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/entity_cache_test/entity_cache_test.yml b/core/modules/system/tests/modules/entity_cache_test/entity_cache_test.yml
new file mode 100644
index 0000000..8aa5f5b
--- /dev/null
+++ b/core/modules/system/tests/modules/entity_cache_test/entity_cache_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'Entity cache test'
+description: 'Support module for testing entity cache.'
+package: Testing
+version: VERSION
+core: 8.x
+dependencies:
+  - entity_cache_test_dependency
+hidden: true
diff --git a/core/modules/system/tests/modules/entity_cache_test_dependency/entity_cache_test_dependency.info b/core/modules/system/tests/modules/entity_cache_test_dependency/entity_cache_test_dependency.info
deleted file mode 100644
index 17d551c..0000000
--- a/core/modules/system/tests/modules/entity_cache_test_dependency/entity_cache_test_dependency.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Entity cache test dependency"
-description = "Support dependency module for testing entity cache."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/entity_cache_test_dependency/entity_cache_test_dependency.yml b/core/modules/system/tests/modules/entity_cache_test_dependency/entity_cache_test_dependency.yml
new file mode 100644
index 0000000..524e506
--- /dev/null
+++ b/core/modules/system/tests/modules/entity_cache_test_dependency/entity_cache_test_dependency.yml
@@ -0,0 +1,7 @@
+---
+name: 'Entity cache test dependency'
+description: 'Support dependency module for testing entity cache.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/entity_crud_hook_test/entity_crud_hook_test.info b/core/modules/system/tests/modules/entity_crud_hook_test/entity_crud_hook_test.info
deleted file mode 100644
index 28ce1b5..0000000
--- a/core/modules/system/tests/modules/entity_crud_hook_test/entity_crud_hook_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Entity CRUD Hooks Test"
-description = "Support module for CRUD hook tests."
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/entity_crud_hook_test/entity_crud_hook_test.yml b/core/modules/system/tests/modules/entity_crud_hook_test/entity_crud_hook_test.yml
new file mode 100644
index 0000000..72b535d
--- /dev/null
+++ b/core/modules/system/tests/modules/entity_crud_hook_test/entity_crud_hook_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Entity CRUD Hooks Test'
+description: 'Support module for CRUD hook tests.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/system/tests/modules/entity_query_access_test/entity_query_access_test.info b/core/modules/system/tests/modules/entity_query_access_test/entity_query_access_test.info
deleted file mode 100644
index 369b204..0000000
--- a/core/modules/system/tests/modules/entity_query_access_test/entity_query_access_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "Entity query access test"
-description = "Support module for checking entity query results."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-
diff --git a/core/modules/system/tests/modules/entity_query_access_test/entity_query_access_test.yml b/core/modules/system/tests/modules/entity_query_access_test/entity_query_access_test.yml
new file mode 100644
index 0000000..b13094b
--- /dev/null
+++ b/core/modules/system/tests/modules/entity_query_access_test/entity_query_access_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Entity query access test'
+description: 'Support module for checking entity query results.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/entity_test/entity_test.info b/core/modules/system/tests/modules/entity_test/entity_test.info
deleted file mode 100644
index ce49e8a..0000000
--- a/core/modules/system/tests/modules/entity_test/entity_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Entity CRUD test module
-description = Provides entity types based upon the CRUD API.
-package = Testing
-version = VERSION
-core = 8.x
-dependencies[] = field
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/entity_test/entity_test.yml b/core/modules/system/tests/modules/entity_test/entity_test.yml
new file mode 100644
index 0000000..10f5dc1
--- /dev/null
+++ b/core/modules/system/tests/modules/entity_test/entity_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'Entity CRUD test module'
+description: 'Provides entity types based upon the CRUD API.'
+package: Testing
+version: VERSION
+core: 8.x
+dependencies:
+  - field
+hidden: true
diff --git a/core/modules/system/tests/modules/error_test/error_test.info b/core/modules/system/tests/modules/error_test/error_test.info
deleted file mode 100644
index d5db3ee..0000000
--- a/core/modules/system/tests/modules/error_test/error_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Error test"
-description = "Support module for error and exception testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/error_test/error_test.yml b/core/modules/system/tests/modules/error_test/error_test.yml
new file mode 100644
index 0000000..b0f4e4e
--- /dev/null
+++ b/core/modules/system/tests/modules/error_test/error_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Error test'
+description: 'Support module for error and exception testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/filter_test/filter_test.info b/core/modules/system/tests/modules/filter_test/filter_test.info
deleted file mode 100644
index ee27c29..0000000
--- a/core/modules/system/tests/modules/filter_test/filter_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Filter test module
-description = Tests filter hooks and functions.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/filter_test/filter_test.yml b/core/modules/system/tests/modules/filter_test/filter_test.yml
new file mode 100644
index 0000000..1de4612
--- /dev/null
+++ b/core/modules/system/tests/modules/filter_test/filter_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Filter test module'
+description: 'Tests filter hooks and functions.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/form_test/form_test.info b/core/modules/system/tests/modules/form_test/form_test.info
deleted file mode 100644
index 5354350..0000000
--- a/core/modules/system/tests/modules/form_test/form_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "FormAPI Test"
-description = "Support module for Form API tests."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/form_test/form_test.yml b/core/modules/system/tests/modules/form_test/form_test.yml
new file mode 100644
index 0000000..daa0885
--- /dev/null
+++ b/core/modules/system/tests/modules/form_test/form_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'FormAPI Test'
+description: 'Support module for Form API tests.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/image_test/image_test.info b/core/modules/system/tests/modules/image_test/image_test.info
deleted file mode 100644
index becc207..0000000
--- a/core/modules/system/tests/modules/image_test/image_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Image test"
-description = "Support module for image toolkit tests."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/image_test/image_test.yml b/core/modules/system/tests/modules/image_test/image_test.yml
new file mode 100644
index 0000000..7a3b36b
--- /dev/null
+++ b/core/modules/system/tests/modules/image_test/image_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Image test'
+description: 'Support module for image toolkit tests.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/menu_test/menu_test.info b/core/modules/system/tests/modules/menu_test/menu_test.info
deleted file mode 100644
index 4549a25..0000000
--- a/core/modules/system/tests/modules/menu_test/menu_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Hook menu tests"
-description = "Support module for menu hook testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/menu_test/menu_test.yml b/core/modules/system/tests/modules/menu_test/menu_test.yml
new file mode 100644
index 0000000..3f82e71
--- /dev/null
+++ b/core/modules/system/tests/modules/menu_test/menu_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Hook menu tests'
+description: 'Support module for menu hook testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/module_autoload_test/module_autoload_test.info b/core/modules/system/tests/modules/module_autoload_test/module_autoload_test.info
deleted file mode 100644
index b29f162..0000000
--- a/core/modules/system/tests/modules/module_autoload_test/module_autoload_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Module autoload test"
-description = "Support module for module system tests."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/module_autoload_test/module_autoload_test.yml b/core/modules/system/tests/modules/module_autoload_test/module_autoload_test.yml
new file mode 100644
index 0000000..884442a
--- /dev/null
+++ b/core/modules/system/tests/modules/module_autoload_test/module_autoload_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Module autoload test'
+description: 'Support module for module system tests.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/module_test/module_test.info b/core/modules/system/tests/modules/module_test/module_test.info
deleted file mode 100644
index c0b243c..0000000
--- a/core/modules/system/tests/modules/module_test/module_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Module test"
-description = "Support module for module system testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/module_test/module_test.yml b/core/modules/system/tests/modules/module_test/module_test.yml
new file mode 100644
index 0000000..564db73
--- /dev/null
+++ b/core/modules/system/tests/modules/module_test/module_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Module test'
+description: 'Support module for module system testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/path_test/path_test.info b/core/modules/system/tests/modules/path_test/path_test.info
deleted file mode 100644
index d2573a4..0000000
--- a/core/modules/system/tests/modules/path_test/path_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Hook path tests"
-description = "Support module for path hook testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/path_test/path_test.yml b/core/modules/system/tests/modules/path_test/path_test.yml
new file mode 100644
index 0000000..23216d7
--- /dev/null
+++ b/core/modules/system/tests/modules/path_test/path_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Hook path tests'
+description: 'Support module for path hook testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/plugin_test/plugin_test.info b/core/modules/system/tests/modules/plugin_test/plugin_test.info
deleted file mode 100644
index 406e02f..0000000
--- a/core/modules/system/tests/modules/plugin_test/plugin_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Plugin Test Support"
-description = "Test that plugins can provide plugins and provide namespace discovery for plugin test implementations."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/plugin_test/plugin_test.yml b/core/modules/system/tests/modules/plugin_test/plugin_test.yml
new file mode 100644
index 0000000..9c4a8c2
--- /dev/null
+++ b/core/modules/system/tests/modules/plugin_test/plugin_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Plugin Test Support'
+description: 'Test that plugins can provide plugins and provide namespace discovery for plugin test implementations.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/requirements1_test/requirements1_test.info b/core/modules/system/tests/modules/requirements1_test/requirements1_test.info
deleted file mode 100644
index 6daa75e..0000000
--- a/core/modules/system/tests/modules/requirements1_test/requirements1_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Requirements 1 Test
-description = "Tests that a module is not installed when it fails hook_requirements('install')."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/requirements1_test/requirements1_test.yml b/core/modules/system/tests/modules/requirements1_test/requirements1_test.yml
new file mode 100644
index 0000000..e7c335f
--- /dev/null
+++ b/core/modules/system/tests/modules/requirements1_test/requirements1_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Requirements 1 Test'
+description: 'Tests that a module is not installed when it fails hook_requirements(''install'').'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/requirements2_test/requirements2_test.info b/core/modules/system/tests/modules/requirements2_test/requirements2_test.info
deleted file mode 100644
index 270be65..0000000
--- a/core/modules/system/tests/modules/requirements2_test/requirements2_test.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = Requirements 2 Test
-description = "Tests that a module is not installed when the one it depends on fails hook_requirements('install)."
-dependencies[] = requirements1_test
-dependencies[] = comment
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/requirements2_test/requirements2_test.yml b/core/modules/system/tests/modules/requirements2_test/requirements2_test.yml
new file mode 100644
index 0000000..a147335
--- /dev/null
+++ b/core/modules/system/tests/modules/requirements2_test/requirements2_test.yml
@@ -0,0 +1,10 @@
+---
+name: 'Requirements 2 Test'
+description: 'Tests that a module is not installed when the one it depends on fails hook_requirements(''install).'
+dependencies:
+  - requirements1_test
+  - comment
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/router_test/router_test.info b/core/modules/system/tests/modules/router_test/router_test.info
deleted file mode 100644
index d729865..0000000
--- a/core/modules/system/tests/modules/router_test/router_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Router test"
-description = "Support module for routing testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/router_test/router_test.yml b/core/modules/system/tests/modules/router_test/router_test.yml
new file mode 100644
index 0000000..112e3f6
--- /dev/null
+++ b/core/modules/system/tests/modules/router_test/router_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Router test'
+description: 'Support module for routing testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/session_test/session_test.info b/core/modules/system/tests/modules/session_test/session_test.info
deleted file mode 100644
index 73de0a1..0000000
--- a/core/modules/system/tests/modules/session_test/session_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Session test"
-description = "Support module for session data testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/session_test/session_test.yml b/core/modules/system/tests/modules/session_test/session_test.yml
new file mode 100644
index 0000000..72ac9ab
--- /dev/null
+++ b/core/modules/system/tests/modules/session_test/session_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Session test'
+description: 'Support module for session data testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/system_dependencies_test/system_dependencies_test.info b/core/modules/system/tests/modules/system_dependencies_test/system_dependencies_test.info
deleted file mode 100644
index c90706d..0000000
--- a/core/modules/system/tests/modules/system_dependencies_test/system_dependencies_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "System dependency test"
-description = "Support module for testing system dependencies."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-dependencies[] = _missing_dependency
diff --git a/core/modules/system/tests/modules/system_dependencies_test/system_dependencies_test.yml b/core/modules/system/tests/modules/system_dependencies_test/system_dependencies_test.yml
new file mode 100644
index 0000000..339ce39
--- /dev/null
+++ b/core/modules/system/tests/modules/system_dependencies_test/system_dependencies_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'System dependency test'
+description: 'Support module for testing system dependencies.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - _missing_dependency
diff --git a/core/modules/system/tests/modules/system_incompatible_core_version_dependencies_test/system_incompatible_core_version_dependencies_test.info b/core/modules/system/tests/modules/system_incompatible_core_version_dependencies_test/system_incompatible_core_version_dependencies_test.info
deleted file mode 100644
index 9b66cf0..0000000
--- a/core/modules/system/tests/modules/system_incompatible_core_version_dependencies_test/system_incompatible_core_version_dependencies_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "System incompatible core version dependencies test"
-description = "Support module for testing system dependencies."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-dependencies[] = system_incompatible_core_version_test
diff --git a/core/modules/system/tests/modules/system_incompatible_core_version_dependencies_test/system_incompatible_core_version_dependencies_test.yml b/core/modules/system/tests/modules/system_incompatible_core_version_dependencies_test/system_incompatible_core_version_dependencies_test.yml
new file mode 100644
index 0000000..db55ff2
--- /dev/null
+++ b/core/modules/system/tests/modules/system_incompatible_core_version_dependencies_test/system_incompatible_core_version_dependencies_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'System incompatible core version dependencies test'
+description: 'Support module for testing system dependencies.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - system_incompatible_core_version_test
diff --git a/core/modules/system/tests/modules/system_incompatible_core_version_test/system_incompatible_core_version_test.info b/core/modules/system/tests/modules/system_incompatible_core_version_test/system_incompatible_core_version_test.info
deleted file mode 100644
index ced53e9..0000000
--- a/core/modules/system/tests/modules/system_incompatible_core_version_test/system_incompatible_core_version_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "System incompatible core version test"
-description = "Support module for testing system dependencies."
-package = Testing
-version = VERSION
-core = 5.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/system_incompatible_core_version_test/system_incompatible_core_version_test.yml b/core/modules/system/tests/modules/system_incompatible_core_version_test/system_incompatible_core_version_test.yml
new file mode 100644
index 0000000..6bd155e
--- /dev/null
+++ b/core/modules/system/tests/modules/system_incompatible_core_version_test/system_incompatible_core_version_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'System incompatible core version test'
+description: 'Support module for testing system dependencies.'
+package: Testing
+version: VERSION
+core: 5.x
+hidden: true
diff --git a/core/modules/system/tests/modules/system_incompatible_module_version_dependencies_test/system_incompatible_module_version_dependencies_test.info b/core/modules/system/tests/modules/system_incompatible_module_version_dependencies_test/system_incompatible_module_version_dependencies_test.info
deleted file mode 100644
index 8c02083..0000000
--- a/core/modules/system/tests/modules/system_incompatible_module_version_dependencies_test/system_incompatible_module_version_dependencies_test.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = "System incompatible module version dependencies test"
-description = "Support module for testing system dependencies."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-; system_incompatible_module_version_test declares version 1.0
-dependencies[] = system_incompatible_module_version_test (>2.0)
diff --git a/core/modules/system/tests/modules/system_incompatible_module_version_dependencies_test/system_incompatible_module_version_dependencies_test.yml b/core/modules/system/tests/modules/system_incompatible_module_version_dependencies_test/system_incompatible_module_version_dependencies_test.yml
new file mode 100644
index 0000000..bf25d21
--- /dev/null
+++ b/core/modules/system/tests/modules/system_incompatible_module_version_dependencies_test/system_incompatible_module_version_dependencies_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'System incompatible module version dependencies test'
+description: 'Support module for testing system dependencies.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - 'system_incompatible_module_version_test (>2.0)'
diff --git a/core/modules/system/tests/modules/system_incompatible_module_version_test/system_incompatible_module_version_test.info b/core/modules/system/tests/modules/system_incompatible_module_version_test/system_incompatible_module_version_test.info
deleted file mode 100644
index 2c93c59..0000000
--- a/core/modules/system/tests/modules/system_incompatible_module_version_test/system_incompatible_module_version_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "System incompatible module version test"
-description = "Support module for testing system dependencies."
-package = Testing
-version = 1.0
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/system_incompatible_module_version_test/system_incompatible_module_version_test.yml b/core/modules/system/tests/modules/system_incompatible_module_version_test/system_incompatible_module_version_test.yml
new file mode 100644
index 0000000..73d0ef3
--- /dev/null
+++ b/core/modules/system/tests/modules/system_incompatible_module_version_test/system_incompatible_module_version_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'System incompatible module version test'
+description: 'Support module for testing system dependencies.'
+package: Testing
+version: '1.0'
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/system_module_test/system_module_test.info b/core/modules/system/tests/modules/system_module_test/system_module_test.info
deleted file mode 100644
index 5184a33..0000000
--- a/core/modules/system/tests/modules/system_module_test/system_module_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "System test"
-description = "Provides hook implementations for testing System module functionality."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/system_module_test/system_module_test.yml b/core/modules/system/tests/modules/system_module_test/system_module_test.yml
new file mode 100644
index 0000000..1cefc31
--- /dev/null
+++ b/core/modules/system/tests/modules/system_module_test/system_module_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'System test'
+description: 'Provides hook implementations for testing System module functionality.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/system_test/system_test.info b/core/modules/system/tests/modules/system_test/system_test.info
deleted file mode 100644
index 8479b39..0000000
--- a/core/modules/system/tests/modules/system_test/system_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = System test
-description = Support module for system testing.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/system_test/system_test.yml b/core/modules/system/tests/modules/system_test/system_test.yml
new file mode 100644
index 0000000..fcc487b
--- /dev/null
+++ b/core/modules/system/tests/modules/system_test/system_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'System test'
+description: 'Support module for system testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/taxonomy_test/taxonomy_test.info b/core/modules/system/tests/modules/taxonomy_test/taxonomy_test.info
deleted file mode 100644
index b4489d6..0000000
--- a/core/modules/system/tests/modules/taxonomy_test/taxonomy_test.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = "Taxonomy test module"
-description = "Tests functions and hooks not used in core".
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
-dependencies[] = taxonomy
diff --git a/core/modules/system/tests/modules/taxonomy_test/taxonomy_test.yml b/core/modules/system/tests/modules/taxonomy_test/taxonomy_test.yml
new file mode 100644
index 0000000..53537fb
--- /dev/null
+++ b/core/modules/system/tests/modules/taxonomy_test/taxonomy_test.yml
@@ -0,0 +1,9 @@
+---
+name: 'Taxonomy test module'
+description: '"Tests functions and hooks not used in core".'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - taxonomy
diff --git a/core/modules/system/tests/modules/theme_page_test/theme_page_test.info b/core/modules/system/tests/modules/theme_page_test/theme_page_test.info
deleted file mode 100644
index 989d1dc..0000000
--- a/core/modules/system/tests/modules/theme_page_test/theme_page_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Theme page test"
-description = "Support module for theme system testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/theme_page_test/theme_page_test.yml b/core/modules/system/tests/modules/theme_page_test/theme_page_test.yml
new file mode 100644
index 0000000..62a84ef
--- /dev/null
+++ b/core/modules/system/tests/modules/theme_page_test/theme_page_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Theme page test'
+description: 'Support module for theme system testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/theme_test/theme_test.info b/core/modules/system/tests/modules/theme_test/theme_test.info
deleted file mode 100644
index c4d0659..0000000
--- a/core/modules/system/tests/modules/theme_test/theme_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Theme test"
-description = "Support module for theme system testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/theme_test/theme_test.yml b/core/modules/system/tests/modules/theme_test/theme_test.yml
new file mode 100644
index 0000000..1ace2f6
--- /dev/null
+++ b/core/modules/system/tests/modules/theme_test/theme_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Theme test'
+description: 'Support module for theme system testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/update_script_test/update_script_test.info b/core/modules/system/tests/modules/update_script_test/update_script_test.info
deleted file mode 100644
index 04bf73c..0000000
--- a/core/modules/system/tests/modules/update_script_test/update_script_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Update script test"
-description = "Support module for update script testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/update_script_test/update_script_test.yml b/core/modules/system/tests/modules/update_script_test/update_script_test.yml
new file mode 100644
index 0000000..497b3b0
--- /dev/null
+++ b/core/modules/system/tests/modules/update_script_test/update_script_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Update script test'
+description: 'Support module for update script testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/update_test_1/update_test_1.info b/core/modules/system/tests/modules/update_test_1/update_test_1.info
deleted file mode 100644
index 5a5b14f..0000000
--- a/core/modules/system/tests/modules/update_test_1/update_test_1.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Update test"
-description = "Support module for update testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/update_test_1/update_test_1.yml b/core/modules/system/tests/modules/update_test_1/update_test_1.yml
new file mode 100644
index 0000000..5365c5b
--- /dev/null
+++ b/core/modules/system/tests/modules/update_test_1/update_test_1.yml
@@ -0,0 +1,7 @@
+---
+name: 'Update test'
+description: 'Support module for update testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/update_test_2/update_test_2.info b/core/modules/system/tests/modules/update_test_2/update_test_2.info
deleted file mode 100644
index 5a5b14f..0000000
--- a/core/modules/system/tests/modules/update_test_2/update_test_2.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Update test"
-description = "Support module for update testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/update_test_2/update_test_2.yml b/core/modules/system/tests/modules/update_test_2/update_test_2.yml
new file mode 100644
index 0000000..5365c5b
--- /dev/null
+++ b/core/modules/system/tests/modules/update_test_2/update_test_2.yml
@@ -0,0 +1,7 @@
+---
+name: 'Update test'
+description: 'Support module for update testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/update_test_3/update_test_3.info b/core/modules/system/tests/modules/update_test_3/update_test_3.info
deleted file mode 100644
index 5a5b14f..0000000
--- a/core/modules/system/tests/modules/update_test_3/update_test_3.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Update test"
-description = "Support module for update testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/update_test_3/update_test_3.yml b/core/modules/system/tests/modules/update_test_3/update_test_3.yml
new file mode 100644
index 0000000..5365c5b
--- /dev/null
+++ b/core/modules/system/tests/modules/update_test_3/update_test_3.yml
@@ -0,0 +1,7 @@
+---
+name: 'Update test'
+description: 'Support module for update testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/system/tests/modules/url_alter_test/url_alter_test.info b/core/modules/system/tests/modules/url_alter_test/url_alter_test.info
deleted file mode 100644
index 1947b2e..0000000
--- a/core/modules/system/tests/modules/url_alter_test/url_alter_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Url_alter tests
-description = A support modules for url_alter hook testing.
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/system/tests/modules/url_alter_test/url_alter_test.yml b/core/modules/system/tests/modules/url_alter_test/url_alter_test.yml
new file mode 100644
index 0000000..f848523
--- /dev/null
+++ b/core/modules/system/tests/modules/url_alter_test/url_alter_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Url_alter tests'
+description: 'A support modules for url_alter hook testing.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/system/tests/themes/test_basetheme/test_basetheme.info b/core/modules/system/tests/themes/test_basetheme/test_basetheme.info
deleted file mode 100644
index 2b5f66e..0000000
--- a/core/modules/system/tests/themes/test_basetheme/test_basetheme.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Theme test base theme
-description = Test theme which acts as a base theme for other test subthemes.
-core = 8.x
-hidden = TRUE
-
-settings[basetheme_only] = base theme value
-settings[subtheme_override] = base theme value
diff --git a/core/modules/system/tests/themes/test_basetheme/test_basetheme.yml b/core/modules/system/tests/themes/test_basetheme/test_basetheme.yml
new file mode 100644
index 0000000..399f423
--- /dev/null
+++ b/core/modules/system/tests/themes/test_basetheme/test_basetheme.yml
@@ -0,0 +1,8 @@
+---
+name: 'Theme test base theme'
+description: 'Test theme which acts as a base theme for other test subthemes.'
+core: 8.x
+hidden: true
+settings:
+  basetheme_only: 'base theme value'
+  subtheme_override: 'base theme value'
diff --git a/core/modules/system/tests/themes/test_invalid_basetheme/test_invalid_basetheme.info b/core/modules/system/tests/themes/test_invalid_basetheme/test_invalid_basetheme.info
deleted file mode 100644
index 915a5c7..0000000
--- a/core/modules/system/tests/themes/test_invalid_basetheme/test_invalid_basetheme.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Theme test with invalid base theme
-description = Test theme which has a non-existent base theme.
-core = 8.x
-base theme = not_real_test_basetheme
-hidden = TRUE
diff --git a/core/modules/system/tests/themes/test_invalid_basetheme/test_invalid_basetheme.yml b/core/modules/system/tests/themes/test_invalid_basetheme/test_invalid_basetheme.yml
new file mode 100644
index 0000000..7e6257f
--- /dev/null
+++ b/core/modules/system/tests/themes/test_invalid_basetheme/test_invalid_basetheme.yml
@@ -0,0 +1,6 @@
+---
+name: 'Theme test with invalid base theme'
+description: 'Test theme which has a non-existent base theme.'
+core: 8.x
+'base theme': not_real_test_basetheme
+hidden: true
diff --git a/core/modules/system/tests/themes/test_invalid_engine/test_invalid_engine.info b/core/modules/system/tests/themes/test_invalid_engine/test_invalid_engine.info
deleted file mode 100644
index 335600d..0000000
--- a/core/modules/system/tests/themes/test_invalid_engine/test_invalid_engine.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Theme test with invalid theme engine
-description = Test theme which has a non-existent theme engine.
-core = 8.x
-hidden = TRUE
-engine = not_real_engine
\ No newline at end of file
diff --git a/core/modules/system/tests/themes/test_invalid_engine/test_invalid_engine.yml b/core/modules/system/tests/themes/test_invalid_engine/test_invalid_engine.yml
new file mode 100644
index 0000000..d7c3420
--- /dev/null
+++ b/core/modules/system/tests/themes/test_invalid_engine/test_invalid_engine.yml
@@ -0,0 +1,6 @@
+---
+name: 'Theme test with invalid theme engine'
+description: 'Test theme which has a non-existent theme engine.'
+core: 8.x
+hidden: true
+engine: not_real_engine
diff --git a/core/modules/system/tests/themes/test_subtheme/test_subtheme.info b/core/modules/system/tests/themes/test_subtheme/test_subtheme.info
deleted file mode 100644
index 974e00f..0000000
--- a/core/modules/system/tests/themes/test_subtheme/test_subtheme.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Theme test subtheme
-description = Test theme which uses test_basetheme as the base theme.
-core = 8.x
-base theme = test_basetheme
-hidden = TRUE
-
-settings[subtheme_override] = subtheme value
diff --git a/core/modules/system/tests/themes/test_subtheme/test_subtheme.yml b/core/modules/system/tests/themes/test_subtheme/test_subtheme.yml
new file mode 100644
index 0000000..5bbecbc
--- /dev/null
+++ b/core/modules/system/tests/themes/test_subtheme/test_subtheme.yml
@@ -0,0 +1,8 @@
+---
+name: 'Theme test subtheme'
+description: 'Test theme which uses test_basetheme as the base theme.'
+core: 8.x
+'base theme': test_basetheme
+hidden: true
+settings:
+  subtheme_override: 'subtheme value'
diff --git a/core/modules/system/tests/themes/test_theme/test_theme.info b/core/modules/system/tests/themes/test_theme/test_theme.info
deleted file mode 100644
index b5d1bfc..0000000
--- a/core/modules/system/tests/themes/test_theme/test_theme.info
+++ /dev/null
@@ -1,18 +0,0 @@
-name = Test theme
-description = Theme for testing the theme system
-core = 8.x
-hidden = TRUE
-
-; Normally, themes may list CSS files like this, and if they exist in the theme
-; folder, then they get added to the page. If they have the same file name as a
-; module CSS file, then the theme's version overrides the module's version, so
-; that the module's version is not added to the page. Additionally, a theme may
-; have an entry like this one, without having the corresponding CSS file in the
-; theme's folder, and in this case, it just stops the module's version from
-; being loaded, and does not replace it with an alternate version. We have this
-; here in order for a test to ensure that this correctly prevents the module
-; version from being loaded, and that errors aren't caused by the lack of this
-; file within the theme folder.
-stylesheets[all][] = system.base.css
-
-settings[theme_test_setting] = default value
diff --git a/core/modules/system/tests/themes/test_theme/test_theme.yml b/core/modules/system/tests/themes/test_theme/test_theme.yml
new file mode 100644
index 0000000..d26b190
--- /dev/null
+++ b/core/modules/system/tests/themes/test_theme/test_theme.yml
@@ -0,0 +1,20 @@
+---
+# Normally, themes may list CSS files like this, and if they exist in the theme
+# folder, then they get added to the page. If they have the same file name as a
+# module CSS file, then the theme's version overrides the module's version, so
+# that the module's version is not added to the page. Additionally, a theme may
+# have an entry like this one, without having the corresponding CSS file in the
+# theme's folder, and in this case, it just stops the module's version from
+# being loaded, and does not replace it with an alternate version. We have this
+# here in order for a test to ensure that this correctly prevents the module
+# version from being loaded, and that errors aren't caused by the lack of this
+# file within the theme folder.
+name: 'Test theme'
+description: 'Theme for testing the theme system'
+core: 8.x
+hidden: true
+stylesheets:
+  all:
+    - system.base.css
+settings:
+  theme_test_setting: 'default value'
diff --git a/core/modules/taxonomy/taxonomy.info b/core/modules/taxonomy/taxonomy.info
deleted file mode 100644
index 837b556..0000000
--- a/core/modules/taxonomy/taxonomy.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Taxonomy
-description = Enables the categorization of content.
-package = Core
-version = VERSION
-core = 8.x
-dependencies[] = options
-configure = admin/structure/taxonomy
diff --git a/core/modules/taxonomy/taxonomy.yml b/core/modules/taxonomy/taxonomy.yml
new file mode 100644
index 0000000..fce5617
--- /dev/null
+++ b/core/modules/taxonomy/taxonomy.yml
@@ -0,0 +1,9 @@
+---
+name: Taxonomy
+description: 'Enables the categorization of content.'
+package: Core
+version: VERSION
+core: 8.x
+dependencies:
+  - options
+configure: admin/structure/taxonomy
diff --git a/core/modules/toolbar/toolbar.info b/core/modules/toolbar/toolbar.info
deleted file mode 100644
index 758dc9c..0000000
--- a/core/modules/toolbar/toolbar.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Toolbar
-description = Provides a toolbar that shows the top-level administration menu items and links from other modules.
-core = 8.x
-package = Core
-version = VERSION
diff --git a/core/modules/toolbar/toolbar.yml b/core/modules/toolbar/toolbar.yml
new file mode 100644
index 0000000..7317636
--- /dev/null
+++ b/core/modules/toolbar/toolbar.yml
@@ -0,0 +1,6 @@
+---
+name: Toolbar
+description: 'Provides a toolbar that shows the top-level administration menu items and links from other modules.'
+core: 8.x
+package: Core
+version: VERSION
diff --git a/core/modules/tracker/tracker.info b/core/modules/tracker/tracker.info
deleted file mode 100644
index b39eb3f..0000000
--- a/core/modules/tracker/tracker.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Tracker
-description = Enables tracking of recent content for users.
-dependencies[] = comment
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/tracker/tracker.yml b/core/modules/tracker/tracker.yml
new file mode 100644
index 0000000..a8904cc
--- /dev/null
+++ b/core/modules/tracker/tracker.yml
@@ -0,0 +1,8 @@
+---
+name: Tracker
+description: 'Enables tracking of recent content for users.'
+dependencies:
+  - comment
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/translation/tests/translation_test.info b/core/modules/translation/tests/translation_test.info
deleted file mode 100644
index 5b42c5a..0000000
--- a/core/modules/translation/tests/translation_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Content Translation Test"
-description = "Support module for the content translation tests."
-core = 8.x
-package = Testing
-version = VERSION
-hidden = TRUE
diff --git a/core/modules/translation/tests/translation_test.yml b/core/modules/translation/tests/translation_test.yml
new file mode 100644
index 0000000..ded95ce
--- /dev/null
+++ b/core/modules/translation/tests/translation_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Content Translation Test'
+description: 'Support module for the content translation tests.'
+core: 8.x
+package: Testing
+version: VERSION
+hidden: true
diff --git a/core/modules/translation/translation.info b/core/modules/translation/translation.info
deleted file mode 100644
index cc3922f..0000000
--- a/core/modules/translation/translation.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Content Translation
-description = Allows content to be translated into different languages.
-dependencies[] = language
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/translation/translation.yml b/core/modules/translation/translation.yml
new file mode 100644
index 0000000..3e61d5e
--- /dev/null
+++ b/core/modules/translation/translation.yml
@@ -0,0 +1,8 @@
+---
+name: 'Content Translation'
+description: 'Allows content to be translated into different languages.'
+dependencies:
+  - language
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/modules/update/tests/aaa_update_test.tar.gz b/core/modules/update/tests/aaa_update_test.tar.gz
index 34f96c8..0ef8eb3 100644
--- a/core/modules/update/tests/aaa_update_test.tar.gz
+++ b/core/modules/update/tests/aaa_update_test.tar.gz
@@ -1 +1 @@
-‹˜í•M aaa_update_test.tar íS±NÃ0íì¯¸¡S…;‰]Z@P‰¬@'„*«vZ‹&±•¿ÇÆ¡Ú¡T‘·œïlßÙïéqÎçµÜÈ¹‘•	{ ¶Rê#óG‰�=BÂ(f1‹l�$1öè!ÓF]^Ú‘¹¥`Û9{,M·ì7iâ‘€·ôoå�ÊÓbßŽ–$ßêÇÔêO3F©Ó?²5KåO|pþ¹þgÐ¿cøJö“g �ãQHpˆ	�Ñ8ŠÇQ*YÁt£¡�ržI¸€Éd³·à: !«E©´QEnwïj­‹Ò@Vˆz-!-JðãšŠ»£òe€4_<ñ¥ëxïKhQ”.=6(UkY=<Ú¬ý`ß­”Ò¼¿�MÑ_“{ØåÏë~3vùŸàøÃÿÌ®�ÿíüÿ8¿Ô+�P8 À•3˜[\×YöòÙ­ïþl,nÙ0uØ£aç²Ž¯r`Wã   
\ No newline at end of file
+‹ ×ØoP íÔÝjÂ0`�s9kÒ4vŒÁVØl;–Ð¦ZÖŸÐ&lÞýR«2õ@Ý{Ÿ“4iÈß—/J©…3™²zaugg£`ŒÅRÒM9JFC¹EyÈ„ˆe(CF—\ˆ•·XÌ!×YÕú¥¤Z-UÝëç»åù‰q¶ûØ—„:ˆÿA=¨šÌ•ú²9üyÌ£èxü9›øóXp	ÊBIv�-žöÏãÿðhV†�ÙdBè„>åE©û�gWUk:ŸæMKûËPÔKú¶¹ÔŸ†u]à»ÎÈoo.p.ÿ×Uyñgó?–û÷_ðyŸÿ¾'òÿ'L§SR«JßÓq’$»ôîC?&™îÒ¶0¶hjÿûÅÓ´öû£0\”]Ëö‰ÆÄ¨ô]-ý˜¯CI›Ö×î‚O²*²Lûálë4^              €ëøa_’f (  
\ No newline at end of file
diff --git a/core/modules/update/tests/modules/aaa_update_test/aaa_update_test.info b/core/modules/update/tests/modules/aaa_update_test/aaa_update_test.info
deleted file mode 100644
index 6064678..0000000
--- a/core/modules/update/tests/modules/aaa_update_test/aaa_update_test.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = AAA Update test
-description = Support module for update module testing.
-package = Testing
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/update/tests/modules/aaa_update_test/aaa_update_test.yml b/core/modules/update/tests/modules/aaa_update_test/aaa_update_test.yml
new file mode 100644
index 0000000..ae2b3f1
--- /dev/null
+++ b/core/modules/update/tests/modules/aaa_update_test/aaa_update_test.yml
@@ -0,0 +1,6 @@
+---
+name: 'AAA Update test'
+description: 'Support module for update module testing.'
+package: Testing
+core: 8.x
+hidden: true
diff --git a/core/modules/update/tests/modules/bbb_update_test/bbb_update_test.info b/core/modules/update/tests/modules/bbb_update_test/bbb_update_test.info
deleted file mode 100644
index 95aacba..0000000
--- a/core/modules/update/tests/modules/bbb_update_test/bbb_update_test.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = BBB Update test
-description = Support module for update module testing.
-package = Testing
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/update/tests/modules/bbb_update_test/bbb_update_test.yml b/core/modules/update/tests/modules/bbb_update_test/bbb_update_test.yml
new file mode 100644
index 0000000..651fbd9
--- /dev/null
+++ b/core/modules/update/tests/modules/bbb_update_test/bbb_update_test.yml
@@ -0,0 +1,6 @@
+---
+name: 'BBB Update test'
+description: 'Support module for update module testing.'
+package: Testing
+core: 8.x
+hidden: true
diff --git a/core/modules/update/tests/modules/ccc_update_test/ccc_update_test.info b/core/modules/update/tests/modules/ccc_update_test/ccc_update_test.info
deleted file mode 100644
index f4df516..0000000
--- a/core/modules/update/tests/modules/ccc_update_test/ccc_update_test.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = CCC Update test
-description = Support module for update module testing.
-package = Testing
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/update/tests/modules/ccc_update_test/ccc_update_test.yml b/core/modules/update/tests/modules/ccc_update_test/ccc_update_test.yml
new file mode 100644
index 0000000..9cf7397
--- /dev/null
+++ b/core/modules/update/tests/modules/ccc_update_test/ccc_update_test.yml
@@ -0,0 +1,6 @@
+---
+name: 'CCC Update test'
+description: 'Support module for update module testing.'
+package: Testing
+core: 8.x
+hidden: true
diff --git a/core/modules/update/tests/modules/update_test/update_test.info b/core/modules/update/tests/modules/update_test/update_test.info
deleted file mode 100644
index 708dc97..0000000
--- a/core/modules/update/tests/modules/update_test/update_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Update test
-description = Support module for update module testing.
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/update/tests/modules/update_test/update_test.yml b/core/modules/update/tests/modules/update_test/update_test.yml
new file mode 100644
index 0000000..724e735
--- /dev/null
+++ b/core/modules/update/tests/modules/update_test/update_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Update test'
+description: 'Support module for update module testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.info b/core/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.info
deleted file mode 100644
index c8550b5..0000000
--- a/core/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.info
+++ /dev/null
@@ -1,4 +0,0 @@
-name = Update test base theme
-description = Test theme which acts as a base theme for other test subthemes.
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.yml b/core/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.yml
new file mode 100644
index 0000000..ba113fd
--- /dev/null
+++ b/core/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.yml
@@ -0,0 +1,5 @@
+---
+name: 'Update test base theme'
+description: 'Test theme which acts as a base theme for other test subthemes.'
+core: 8.x
+hidden: true
diff --git a/core/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.info b/core/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.info
deleted file mode 100644
index c783dc2..0000000
--- a/core/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = Update test subtheme
-description = Test theme which uses update_test_basetheme as the base theme.
-core = 8.x
-base theme = update_test_basetheme
-hidden = TRUE
diff --git a/core/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.yml b/core/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.yml
new file mode 100644
index 0000000..e493db8
--- /dev/null
+++ b/core/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.yml
@@ -0,0 +1,6 @@
+---
+name: 'Update test subtheme'
+description: 'Test theme which uses update_test_basetheme as the base theme.'
+core: 8.x
+'base theme': update_test_basetheme
+hidden: true
diff --git a/core/modules/update/update.compare.inc b/core/modules/update/update.compare.inc
index 2262404..64ce974 100644
--- a/core/modules/update/update.compare.inc
+++ b/core/modules/update/update.compare.inc
@@ -149,15 +149,15 @@ function update_process_info_list(&$projects, $list, $project_type, $status, $ad
       continue;
     }
 
-    // If we don't already know it, grab the change time on the .info file
+    // If we don't already know it, grab the change time on the .yml file
     // itself. Note: we need to use the ctime, not the mtime (modification
     // time) since many (all?) tar implementations will go out of their way to
     // set the mtime on the files it creates to the timestamps recorded in the
     // tarball. We want to see the last time the file was changed on disk,
-    // which is left alone by tar and correctly set to the time the .info file
+    // which is left alone by tar and correctly set to the time the .yml file
     // was unpacked.
     if (!isset($file->info['_info_file_ctime'])) {
-      $info_filename = dirname($file->uri) . '/' . $file->name . '.info';
+      $info_filename = dirname($file->uri) . '/' . $file->name . '.yml';
       $file->info['_info_file_ctime'] = filectime($info_filename);
     }
 
@@ -809,13 +809,13 @@ function update_project_cache($cid) {
  * Filters the project .info data to only save attributes we need.
  *
  * @param array $info
- *   Array of .info file data as returned by drupal_parse_info_file().
+ *   Array of .yml file data as returned by drupal_parse_info_file().
  * @param $additional_whitelist
  *   (optional) Array of additional elements to be collected from the .info
  *   file. Defaults to array().
  *
  * @return
- *   Array of .info file data we need for the update manager.
+ *   Array of .yml file data we need for the update manager.
  *
  * @see update_process_info_list()
  */
diff --git a/core/modules/update/update.info b/core/modules/update/update.info
deleted file mode 100644
index 17e8d7a..0000000
--- a/core/modules/update/update.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Update Manager
-description = Checks for available updates, and can securely install or update modules and themes via a web interface.
-version = VERSION
-package = Core
-core = 8.x
-configure = admin/reports/updates/settings
-dependencies[] = file
diff --git a/core/modules/update/update.module b/core/modules/update/update.module
index 51e77e6..b9e0e0b 100644
--- a/core/modules/update/update.module
+++ b/core/modules/update/update.module
@@ -694,7 +694,7 @@ function update_verify_update_archive($project, $archive_file, $directory) {
   // functionality).
   $compatible_project = FALSE;
   $incompatible = array();
-  $files = file_scan_directory("$directory/$project", '/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.info$/', array('key' => 'name', 'min_depth' => 0));
+  $files = file_scan_directory("$directory/$project", '/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.yml$/', array('key' => 'name', 'min_depth' => 0));
   foreach ($files as $key => $file) {
     // Get the .info file for the module or theme this file belongs to.
     $info = drupal_parse_info_file($file->uri);
diff --git a/core/modules/update/update.yml b/core/modules/update/update.yml
new file mode 100644
index 0000000..7a79367
--- /dev/null
+++ b/core/modules/update/update.yml
@@ -0,0 +1,9 @@
+---
+name: 'Update Manager'
+description: 'Checks for available updates, and can securely install or update modules and themes via a web interface.'
+version: VERSION
+package: Core
+core: 8.x
+configure: admin/reports/updates/settings
+dependencies:
+  - file
diff --git a/core/modules/user/tests/user_form_test.info b/core/modules/user/tests/user_form_test.info
deleted file mode 100644
index ed2f39e..0000000
--- a/core/modules/user/tests/user_form_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "User module form tests"
-description = "Support module for user form testing."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/user/tests/user_form_test.yml b/core/modules/user/tests/user_form_test.yml
new file mode 100644
index 0000000..0a4015f
--- /dev/null
+++ b/core/modules/user/tests/user_form_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'User module form tests'
+description: 'Support module for user form testing.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/user/user.info b/core/modules/user/user.info
deleted file mode 100644
index 7e497e6..0000000
--- a/core/modules/user/user.info
+++ /dev/null
@@ -1,8 +0,0 @@
-name = User
-description = Manages the user registration and login system.
-package = Core
-version = VERSION
-core = 8.x
-required = TRUE
-configure = admin/config/people
-stylesheets[all][] = user.css
diff --git a/core/modules/user/user.yml b/core/modules/user/user.yml
new file mode 100644
index 0000000..09a188b
--- /dev/null
+++ b/core/modules/user/user.yml
@@ -0,0 +1,11 @@
+---
+name: User
+description: 'Manages the user registration and login system.'
+package: Core
+version: VERSION
+core: 8.x
+required: true
+configure: admin/config/people
+stylesheets:
+  all:
+    - user.css
diff --git a/core/modules/xmlrpc/tests/modules/xmlrpc_test/xmlrpc_test.info b/core/modules/xmlrpc/tests/modules/xmlrpc_test/xmlrpc_test.info
deleted file mode 100644
index 6985439..0000000
--- a/core/modules/xmlrpc/tests/modules/xmlrpc_test/xmlrpc_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "XML-RPC Test"
-description = "Support module for XML-RPC tests according to the validator1 specification."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/modules/xmlrpc/tests/modules/xmlrpc_test/xmlrpc_test.yml b/core/modules/xmlrpc/tests/modules/xmlrpc_test/xmlrpc_test.yml
new file mode 100644
index 0000000..ab8f01c
--- /dev/null
+++ b/core/modules/xmlrpc/tests/modules/xmlrpc_test/xmlrpc_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'XML-RPC Test'
+description: 'Support module for XML-RPC tests according to the validator1 specification.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/modules/xmlrpc/xmlrpc.info b/core/modules/xmlrpc/xmlrpc.info
deleted file mode 100644
index 6e5f676..0000000
--- a/core/modules/xmlrpc/xmlrpc.info
+++ /dev/null
@@ -1,5 +0,0 @@
-name = XML-RPC
-description = Provides XML-RPC functionality.
-package = Core
-version = VERSION
-core = 8.x
diff --git a/core/modules/xmlrpc/xmlrpc.yml b/core/modules/xmlrpc/xmlrpc.yml
new file mode 100644
index 0000000..e7afed9
--- /dev/null
+++ b/core/modules/xmlrpc/xmlrpc.yml
@@ -0,0 +1,6 @@
+---
+name: XML-RPC
+description: 'Provides XML-RPC functionality.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/profiles/minimal/minimal.info b/core/profiles/minimal/minimal.info
deleted file mode 100644
index 545e85c..0000000
--- a/core/profiles/minimal/minimal.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Minimal
-description = Build a custom site without pre-configured functionality. Suitable for advanced users.
-version = VERSION
-core = 8.x
-dependencies[] = node
-dependencies[] = block
-dependencies[] = dblog
diff --git a/core/profiles/minimal/minimal.yml b/core/profiles/minimal/minimal.yml
new file mode 100644
index 0000000..257b487
--- /dev/null
+++ b/core/profiles/minimal/minimal.yml
@@ -0,0 +1,9 @@
+---
+name: Minimal
+description: 'Build a custom site without pre-configured functionality. Suitable for advanced users.'
+version: VERSION
+core: 8.x
+dependencies:
+  - node
+  - block
+  - dblog
diff --git a/core/profiles/standard/standard.info b/core/profiles/standard/standard.info
deleted file mode 100644
index 8b8a33b..0000000
--- a/core/profiles/standard/standard.info
+++ /dev/null
@@ -1,24 +0,0 @@
-name = Standard
-description = Install with commonly used features pre-configured.
-version = VERSION
-core = 8.x
-dependencies[] = node
-dependencies[] = block
-dependencies[] = color
-dependencies[] = comment
-dependencies[] = contextual
-dependencies[] = help
-dependencies[] = image
-dependencies[] = menu
-dependencies[] = number
-dependencies[] = options
-dependencies[] = path
-dependencies[] = taxonomy
-dependencies[] = dblog
-dependencies[] = search
-dependencies[] = shortcut
-dependencies[] = toolbar
-dependencies[] = overlay
-dependencies[] = field_ui
-dependencies[] = file
-dependencies[] = rdf
diff --git a/core/profiles/standard/standard.yml b/core/profiles/standard/standard.yml
new file mode 100644
index 0000000..4f2a910
--- /dev/null
+++ b/core/profiles/standard/standard.yml
@@ -0,0 +1,26 @@
+---
+name: Standard
+description: 'Install with commonly used features pre-configured.'
+version: VERSION
+core: 8.x
+dependencies:
+  - node
+  - block
+  - color
+  - comment
+  - contextual
+  - help
+  - image
+  - menu
+  - number
+  - options
+  - path
+  - taxonomy
+  - dblog
+  - search
+  - shortcut
+  - toolbar
+  - overlay
+  - field_ui
+  - file
+  - rdf
diff --git a/core/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info b/core/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
deleted file mode 100644
index 53515e7..0000000
--- a/core/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = "Drupal system listing compatible test"
-description = "Support module for testing the drupal_system_listing function."
-package = Testing
-version = VERSION
-core = 8.x
-hidden = TRUE
diff --git a/core/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.yml b/core/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.yml
new file mode 100644
index 0000000..8e60fc3
--- /dev/null
+++ b/core/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Drupal system listing compatible test'
+description: 'Support module for testing the drupal_system_listing function.'
+package: Testing
+version: VERSION
+core: 8.x
+hidden: true
diff --git a/core/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info b/core/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
deleted file mode 100644
index c067987..0000000
--- a/core/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
+++ /dev/null
@@ -1,9 +0,0 @@
-name = "Drupal system listing incompatible test"
-description = "Support module for testing the drupal_system_listing function."
-package = Testing
-version = VERSION
-; This deliberately has the wrong core version, to test that it does not take
-; precedence over the version of the same module that is in the
-; modules/simpletest/tests directory.
-core = 6.x
-hidden = TRUE
diff --git a/core/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.yml b/core/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.yml
new file mode 100644
index 0000000..688e73c
--- /dev/null
+++ b/core/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.yml
@@ -0,0 +1,7 @@
+---
+name: 'Drupal system listing incompatible test'
+description: 'Support module for testing the drupal_system_listing function.'
+package: Testing
+version: VERSION
+core: 6.x
+hidden: true
diff --git a/core/profiles/testing/testing.info b/core/profiles/testing/testing.info
deleted file mode 100644
index fff3df2..0000000
--- a/core/profiles/testing/testing.info
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Testing
-description = Minimal profile for running tests. Includes absolutely required modules only.
-version = VERSION
-core = 8.x
-hidden = TRUE
-; @todo Remove dependency on Node module.
-dependencies[] = node
diff --git a/core/profiles/testing/testing.yml b/core/profiles/testing/testing.yml
new file mode 100644
index 0000000..855bbec
--- /dev/null
+++ b/core/profiles/testing/testing.yml
@@ -0,0 +1,8 @@
+---
+name: Testing
+description: 'Minimal profile for running tests. Includes absolutely required modules only.'
+version: VERSION
+core: 8.x
+hidden: true
+dependencies:
+  - node
diff --git a/core/themes/bartik/bartik.info b/core/themes/bartik/bartik.info
deleted file mode 100644
index c0c206d..0000000
--- a/core/themes/bartik/bartik.info
+++ /dev/null
@@ -1,33 +0,0 @@
-name = Bartik
-description = A flexible, recolorable theme with many regions and a responsive, mobile-first layout.
-package = Core
-version = VERSION
-core = 8.x
-
-stylesheets[all][] = css/layout.css
-stylesheets[all][] = css/style.css
-stylesheets[all][] = css/colors.css
-stylesheets[print][] = css/print.css
-
-regions[header] = Header
-regions[help] = Help
-regions[page_top] = Page top
-regions[page_bottom] = Page bottom
-regions[highlighted] = Highlighted
-
-regions[featured] = Featured
-regions[content] = Content
-regions[sidebar_first] = Sidebar first
-regions[sidebar_second] = Sidebar second
-
-regions[triptych_first] = Triptych first
-regions[triptych_middle] = Triptych middle
-regions[triptych_last] = Triptych last
-
-regions[footer_firstcolumn] = Footer first column
-regions[footer_secondcolumn] = Footer second column
-regions[footer_thirdcolumn] = Footer third column
-regions[footer_fourthcolumn] = Footer fourth column
-regions[footer] = Footer
-
-settings[shortcut_module_link] = 0
diff --git a/core/themes/bartik/bartik.yml b/core/themes/bartik/bartik.yml
new file mode 100644
index 0000000..36d3207
--- /dev/null
+++ b/core/themes/bartik/bartik.yml
@@ -0,0 +1,33 @@
+---
+name: Bartik
+description: 'A flexible, recolorable theme with many regions and a responsive, mobile-first layout.'
+package: Core
+version: VERSION
+core: 8.x
+stylesheets:
+  all:
+    - css/layout.css
+    - css/style.css
+    - css/colors.css
+  print:
+    - css/print.css
+regions:
+  header: Header
+  help: Help
+  page_top: 'Page top'
+  page_bottom: 'Page bottom'
+  highlighted: Highlighted
+  featured: Featured
+  content: Content
+  sidebar_first: 'Sidebar first'
+  sidebar_second: 'Sidebar second'
+  triptych_first: 'Triptych first'
+  triptych_middle: 'Triptych middle'
+  triptych_last: 'Triptych last'
+  footer_firstcolumn: 'Footer first column'
+  footer_secondcolumn: 'Footer second column'
+  footer_thirdcolumn: 'Footer third column'
+  footer_fourthcolumn: 'Footer fourth column'
+  footer: Footer
+settings:
+  shortcut_module_link: '0'
diff --git a/core/themes/seven/seven.info b/core/themes/seven/seven.info
deleted file mode 100644
index 969f749..0000000
--- a/core/themes/seven/seven.info
+++ /dev/null
@@ -1,14 +0,0 @@
-name = Seven
-description = A simple one-column, tableless, fluid width administration theme.
-package = Core
-version = VERSION
-core = 8.x
-stylesheets[screen][] = reset.css
-stylesheets[screen][] = style.css
-settings[shortcut_module_link] = 1
-regions[content] = Content
-regions[help] = Help
-regions[page_top] = Page top
-regions[page_bottom] = Page bottom
-regions[sidebar_first] = First sidebar
-regions_hidden[] = sidebar_first
diff --git a/core/themes/seven/seven.yml b/core/themes/seven/seven.yml
new file mode 100644
index 0000000..62105d4
--- /dev/null
+++ b/core/themes/seven/seven.yml
@@ -0,0 +1,20 @@
+---
+name: Seven
+description: 'A simple one-column, tableless, fluid width administration theme.'
+package: Core
+version: VERSION
+core: 8.x
+stylesheets:
+  screen:
+    - reset.css
+    - style.css
+settings:
+  shortcut_module_link: '1'
+regions:
+  content: Content
+  help: Help
+  page_top: 'Page top'
+  page_bottom: 'Page bottom'
+  sidebar_first: 'First sidebar'
+regions_hidden:
+  - sidebar_first
diff --git a/core/themes/stark/stark.info b/core/themes/stark/stark.info
deleted file mode 100644
index fbab2a0..0000000
--- a/core/themes/stark/stark.info
+++ /dev/null
@@ -1,6 +0,0 @@
-name = Stark
-description = This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the <a href="http://drupal.org/theme-guide">Theming Guide</a>.
-package = Core
-version = VERSION
-core = 8.x
-stylesheets[all][] = css/layout.css
diff --git a/core/themes/stark/stark.yml b/core/themes/stark/stark.yml
new file mode 100644
index 0000000..5762b88
--- /dev/null
+++ b/core/themes/stark/stark.yml
@@ -0,0 +1,9 @@
+---
+name: Stark
+description: 'This theme demonstrates Drupal''s default HTML markup and CSS styles. To learn how to build your own theme and override Drupal''s default code, see the <a href="http://drupal.org/theme-guide">Theming Guide</a>.'
+package: Core
+version: VERSION
+core: 8.x
+stylesheets:
+  all:
+    - css/layout.css
