diff --git a/core/MAINTAINERS.txt b/core/MAINTAINERS.txt
index 2e9b1bf..9408d57 100644
--- a/core/MAINTAINERS.txt
+++ b/core/MAINTAINERS.txt
@@ -190,10 +190,11 @@ Routing system
 
 Theme system
 - Alex Bronstein 'effulgentsia' https://www.drupal.org/u/effulgentsia
+- John Albin Wilkins 'JohnAlbin' https://www.drupal.org/u/johnalbin
+- Jen Lampton 'jenlampton' https://www.drupal.org/u/jenlampton
 - Scott Reeves 'Cottser' https://www.drupal.org/u/cottser
 - Fabian Franz 'Fabianx' https://www.drupal.org/u/fabianx
 - Joël Pittet 'joelpittet' https://www.drupal.org/u/joelpittet
-- Lauri Eskola 'lauriii' https://www.drupal.org/u/lauriii
 
 Token system
 - Dave Reid 'davereid' https://www.drupal.org/u/davereid
@@ -207,9 +208,6 @@ Transliteration system
 - Daniel F. Kudwien 'sun' https://www.drupal.org/u/sun
 - Jennifer Hodgdon 'jhodgdon' https://www.drupal.org/u/jhodgdon
 
-Typed data system
-- Wolfgang Ziegler 'fago' https://www.drupal.org/u/fago
-
 Topic maintainers
 -----------------
 
@@ -511,24 +509,13 @@ Web services
 
 Provisional membership: None at this time.
 
-
-Core mentoring coordinators
+Core mentoring leads
 ---------------------
 
-The Drupal Core mentors inspire, enable, and encourage new core contributors.
-See https://www.drupal.org/core-mentoring for more information about mentoring.
-
-Mentoring coordinators recruit and coach other mentors. They work on contributor
-tools, documentation, and processes to make it easier for new contributors to
-get involved. They organize communications and logistics, and actively
-participate in mentoring.
+The Drupal Core mentoring leads inspire, enable, and encourage new core
+contributors. They also work on the core tools, process, and community to make
+it easier for new contributors to get involved. The mentoring leads are:
 
-- Lucas Hedding 'heddn' https://www.drupal.org/u/heddn
-- Valery Lourie 'valthebald' https://www.drupal.org/u/valthebald
-- Alina Mackenzie 'alimac' https://www.drupal.org/u/alimac
-- Chris McCaferty 'cilefen' https://www.drupal.org/u/cilefen
 - Jess Myrbo 'xjm' https://www.drupal.org/u/xjm
-- Andrea Soper 'ZenDoodles' https://www.drupal.org/u/zendoodles
 - Cathy Theys 'YesCT' https://www.drupal.org/u/yesct
-
-Provisional membership: None at this time.
+- Andrea Soper 'ZenDoodles' https://www.drupal.org/u/zendoodles
diff --git a/core/includes/batch.inc b/core/includes/batch.inc
index 0958c3a..cc70557 100644
--- a/core/includes/batch.inc
+++ b/core/includes/batch.inc
@@ -170,7 +170,7 @@ function _batch_progress_page() {
   $build = array(
     '#theme' => 'progress_bar',
     '#percent' => $percentage,
-    '#message' => array('#markup' => $message),
+    '#message' => $message,
     '#label' => $label,
     '#attached' => array(
       'html_head' => array(
diff --git a/core/modules/rest/src/Plugin/rest/resource/EntityResource.php b/core/modules/rest/src/Plugin/rest/resource/EntityResource.php
index 4b4d027..464fe08 100644
--- a/core/modules/rest/src/Plugin/rest/resource/EntityResource.php
+++ b/core/modules/rest/src/Plugin/rest/resource/EntityResource.php
@@ -163,7 +163,7 @@ public function patch(EntityInterface $original_entity, EntityInterface $entity
     $this->validate($original_entity);
     try {
       $original_entity->save();
-      $this->logger->notice('Updated entity %type with ID %id.', array('%type' => $original_entity->getEntityTypeId(), '%id' => $original_entity->id()));
+      $this->logger->notice('Updated entity %type with ID %id.', array('%type' => $entity->getEntityTypeId(), '%id' => $entity->id()));
 
       // Update responses have an empty body.
       return new ResourceResponse(NULL, 204);
diff --git a/core/modules/simpletest/src/WebTestBase.php b/core/modules/simpletest/src/WebTestBase.php
index 409d0a0..7d2a7ae 100644
--- a/core/modules/simpletest/src/WebTestBase.php
+++ b/core/modules/simpletest/src/WebTestBase.php
@@ -166,21 +166,6 @@
    */
   protected $redirectCount;
 
-
-  /**
-   * The number of meta refresh redirects to follow, or NULL if unlimited.
-   *
-   * @var null|int
-   */
-  protected $maximumMetaRefreshCount = NULL;
-
-  /**
-   * The number of meta refresh redirects followed during ::drupalGet().
-   *
-   * @var int
-   */
-  protected $metaRefreshCount = 0;
-
   /**
    * The kernel used in this test.
    *
@@ -1231,9 +1216,6 @@ protected function tearDown() {
     }
     parent::tearDown();
 
-    // Ensure that the maximum meta refresh count is reset.
-    $this->maximumMetaRefreshCount = NULL;
-
     // Ensure that internal logged in variable and cURL options are reset.
     $this->loggedInUser = FALSE;
     $this->additionalCurlOptions = array();
@@ -1523,8 +1505,6 @@ protected function drupalGet($path, array $options = array(), array $headers = a
     // Replace original page output with new output from redirected page(s).
     if ($new = $this->checkForMetaRefresh()) {
       $out = $new;
-      // We are finished with all meta refresh redirects, so reset the counter.
-      $this->metaRefreshCount = 0;
     }
 
     if ($path instanceof Url) {
@@ -2183,13 +2163,12 @@ protected function cronRun() {
    *   Either the new page content or FALSE.
    */
   protected function checkForMetaRefresh() {
-    if (strpos($this->getRawContent(), '<meta ') && $this->parse() && (!isset($this->maximumMetaRefreshCount) || $this->metaRefreshCount < $this->maximumMetaRefreshCount)) {
+    if (strpos($this->getRawContent(), '<meta ') && $this->parse()) {
       $refresh = $this->xpath('//meta[@http-equiv="Refresh"]');
       if (!empty($refresh)) {
         // Parse the content attribute of the meta tag for the format:
         // "[delay]: URL=[page_to_redirect_to]".
         if (preg_match('/\d+;\s*URL=(?<url>.*)/i', $refresh[0]['content'], $match)) {
-          $this->metaRefreshCount++;
           return $this->drupalGet($this->getAbsoluteUrl(Html::decodeEntities($match['url'])));
         }
       }
diff --git a/core/modules/system/src/Form/DateFormatFormBase.php b/core/modules/system/src/Form/DateFormatFormBase.php
index bf78cc4..b8d0e17 100644
--- a/core/modules/system/src/Form/DateFormatFormBase.php
+++ b/core/modules/system/src/Form/DateFormatFormBase.php
@@ -130,11 +130,12 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
     parent::validateForm($form, $form_state);
 
     // The machine name field should already check to see if the requested
-    // machine name is available.
+    // machine name is available. Regardless of machine_name or human readable
+    // name, check to see if the provided pattern exists.
     $pattern = trim($form_state->getValue('date_format_pattern'));
     foreach ($this->dateFormatStorage->loadMultiple() as $format) {
-      if ($format->getPattern() == $pattern && ($format->id() == $this->entity->id())) {
-        drupal_set_message(t('The existing format/name combination has not been altered.'));
+      if ($format->getPattern() == $pattern && ($this->entity->isNew() || $format->id() != $this->entity->id())) {
+        $form_state->setErrorByName('date_format_pattern', $this->t('This format already exists. Enter a unique format string.'));
         continue;
       }
     }
diff --git a/core/modules/system/src/Tests/Batch/PageTest.php b/core/modules/system/src/Tests/Batch/PageTest.php
index 02ce098..3d9adfc 100644
--- a/core/modules/system/src/Tests/Batch/PageTest.php
+++ b/core/modules/system/src/Tests/Batch/PageTest.php
@@ -61,19 +61,4 @@ function testBatchProgressPageTitle() {
     $this->assertText('Redirection successful.', 'Redirection after batch execution is correct.');
   }
 
-  /**
-   * Tests that the progress messages are correct.
-   */
-  function testBatchProgressMessages() {
-    // Go to the initial step only.
-    $this->maximumMetaRefreshCount = 0;
-    $this->drupalGet('batch-test/test-title');
-    $this->assertRaw('<div class="progress__description">Initializing.<br />&nbsp;</div>', 'Initial progress message appears correctly.');
-    $this->assertNoRaw('&amp;nbsp;', 'Initial progress message is not double escaped.');
-    // Now also go to the next step.
-    $this->maximumMetaRefreshCount = 1;
-    $this->drupalGet('batch-test/test-title');
-    $this->assertRaw('<div class="progress__description">Completed 1 of 1.</div>', 'Progress message for second step appears correctly.');
-  }
-
 }
diff --git a/core/modules/system/src/Tests/Batch/ProcessingTest.php b/core/modules/system/src/Tests/Batch/ProcessingTest.php
index 928b59a..4d3412c 100644
--- a/core/modules/system/src/Tests/Batch/ProcessingTest.php
+++ b/core/modules/system/src/Tests/Batch/ProcessingTest.php
@@ -257,28 +257,28 @@ function _resultMessages($id) {
 
     switch ($id) {
       case 'batch_0':
-        $messages[] = 'results for batch 0<div class="item-list"><ul><li>none</li></ul></div>';
+        $messages[] = 'results for batch 0<br>none';
         break;
 
       case 'batch_1':
-        $messages[] = 'results for batch 1<div class="item-list"><ul><li>op 1: processed 10 elements</li></ul></div>';
+        $messages[] = 'results for batch 1<br>op 1: processed 10 elements';
         break;
 
       case 'batch_2':
-        $messages[] = 'results for batch 2<div class="item-list"><ul><li>op 2: processed 10 elements</li></ul></div>';
+        $messages[] = 'results for batch 2<br>op 2: processed 10 elements';
         break;
 
       case 'batch_3':
-        $messages[] = 'results for batch 3<div class="item-list"><ul><li>op 1: processed 10 elements</li><li>op 2: processed 10 elements</li></ul></div>';
+        $messages[] = 'results for batch 3<br>op 1: processed 10 elements<br>op 2: processed 10 elements';
         break;
 
       case 'batch_4':
-        $messages[] = 'results for batch 4<div class="item-list"><ul><li>op 1: processed 10 elements</li></ul></div>';
+        $messages[] = 'results for batch 4<br>op 1: processed 10 elements';
         $messages = array_merge($messages, $this->_resultMessages('batch_2'));
         break;
 
       case 'batch_5':
-        $messages[] = 'results for batch 5<div class="item-list"><ul><li>op 5: processed 10 elements</li></ul></div>';
+        $messages[] = 'results for batch 5<br>op 5: processed 10 elements';
         break;
 
       case 'chained':
diff --git a/core/modules/system/src/Tests/System/DateTimeTest.php b/core/modules/system/src/Tests/System/DateTimeTest.php
index 4fdc279..88868e9 100644
--- a/core/modules/system/src/Tests/System/DateTimeTest.php
+++ b/core/modules/system/src/Tests/System/DateTimeTest.php
@@ -117,21 +117,6 @@ function testDateFormatConfiguration() {
     // Make sure the date does not exist in config.
     $date_format = entity_load('date_format', $date_format_id);
     $this->assertFalse($date_format);
-
-    // Add a new date format with an existing format.
-    $date_format_id = strtolower($this->randomMachineName(8));
-    $name = ucwords($date_format_id);
-    $date_format = 'Y';
-    $edit = array(
-      'id' => $date_format_id,
-      'label' => $name,
-      'date_format_pattern' => $date_format,
-    );
-    $this->drupalPostForm('admin/config/regional/date-time/formats/add', $edit, t('Add format'));
-    $this->assertUrl(\Drupal::url('entity.date_format.collection', [], ['absolute' => TRUE]), [], 'Correct page redirection.');
-    $this->assertText(t('Custom date format added.'), 'Date format added confirmation message appears.');
-    $this->assertText($name, 'Custom date format appears in the date format list.');
-    $this->assertText(t('Delete'), 'Delete link for custom date format appears.');
   }
 
   /**
diff --git a/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc b/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc
index 461219f..b1f2796 100644
--- a/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc
+++ b/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc
@@ -88,6 +88,7 @@ function _batch_test_nested_batch_callback() {
  * Provides a common 'finished' callback for batches 1 to 4.
  */
 function _batch_test_finished_helper($batch_id, $success, $results, $operations) {
+  $messages = array("results for batch $batch_id");
   if ($results) {
     foreach ($results as $op => $op_results) {
       $messages[] = 'op '. SafeMarkup::escape($op) . ': processed ' . count($op_results) . ' elements';
@@ -103,20 +104,7 @@ function _batch_test_finished_helper($batch_id, $success, $results, $operations)
     $messages[] = t('An error occurred while processing @op with arguments:<br />@args', array('@op' => $error_operation[0], '@args' => print_r($error_operation[1], TRUE)));
   }
 
-  // Use item list template to render the messages.
-  $error_message = [
-    '#type' => 'inline_template',
-    '#template' => 'results for batch {{ batch_id }}{{ errors }}',
-    '#context' => [
-      'batch_id' => $batch_id,
-      'errors' => [
-        '#theme' => 'item_list',
-        '#items' => $messages,
-      ],
-    ],
-  ];
-
-  drupal_set_message(\Drupal::service('renderer')->renderPlain($error_message));
+  drupal_set_message(SafeMarkup::set(implode('<br>', $messages)));
 }
 
 /**
diff --git a/core/modules/views/src/Entity/Render/EntityFieldRenderer.php b/core/modules/views/src/Entity/Render/EntityFieldRenderer.php
index 66d4fcf..9e94a63 100644
--- a/core/modules/views/src/Entity/Render/EntityFieldRenderer.php
+++ b/core/modules/views/src/Entity/Render/EntityFieldRenderer.php
@@ -215,11 +215,13 @@ protected function buildFields(array $values) {
       $display_sets = [];
       foreach ($field_ids as $field_id) {
         $field = $this->view->field[$field_id];
+        $field_name = $field->definition['field_name'];
         $index = 0;
-        while (isset($display_sets[$index][$field->definition['field_name']])) {
+        while (isset($display_sets[$index]['field_names'][$field_name])) {
           $index++;
         }
-        $display_sets[$index][$field_id] = $field;
+        $display_sets[$index]['field_names'][$field_name] = $field;
+        $display_sets[$index]['field_ids'][$field_id] = $field;
       }
 
       // For each set of fields, build the output by bundle.
@@ -231,7 +233,7 @@ protected function buildFields(array $values) {
             'bundle' => $bundle,
             'status' => TRUE,
           ]);
-          foreach ($display_fields as $field_id => $field) {
+          foreach ($display_fields['field_ids'] as $field) {
             $display->setComponent($field->definition['field_name'], [
               'type' => $field->options['type'],
               'settings' => $field->options['settings'],
@@ -242,7 +244,7 @@ protected function buildFields(array $values) {
           // Collect the field render arrays and index them using our internal
           // row indexes and field IDs.
           foreach ($display_build as $row_index => $entity_build) {
-            foreach ($display_fields as $field_id => $field) {
+            foreach ($display_fields['field_ids'] as $field_id => $field) {
               $build[$row_index][$field_id] = !empty($entity_build[$field->definition['field_name']]) ? $entity_build[$field->definition['field_name']] : [];
             }
           }
diff --git a/core/modules/views/src/Tests/Handler/FieldFieldTest.php b/core/modules/views/src/Tests/Handler/FieldFieldTest.php
index dd77cb7..2d1c713 100644
--- a/core/modules/views/src/Tests/Handler/FieldFieldTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldFieldTest.php
@@ -83,6 +83,7 @@ protected function setUp() {
       $this->testUsers[$i] = User::create([
         'name' => 'test ' . $i,
         'timezone' => User::getAllowedTimezones()[$i],
+        'created' => REQUEST_TIME - rand(0, 3600)
       ]);
       $this->testUsers[$i]->save();
     }
@@ -371,31 +372,47 @@ public function testComplexExecute() {
   public function testComplexRender() {
     $executable = Views::getView('test_field_field_complex_test');
     $executable->execute();
+    $date_formatter = \Drupal::service('date.formatter');
 
     $this->assertEqual($this->testUsers[0]->getTimeZone(), $executable->getStyle()->getField(0, 'timezone'));
     $this->assertEqual("1, 3", $executable->getStyle()->getField(0, 'field_test_multiple'));
     $this->assertEqual("1", $executable->getStyle()->getField(0, 'field_test_multiple_1'));
     $this->assertEqual("3", $executable->getStyle()->getField(0, 'field_test_multiple_2'));
+    $this->assertEqual($date_formatter->format($this->testUsers[0]->getCreatedTime(), 'custom', 'Y'), $executable->getStyle()->getField(0, 'created'));
+    $this->assertEqual($date_formatter->format($this->testUsers[0]->getCreatedTime(), 'custom', 'H:i:s'), $executable->getStyle()->getField(0, 'created_1'));
+    $this->assertEqual($date_formatter->format($this->testUsers[0]->getCreatedTime(), 'fallback'), $executable->getStyle()->getField(0, 'created_2'));
 
     $this->assertEqual($this->testUsers[1]->getTimeZone(), $executable->getStyle()->getField(1, 'timezone'));
     $this->assertEqual("7, 0", $executable->getStyle()->getField(1, 'field_test_multiple'));
     $this->assertEqual("7", $executable->getStyle()->getField(1, 'field_test_multiple_1'));
     $this->assertEqual("0", $executable->getStyle()->getField(1, 'field_test_multiple_2'));
+    $this->assertEqual($date_formatter->format($this->testUsers[1]->getCreatedTime(), 'custom', 'Y'), $executable->getStyle()->getField(1, 'created'));
+    $this->assertEqual($date_formatter->format($this->testUsers[1]->getCreatedTime(), 'custom', 'H:i:s'), $executable->getStyle()->getField(1, 'created_1'));
+    $this->assertEqual($date_formatter->format($this->testUsers[1]->getCreatedTime(), 'fallback'), $executable->getStyle()->getField(1, 'created_2'));
 
     $this->assertEqual($this->testUsers[2]->getTimeZone(), $executable->getStyle()->getField(2, 'timezone'));
     $this->assertEqual("3, 5", $executable->getStyle()->getField(2, 'field_test_multiple'));
     $this->assertEqual("3", $executable->getStyle()->getField(2, 'field_test_multiple_1'));
     $this->assertEqual("5", $executable->getStyle()->getField(2, 'field_test_multiple_2'));
+    $this->assertEqual($date_formatter->format($this->testUsers[2]->getCreatedTime(), 'custom', 'Y'), $executable->getStyle()->getField(2, 'created'));
+    $this->assertEqual($date_formatter->format($this->testUsers[2]->getCreatedTime(), 'custom', 'H:i:s'), $executable->getStyle()->getField(2, 'created_1'));
+    $this->assertEqual($date_formatter->format($this->testUsers[2]->getCreatedTime(), 'fallback'), $executable->getStyle()->getField(2, 'created_2'));
 
     $this->assertEqual($this->testUsers[3]->getTimeZone(), $executable->getStyle()->getField(3, 'timezone'));
     $this->assertEqual("9, 9", $executable->getStyle()->getField(3, 'field_test_multiple'));
     $this->assertEqual("9", $executable->getStyle()->getField(3, 'field_test_multiple_1'));
     $this->assertEqual("9", $executable->getStyle()->getField(3, 'field_test_multiple_2'));
+    $this->assertEqual($date_formatter->format($this->testUsers[3]->getCreatedTime(), 'custom', 'Y'), $executable->getStyle()->getField(3, 'created'));
+    $this->assertEqual($date_formatter->format($this->testUsers[3]->getCreatedTime(), 'custom', 'H:i:s'), $executable->getStyle()->getField(3, 'created_1'));
+    $this->assertEqual($date_formatter->format($this->testUsers[3]->getCreatedTime(), 'fallback'), $executable->getStyle()->getField(3, 'created_2'));
 
     $this->assertEqual($this->testUsers[4]->getTimeZone(), $executable->getStyle()->getField(4, 'timezone'));
     $this->assertEqual("9, 0", $executable->getStyle()->getField(4, 'field_test_multiple'));
     $this->assertEqual("9", $executable->getStyle()->getField(4, 'field_test_multiple_1'));
     $this->assertEqual("0", $executable->getStyle()->getField(4, 'field_test_multiple_2'));
+    $this->assertEqual($date_formatter->format($this->testUsers[4]->getCreatedTime(), 'custom', 'Y'), $executable->getStyle()->getField(4, 'created'));
+    $this->assertEqual($date_formatter->format($this->testUsers[4]->getCreatedTime(), 'custom', 'H:i:s'), $executable->getStyle()->getField(4, 'created_1'));
+    $this->assertEqual($date_formatter->format($this->testUsers[4]->getCreatedTime(), 'fallback'), $executable->getStyle()->getField(4, 'created_2'));
   }
 
   /**
diff --git a/core/modules/views/src/Tests/Plugin/StyleTableTest.php b/core/modules/views/src/Tests/Plugin/StyleTableTest.php
index 0c423a9..ad2c76d 100644
--- a/core/modules/views/src/Tests/Plugin/StyleTableTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleTableTest.php
@@ -109,31 +109,4 @@ public function testFieldInColumns() {
     $this->assertTrue(count($result), 'Ensure the job column values are joined into a single column');
   }
 
-  /**
-   * Test that a number with the value of "0" is displayed in the table.
-   */
-  public function testNumericFieldVisible() {
-    // Adds a new datapoint in the views_test_data table to have a person with
-    // an age of zero.
-    $data_set = $this->dataSet();
-    $query = db_insert('views_test_data')
-      ->fields(array_keys($data_set[0]));
-    $query->values(array(
-      'name' => 'James McCartney',
-      'age' => 0,
-      'job' => 'Baby',
-      'created' => gmmktime(6, 30, 10, 1, 1, 2000),
-      'status' => 1,
-    ));
-    $query->execute();
-
-    $this->drupalGet('test-table');
-
-    $result = $this->xpath('//tbody/tr/td[contains(., "Baby")]');
-    $this->assertTrue(count($result), 'Ensure that the baby is found.');
-
-    $result = $this->xpath('//tbody/tr/td[text()=0]');
-    $this->assertTrue(count($result), 'Ensure that the baby\'s age is shown');
-  }
-
 }
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_field_complex_test.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_field_complex_test.yml
index 869d282..eafab58 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_field_complex_test.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_field_complex_test.yml
@@ -58,6 +58,45 @@ display:
           plugin_id: field
           relationship: user_id
           alter: {}
+        created:
+          id: created
+          table: users_field_data
+          field: created
+          relationship: user_id
+          type: timestamp
+          settings:
+            date_format: custom
+            custom_date_format: 'Y'
+            timezone: ''
+          entity_type: user
+          entity_field: created
+          plugin_id: field
+        created_1:
+          id: created_1
+          table: users_field_data
+          field: created
+          relationship: user_id
+          type: timestamp
+          settings:
+            date_format: custom
+            custom_date_format: 'H:i:s'
+            timezone: ''
+          entity_type: user
+          entity_field: created
+          plugin_id: field
+        created_2:
+          id: created_1
+          table: users_field_data
+          field: created
+          relationship: user_id
+          type: timestamp
+          settings:
+            date_format: fallback
+            custom_date_format: ''
+            timezone: ''
+          entity_type: user
+          entity_field: created
+          plugin_id: field
       relationships:
         user_id:
           table: entity_test
diff --git a/core/modules/views/views.theme.inc b/core/modules/views/views.theme.inc
index 50b1a6c..4853613 100644
--- a/core/modules/views/views.theme.inc
+++ b/core/modules/views/views.theme.inc
@@ -584,7 +584,7 @@ function template_preprocess_views_view_table(&$variables) {
         }
 
         // Only bother with separators and stuff if the field shows up.
-        if (trim($field_output) != '') {
+        if (!empty($field_output)) {
           // Place the field into the column, along with an optional separator.
           if (!empty($column_reference['content'])) {
             if (!empty($options['info'][$column]['separator'])) {
diff --git a/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php b/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php
index ca9a2e4..e127547 100644
--- a/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php
+++ b/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php
@@ -51,7 +51,7 @@ class OptimizedPhpArrayDumperTest extends \PHPUnit_Framework_TestCase {
     /**
      * The dumper instance.
      *
-     * @var \Symfony\Component\DependencyInjection\Dumper\DumperInterface
+     * @var \Symfony\Component\DependencyInjection\DumperDumperInterface
      */
     protected $dumper;
 
