diff --git a/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraint.php b/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraint.php
index 4017bc0..32949c6 100644
--- a/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraint.php
+++ b/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraint.php
@@ -5,7 +5,7 @@
 use Symfony\Component\Validator\Constraint;
 
 /**
- * Validation constraint for changing the book outline in forward revisions.
+ * Validation constraint for changing the book outline in pending revisions.
  *
  * @Constraint(
  *   id = "BookOutline",
diff --git a/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraintValidator.php b/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraintValidator.php
index 1b9f042..ca8114d 100644
--- a/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraintValidator.php
+++ b/core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraintValidator.php
@@ -9,7 +9,7 @@
 use Symfony\Component\Validator\ConstraintValidator;
 
 /**
- * Constraint validator for changing the book outline in forward revisions.
+ * Constraint validator for changing the book outline in pending revisions.
  */
 class BookOutlineConstraintValidator extends ConstraintValidator implements ContainerInjectionInterface {
 
diff --git a/core/modules/book/tests/src/Functional/BookContentModerationTest.php b/core/modules/book/tests/src/Functional/BookContentModerationTest.php
index 35af282..ddd9d60 100644
--- a/core/modules/book/tests/src/Functional/BookContentModerationTest.php
+++ b/core/modules/book/tests/src/Functional/BookContentModerationTest.php
@@ -41,7 +41,7 @@ protected function setUp() {
   /**
    * Tests that book drafts can not modify the book outline.
    */
-  public function testBookWithForwardRevisions() {
+  public function testBookWithPendingRevisions() {
     // Create two books.
     $book_1_nodes = $this->createBook(t('Save and Publish'));
     $book_1 = $this->book;
diff --git a/core/modules/book/tests/src/Kernel/BookForwardRevisionTest.php b/core/modules/book/tests/src/Kernel/BookPendingRevisionTest.php
similarity index 86%
rename from core/modules/book/tests/src/Kernel/BookForwardRevisionTest.php
rename to core/modules/book/tests/src/Kernel/BookPendingRevisionTest.php
index df3e5bf..ababb3d 100644
--- a/core/modules/book/tests/src/Kernel/BookForwardRevisionTest.php
+++ b/core/modules/book/tests/src/Kernel/BookPendingRevisionTest.php
@@ -7,11 +7,11 @@
 use Drupal\KernelTests\KernelTestBase;
 
 /**
- * Tests that the Book module handles forward revisions correctly.
+ * Tests that the Book module handles pending revisions correctly.
  *
  * @group book
  */
-class BookForwardRevisionTest extends KernelTestBase {
+class BookPendingRevisionTest extends KernelTestBase {
 
   /**
    * Modules to enable.
@@ -34,9 +34,9 @@ protected function setUp() {
   }
 
   /**
-   * Tests forward revision handling for books.
+   * Tests pending revision handling for books.
    */
-  public function testBookWithForwardRevisions() {
+  public function testBookWithPendingRevisions() {
     $content_type = NodeType::create([
       'type' => $this->randomMachineName(),
       'name' => $this->randomString(),
@@ -65,36 +65,36 @@ public function testBookWithForwardRevisions() {
     $child->book['pid'] = $book_1->id();
     $child->save();
 
-    // Try to move the child to a different book while saving it as a forward
+    // Try to move the child to a different book while saving it as a pending
     // revision.
     /** @var \Drupal\book\BookManagerInterface $book_manager */
     $book_manager = $this->container->get('book.manager');
 
     // Check that the API doesn't allow us to change the book outline for
-    // forward revisions.
+    // pending revisions.
     $child->book['bid'] = $book_2->id();
     $child->setNewRevision(TRUE);
     $child->isDefaultRevision(FALSE);
 
-    $this->assertFalse($book_manager->updateOutline($child), 'A forward revision can not change the book outline.');
+    $this->assertFalse($book_manager->updateOutline($child), 'A pending revision can not change the book outline.');
 
     // Check that the API doesn't allow us to change the book parent for
-    // forward revisions.
+    // pending revisions.
     $child = \Drupal::entityTypeManager()->getStorage('node')->loadUnchanged($child->id());
     $child->book['pid'] = $book_1_child->id();
     $child->setNewRevision(TRUE);
     $child->isDefaultRevision(FALSE);
 
-    $this->assertFalse($book_manager->updateOutline($child), 'A forward revision can not change the book outline.');
+    $this->assertFalse($book_manager->updateOutline($child), 'A pending revision can not change the book outline.');
 
     // Check that the API doesn't allow us to change the book weight for
-    // forward revisions.
+    // pending revisions.
     $child = \Drupal::entityTypeManager()->getStorage('node')->loadUnchanged($child->id());
     $child->book['weight'] = 2;
     $child->setNewRevision(TRUE);
     $child->isDefaultRevision(FALSE);
 
-    $this->assertFalse($book_manager->updateOutline($child), 'A forward revision can not change the book outline.');
+    $this->assertFalse($book_manager->updateOutline($child), 'A pending revision can not change the book outline.');
   }
 
 }
diff --git a/core/modules/content_moderation/src/Access/LatestRevisionCheck.php b/core/modules/content_moderation/src/Access/LatestRevisionCheck.php
index db0cde4..8ffd923 100644
--- a/core/modules/content_moderation/src/Access/LatestRevisionCheck.php
+++ b/core/modules/content_moderation/src/Access/LatestRevisionCheck.php
@@ -34,7 +34,7 @@ public function __construct(ModerationInformationInterface $moderation_informati
   }
 
   /**
-   * Checks that there is a forward revision available.
+   * Checks that there is a pending revision available.
    *
    * This checker assumes the presence of an '_entity_access' requirement key
    * in the same form as used by EntityAccessCheck.
@@ -54,7 +54,7 @@ public function __construct(ModerationInformationInterface $moderation_informati
   public function access(Route $route, RouteMatchInterface $route_match, AccountInterface $account) {
     // This tab should not show up unless there's a reason to show it.
     $entity = $this->loadEntity($route, $route_match);
-    if ($this->moderationInfo->hasForwardRevision($entity)) {
+    if ($this->moderationInfo->hasPendingRevision($entity)) {
       // Check the global permissions first.
       $access_result = AccessResult::allowedIfHasPermissions($account, ['view latest version', 'view any unpublished content']);
       if (!$access_result->isAllowed()) {
diff --git a/core/modules/content_moderation/src/EntityOperations.php b/core/modules/content_moderation/src/EntityOperations.php
index 38ec7cd..db2ef10 100644
--- a/core/modules/content_moderation/src/EntityOperations.php
+++ b/core/modules/content_moderation/src/EntityOperations.php
@@ -240,8 +240,8 @@ public function entityView(array &$build, EntityInterface $entity, EntityViewDis
     // Don't display the moderation form when when:
     // - The revision is not translation affected.
     // - There are more than one translation languages.
-    // - The entity has forward revisions.
-    if (!$this->moderationInfo->isForwardRevisionAllowed($entity)) {
+    // - The entity has pending revisions.
+    if (!$this->moderationInfo->isPendingRevisionAllowed($entity)) {
       return;
     }
 
diff --git a/core/modules/content_moderation/src/EntityTypeInfo.php b/core/modules/content_moderation/src/EntityTypeInfo.php
index eb8a6b7..c69d0dc 100644
--- a/core/modules/content_moderation/src/EntityTypeInfo.php
+++ b/core/modules/content_moderation/src/EntityTypeInfo.php
@@ -298,7 +298,7 @@ public function formAlter(array &$form, FormStateInterface $form_state, $form_id
           ->getHandler($entity->getEntityTypeId(), 'moderation')
           ->enforceRevisionsEntityFormAlter($form, $form_state, $form_id);
 
-        if (!$this->moderationInfo->isForwardRevisionAllowed($entity)) {
+        if (!$this->moderationInfo->isPendingRevisionAllowed($entity)) {
           $latest_revision = $this->moderationInfo->getLatestRevision($entity->getEntityTypeId(), $entity->id());
           if ($entity->bundle()) {
             $bundle_type_id = $entity->getEntityType()->getBundleEntityType();
@@ -316,8 +316,8 @@ public function formAlter(array &$form, FormStateInterface $form_state, $form_id
             '@latest_revision_delete_url' => $translation->toUrl('delete-form', ['language' => $translation->language()])->toString(),
           ];
           $label = $this->t('Unable to save this @type_label.', $args);
-          $message = $this->t('<a href="@latest_revision_edit_url">Publish</a> or <a href="@latest_revision_delete_url">delete</a> the latest draft revision to allow all workflow transitions.', $args);
-          $full_message = $this->t('Unable to save this @type_label. <a href="@latest_revision_edit_url">Publish</a> or <a href="@latest_revision_delete_url">delete</a> the latest draft revision to allow all workflow transitions.', $args);
+          $message = $this->t('<a href="@latest_revision_edit_url">Publish</a> or <a href="@latest_revision_delete_url">delete</a> the latest revision to allow all workflow transitions.', $args);
+          $full_message = $this->t('Unable to save this @type_label. <a href="@latest_revision_edit_url">Publish</a> or <a href="@latest_revision_delete_url">delete</a> the latest revision to allow all workflow transitions.', $args);
           drupal_set_message($full_message, 'error');
 
           $form['actions']['#access'] = FALSE;
@@ -349,7 +349,7 @@ public function formAlter(array &$form, FormStateInterface $form_state, $form_id
   }
 
   /**
-   * Redirect content entity edit forms on save, if there is a forward revision.
+   * Redirect content entity edit forms on save, if there is a pending revision.
    *
    * When saving their changes, editors should see those changes displayed on
    * the next page.
@@ -364,7 +364,7 @@ public static function bundleFormRedirect(array &$form, FormStateInterface $form
     $entity = $form_state->getFormObject()->getEntity();
 
     $moderation_info = \Drupal::getContainer()->get('content_moderation.moderation_information');
-    if ($moderation_info->hasForwardRevision($entity) && $entity->hasLinkTemplate('latest-version')) {
+    if ($moderation_info->hasPendingRevision($entity) && $entity->hasLinkTemplate('latest-version')) {
       $entity_type_id = $entity->getEntityTypeId();
       $form_state->setRedirect("entity.$entity_type_id.latest_version", [$entity_type_id => $entity->id()]);
     }
diff --git a/core/modules/content_moderation/src/Form/EntityModerationForm.php b/core/modules/content_moderation/src/Form/EntityModerationForm.php
index ea2fedd..356bd2a 100644
--- a/core/modules/content_moderation/src/Form/EntityModerationForm.php
+++ b/core/modules/content_moderation/src/Form/EntityModerationForm.php
@@ -140,7 +140,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     $new_state = $this->moderationInfo->getWorkflowForEntity($entity)->getState($new_state);
     // The page we're on likely won't be visible if we just set the entity to
     // the default state, as we hide that latest-revision tab if there is no
-    // forward revision. Redirect to the canonical URL instead, since that will
+    // pending revision. Redirect to the canonical URL instead, since that will
     // still exist.
     if ($new_state->isDefaultRevisionState()) {
       $form_state->setRedirectUrl($entity->toUrl('canonical'));
diff --git a/core/modules/content_moderation/src/ModerationInformation.php b/core/modules/content_moderation/src/ModerationInformation.php
index 09de889..5a02d27 100644
--- a/core/modules/content_moderation/src/ModerationInformation.php
+++ b/core/modules/content_moderation/src/ModerationInformation.php
@@ -127,8 +127,8 @@ public function getAffectedRevisionTranslation(ContentEntityInterface $entity) {
   /**
    * {@inheritdoc}
    */
-  public function isForwardRevisionAllowed(ContentEntityInterface $entity) {
-    return !(!$entity->isRevisionTranslationAffected() && count($entity->getTranslationLanguages()) > 1 && $this->hasForwardRevision($entity));
+  public function isPendingRevisionAllowed(ContentEntityInterface $entity) {
+    return !(!$entity->isRevisionTranslationAffected() && count($entity->getTranslationLanguages()) > 1 && $this->hasPendingRevision($entity));
   }
 
   /**
@@ -141,7 +141,7 @@ public function isLatestRevision(ContentEntityInterface $entity) {
   /**
    * {@inheritdoc}
    */
-  public function hasForwardRevision(ContentEntityInterface $entity) {
+  public function hasPendingRevision(ContentEntityInterface $entity) {
     return $this->isModeratedEntity($entity)
       && !($this->getLatestRevisionId($entity->getEntityTypeId(), $entity->id()) == $this->getDefaultRevisionId($entity->getEntityTypeId(), $entity->id()));
   }
diff --git a/core/modules/content_moderation/src/ModerationInformationInterface.php b/core/modules/content_moderation/src/ModerationInformationInterface.php
index bf6b1ac..1dafb3f 100644
--- a/core/modules/content_moderation/src/ModerationInformationInterface.php
+++ b/core/modules/content_moderation/src/ModerationInformationInterface.php
@@ -101,7 +101,7 @@ public function getDefaultRevisionId($entity_type_id, $entity_id);
   public function getAffectedRevisionTranslation(ContentEntityInterface $entity);
 
   /**
-   * Determines if forward revisions are allowed.
+   * Determines if pending revisions are allowed.
    *
    * @internal
    *
@@ -109,9 +109,9 @@ public function getAffectedRevisionTranslation(ContentEntityInterface $entity);
    *   The content entity.
    *
    * @return bool
-   *   If forward revisions are allowed.
+   *   If pending revisions are allowed.
    */
-  public function isForwardRevisionAllowed(ContentEntityInterface $entity);
+  public function isPendingRevisionAllowed(ContentEntityInterface $entity);
 
   /**
    * Determines if an entity is a latest revision.
@@ -126,15 +126,15 @@ public function isForwardRevisionAllowed(ContentEntityInterface $entity);
   public function isLatestRevision(ContentEntityInterface $entity);
 
   /**
-   * Determines if a forward revision exists for the specified entity.
+   * Determines if a pending revision exists for the specified entity.
    *
    * @param \Drupal\Core\Entity\ContentEntityInterface $entity
-   *   The entity which may or may not have a forward revision.
+   *   The entity which may or may not have a pending revision.
    *
    * @return bool
-   *   TRUE if this entity has forward revisions available, FALSE otherwise.
+   *   TRUE if this entity has pending revisions available, FALSE otherwise.
    */
-  public function hasForwardRevision(ContentEntityInterface $entity);
+  public function hasPendingRevision(ContentEntityInterface $entity);
 
   /**
    * Determines if an entity is "live".
diff --git a/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php b/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php
index 786d45f..27592ae 100644
--- a/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php
+++ b/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php
@@ -41,23 +41,23 @@ public function __construct(EntityManagerInterface $entity_manager, ModerationIn
    * {@inheritdoc}
    */
   public function applies($definition, $name, Route $route) {
-    return $this->hasForwardRevisionFlag($definition) || $this->isEditFormPage($route);
+    return $this->hasPendingRevisionFlag($definition) || $this->isEditFormPage($route);
   }
 
   /**
-   * Determines if the route definition includes a forward-revision flag.
+   * Determines if the route definition includes a pending revision flag.
    *
    * This is a custom flag defined by the Content Moderation module to load
-   * forward revisions rather than the default revision on a given route.
+   * pending revisions rather than the default revision on a given route.
    *
    * @param array $definition
    *   The parameter definition provided in the route options.
    *
    * @return bool
-   *   TRUE if the forward revision flag is set, FALSE otherwise.
+   *   TRUE if the pending revision flag is set, FALSE otherwise.
    */
-  protected function hasForwardRevisionFlag(array $definition) {
-    return (isset($definition['load_forward_revision']) && $definition['load_forward_revision']);
+  protected function hasPendingRevisionFlag(array $definition) {
+    return (isset($definition['load_pending_revision']) && $definition['load_pending_revision']);
   }
 
   /**
diff --git a/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php b/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php
index e96f374..611f31b 100644
--- a/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php
+++ b/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php
@@ -86,7 +86,7 @@ protected function getLatestVersionRoute(EntityTypeInterface $entity_type) {
         ->setOption('parameters', [
           $entity_type_id => [
             'type' => 'entity:' . $entity_type_id,
-            'load_forward_revision' => 1,
+            'load_pending_revision' => 1,
           ],
         ]);
 
diff --git a/core/modules/content_moderation/tests/src/Functional/ModerationFormTest.php b/core/modules/content_moderation/tests/src/Functional/ModerationFormTest.php
index 7aab0d4..0414e34 100644
--- a/core/modules/content_moderation/tests/src/Functional/ModerationFormTest.php
+++ b/core/modules/content_moderation/tests/src/Functional/ModerationFormTest.php
@@ -36,9 +36,7 @@ protected function setUp() {
   /**
    * Tests the moderation form that shows on the latest version page.
    *
-   * The latest version page only shows if there is a forward revision. There
-   * is only a forward revision if a draft revision is created on a node where
-   * the default revision is not a published moderation state.
+   * The latest version page only shows if there is a pending revision.
    *
    * @see \Drupal\content_moderation\EntityOperations
    * @see \Drupal\Tests\content_moderation\Functional\ModerationStateBlockTest::testCustomBlockModeration
@@ -63,7 +61,7 @@ public function testModerationForm() {
     $this->assertResponse(200);
     $this->assertField('edit-new-state', 'The node view page has a moderation form.');
 
-    // The latest version page should not show, because there is no forward
+    // The latest version page should not show, because there is no pending
     // revision.
     $this->drupalGet($latest_version_path);
     $this->assertResponse(403);
@@ -80,7 +78,7 @@ public function testModerationForm() {
     $this->assertField('edit-new-state', 'The node view page has a moderation form.');
 
     // The latest version page should not show, because there is still no
-    // forward revision.
+    // pending revision.
     $this->drupalGet($latest_version_path);
     $this->assertResponse(403);
 
@@ -96,11 +94,11 @@ public function testModerationForm() {
     $this->assertNoField('edit-new-state', 'The node view page has no moderation form.');
 
     // The latest version page should not show, because there is still no
-    // forward revision.
+    // pending revision.
     $this->drupalGet($latest_version_path);
     $this->assertResponse(403);
 
-    // Make a forward revision.
+    // Make a pending revision.
     $this->drupalPostForm($edit_path, [
       'body[0][value]' => 'Fourth version of the content.',
     ], t('Save and Create New Draft'));
@@ -112,7 +110,7 @@ public function testModerationForm() {
     $this->assertNoField('edit-new-state', 'The node view page has no moderation form.');
 
     // The latest version page should show the moderation form and have "Draft"
-    // status, because the forward revision is in "Draft".
+    // status, because the pending revision is in "Draft".
     $this->drupalGet($latest_version_path);
     $this->assertResponse(200);
     $this->assertField('edit-new-state', 'The latest-version page has a moderation form.');
@@ -124,7 +122,7 @@ public function testModerationForm() {
     ], t('Apply'));
 
     // The latest version page should not show, because there is no
-    // forward revision.
+    // pending revision.
     $this->drupalGet($latest_version_path);
     $this->assertResponse(403);
   }
@@ -141,7 +139,7 @@ public function testNonBundleModerationForm() {
     // Create new moderated content in draft.
     $this->drupalPostForm('entity_test_mulrevpub/add', [], t('Save and Create New Draft'));
 
-    // The latest version page should not show, because there is no forward
+    // The latest version page should not show, because there is no pending
     // revision.
     $this->drupalGet('/entity_test_mulrevpub/manage/1/latest');
     $this->assertResponse(403);
@@ -150,7 +148,7 @@ public function testNonBundleModerationForm() {
     $this->drupalPostForm('entity_test_mulrevpub/manage/1/edit', [], t('Save and Create New Draft'));
 
     // The latest version page should not show, because there is still no
-    // forward revision.
+    // pending revision.
     $this->drupalGet('/entity_test_mulrevpub/manage/1/latest');
     $this->assertResponse(403);
 
@@ -164,11 +162,11 @@ public function testNonBundleModerationForm() {
     $this->assertNoText('Status', 'The node view page has no moderation form.');
 
     // The latest version page should not show, because there is still no
-    // forward revision.
+    // pending revision.
     $this->drupalGet('entity_test_mulrevpub/manage/1/latest');
     $this->assertResponse(403);
 
-    // Make a forward revision.
+    // Make a pending revision.
     $this->drupalPostForm('entity_test_mulrevpub/manage/1/edit', [], t('Save and Create New Draft'));
 
     // The published view should not have a moderation form, because it is the
@@ -178,7 +176,7 @@ public function testNonBundleModerationForm() {
     $this->assertNoText('Status', 'The node view page has no moderation form.');
 
     // The latest version page should show the moderation form and have "Draft"
-    // status, because the forward revision is in "Draft".
+    // status, because the pending revision is in "Draft".
     $this->drupalGet('entity_test_mulrevpub/manage/1/latest');
     $this->assertResponse(200);
     $this->assertText('Status', 'Form text found on the latest-version page.');
@@ -190,7 +188,7 @@ public function testNonBundleModerationForm() {
     ], t('Apply'));
 
     // The latest version page should not show, because there is no
-    // forward revision.
+    // pending revision.
     $this->drupalGet('entity_test_mulrevpub/manage/1/latest');
     $this->assertResponse(403);
   }
@@ -201,7 +199,7 @@ public function testNonBundleModerationForm() {
   public function testModerationFormSetsRevisionAuthor() {
     // Create new moderated content in published.
     $node = $this->createNode(['type' => 'moderated_content', 'moderation_state' => 'published']);
-    // Make a forward revision.
+    // Make a pending revision.
     $node->title = $this->randomMachineName();
     $node->moderation_state->value = 'draft';
     $node->save();
@@ -273,7 +271,7 @@ public function testContentTranslationNodeForm() {
     $this->assertSession()->statusCodeEquals('403');
     $this->assertFalse($this->xpath('//ul[@class="entity-moderation-form"]'));
 
-    // Add french forward revision (revision 3).
+    // Add french pending revision (revision 3).
     $this->drupalGet($edit_path, ['language' => $french]);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
@@ -302,7 +300,7 @@ public function testContentTranslationNodeForm() {
     $this->drupalGet($latest_version_path);
     $this->assertFalse($this->xpath('//ul[@class="entity-moderation-form"]'));
 
-    // Publish the french forward revision (revision 4).
+    // Publish the french pending revision (revision 4).
     $this->drupalGet($edit_path, ['language' => $french]);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
@@ -326,13 +324,13 @@ public function testContentTranslationNodeForm() {
     $this->drupalGet($latest_version_path);
     $this->assertFalse($this->xpath('//ul[@class="entity-moderation-form"]'));
 
-    // Make sure we're allowed to create a forward french revision.
+    // Make sure we're allowed to create a pending french revision.
     $this->drupalGet($edit_path, ['language' => $french]);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Archive (this translation)"]'));
 
-    // Add a english forward revision (revision 6).
+    // Add a english pending revision (revision 6).
     $this->drupalGet($edit_path);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
@@ -344,7 +342,7 @@ public function testContentTranslationNodeForm() {
     $this->drupalGet($latest_version_path);
     $this->assertTrue($this->xpath('//ul[@class="entity-moderation-form"]'));
 
-    // Make sure we're not allowed to create a forward french revision.
+    // Make sure we're not allowed to create a pending french revision.
     $this->drupalGet($edit_path, ['language' => $french]);
     $this->assertFalse($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertFalse($this->xpath('//input[@value="Save and Publish (this translation)"]'));
@@ -354,7 +352,7 @@ public function testContentTranslationNodeForm() {
     $this->drupalGet($latest_version_path, ['language' => $french]);
     $this->assertFalse($this->xpath('//ul[@class="entity-moderation-form"]'));
 
-    // We should be able to publish the english forward revision (revision 7)
+    // We should be able to publish the english pending revision (revision 7)
     $this->drupalGet($edit_path);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
@@ -366,13 +364,13 @@ public function testContentTranslationNodeForm() {
     $this->drupalGet($latest_version_path);
     $this->assertFalse($this->xpath('//ul[@class="entity-moderation-form"]'));
 
-    // Make sure we're allowed to create a forward french revision.
+    // Make sure we're allowed to create a pending french revision.
     $this->drupalGet($edit_path, ['language' => $french]);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Archive (this translation)"]'));
 
-    // Make sure we're allowed to create a forward english revision.
+    // Make sure we're allowed to create a pending english revision.
     $this->drupalGet($edit_path);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
@@ -389,7 +387,7 @@ public function testContentTranslationNodeForm() {
     $edit_path = sprintf('node/%d/edit', $node->id());
     $translate_path = sprintf('node/%d/translations/add/en/fr', $node->id());
 
-    // Add a forward revision (revision 2).
+    // Add a pending revision (revision 2).
     $this->drupalGet($edit_path);
     $this->assertTrue($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertTrue($this->xpath('//input[@value="Save and Publish (this translation)"]'));
@@ -398,7 +396,7 @@ public function testContentTranslationNodeForm() {
       'body[0][value]' => 'Second version of the content.',
     ], t('Save and Create New Draft (this translation)'));
 
-    // It shouldn't be possible to translate as we have a forward revision.
+    // It shouldn't be possible to translate as we have a pending revision.
     $this->drupalGet($translate_path);
     $this->assertFalse($this->xpath('//input[@value="Save and Create New Draft (this translation)"]'));
     $this->assertFalse($this->xpath('//input[@value="Save and Publish (this translation)"]'));
diff --git a/core/modules/content_moderation/tests/src/Functional/ModerationStateBlockTest.php b/core/modules/content_moderation/tests/src/Functional/ModerationStateBlockTest.php
index 1a8f78c..ee87e13 100644
--- a/core/modules/content_moderation/tests/src/Functional/ModerationStateBlockTest.php
+++ b/core/modules/content_moderation/tests/src/Functional/ModerationStateBlockTest.php
@@ -93,18 +93,18 @@ public function testCustomBlockModeration() {
     $this->drupalGet('');
     $this->assertText($updated_body);
 
-    // Publish the block so we can create a forward revision.
+    // Publish the block so we can create a pending revision.
     $this->drupalPostForm('block/' . $block->id(), [], t('Save and Publish'));
 
-    // Create a forward revision.
-    $forward_revision_body = 'This is the forward revision body value';
+    // Create a pending revision.
+    $pending_revision_body = 'This is the pending revision body value';
     $edit = [
-      'body[0][value]' => $forward_revision_body,
+      'body[0][value]' => $pending_revision_body,
     ];
     $this->drupalPostForm('block/' . $block->id(), $edit, t('Save and Create New Draft'));
     $this->assertText(t('basic Moderated block has been updated.'));
 
-    // Navigate to home page and check that the forward revision doesn't show,
+    // Navigate to home page and check that the pending revision doesn't show,
     // since it should not be set as the default revision.
     $this->drupalGet('');
     $this->assertText($updated_body);
@@ -116,10 +116,10 @@ public function testCustomBlockModeration() {
     $this->drupalPostForm('block/' . $block->id() . '/latest', $edit, t('Apply'));
     $this->assertText(t('The moderation state has been updated.'));
 
-    // Navigate to home page and check that the forward revision is now the
+    // Navigate to home page and check that the pending revision is now the
     // default revision and therefore visible.
     $this->drupalGet('');
-    $this->assertText($forward_revision_body);
+    $this->assertText($pending_revision_body);
   }
 
 }
diff --git a/core/modules/content_moderation/tests/src/Functional/ModerationStateNodeTest.php b/core/modules/content_moderation/tests/src/Functional/ModerationStateNodeTest.php
index 277acdf..bf8e293 100644
--- a/core/modules/content_moderation/tests/src/Functional/ModerationStateNodeTest.php
+++ b/core/modules/content_moderation/tests/src/Functional/ModerationStateNodeTest.php
@@ -105,7 +105,7 @@ public function testFormSaveDestination() {
     $this->assertUrl(Url::fromRoute('entity.node.canonical', ['node' => $node->id()]));
     $this->assertText('Third version of the content.');
 
-    // Make a new forward revision; after saving, we should be on the "Latest
+    // Make a new pending revision; after saving, we should be on the "Latest
     // version" tab.
     $this->drupalPostForm($edit_path, [
       'body[0][value]' => 'Fourth version of the content.',
diff --git a/core/modules/content_moderation/tests/src/Functional/NodeAccessTest.php b/core/modules/content_moderation/tests/src/Functional/NodeAccessTest.php
index eeac1ce..ed502b1 100644
--- a/core/modules/content_moderation/tests/src/Functional/NodeAccessTest.php
+++ b/core/modules/content_moderation/tests/src/Functional/NodeAccessTest.php
@@ -116,7 +116,7 @@ public function testPageAccess() {
     $this->drupalGet($view_path);
     $this->assertResponse(200);
 
-    // Create a forward revision for the 'Latest revision' tab.
+    // Create a pending revision for the 'Latest revision' tab.
     $this->drupalLogin($this->adminUser);
     $this->drupalPostForm($edit_path, [
       'title[0][value]' => 'moderated content revised',
@@ -132,7 +132,7 @@ public function testPageAccess() {
     $this->drupalGet($view_path);
     $this->assertResponse(200);
 
-    // Now make another user, who should not be able to see forward revisions.
+    // Now make another user, who should not be able to see pending revisions.
     $user = $this->createUser([
       'use editorial transition create_new_draft',
     ]);
diff --git a/core/modules/content_moderation/tests/src/Kernel/EntityOperationsTest.php b/core/modules/content_moderation/tests/src/Kernel/EntityOperationsTest.php
index 60e9edf..7e84641 100644
--- a/core/modules/content_moderation/tests/src/Kernel/EntityOperationsTest.php
+++ b/core/modules/content_moderation/tests/src/Kernel/EntityOperationsTest.php
@@ -55,9 +55,9 @@ protected function createNodeType() {
   }
 
   /**
-   * Verifies that the process of saving forward-revisions works as expected.
+   * Verifies that the process of saving pending revisions works as expected.
    */
-  public function testForwardRevisions() {
+  public function testPendingRevisions() {
     // Create a new node in draft.
     $page = Node::create([
       'type' => 'page',
@@ -68,7 +68,7 @@ public function testForwardRevisions() {
 
     $id = $page->id();
 
-    // Verify the entity saved correctly, and that the presence of forward
+    // Verify the entity saved correctly, and that the presence of pending
     // revisions doesn't affect the default node load.
     /** @var Node $page */
     $page = Node::load($id);
@@ -87,7 +87,7 @@ public function testForwardRevisions() {
     $this->assertTrue($page->isDefaultRevision());
     $this->assertTrue($page->isPublished());
 
-    // Make a new forward-revision in Draft.
+    // Make a new pending revision in Draft.
     $page->setTitle('C');
     $page->moderation_state->value = 'draft';
     $page->save();
@@ -96,7 +96,7 @@ public function testForwardRevisions() {
     $page = Node::load($id);
     $this->assertEquals('B', $page->getTitle());
 
-    // Verify we can load the forward revision, even if the mechanism is kind
+    // Verify we can load the pending revision, even if the mechanism is kind
     // of gross. Note: revisionIds() is only available on NodeStorageInterface,
     // so this won't work for non-nodes. We'd need to use entity queries. This
     // is a core bug that should get fixed.
diff --git a/core/modules/content_moderation/tests/src/Kernel/EntityStateChangeValidationTest.php b/core/modules/content_moderation/tests/src/Kernel/EntityStateChangeValidationTest.php
index c8ce61b..091ac50 100644
--- a/core/modules/content_moderation/tests/src/Kernel/EntityStateChangeValidationTest.php
+++ b/core/modules/content_moderation/tests/src/Kernel/EntityStateChangeValidationTest.php
@@ -186,13 +186,13 @@ public function testInvalidStateMultilingual() {
     $node_fr->save();
     $this->assertEquals('published', $node_fr->moderation_state->value);
 
-    // Create a forward revision of the original node.
+    // Create a pending revision of the original node.
     $node->moderation_state = 'draft';
     $node->setNewRevision(TRUE);
     $node->isDefaultRevision(FALSE);
     $node->save();
 
-    // For the forward english revision, there should be a violation from draft
+    // For the pending english revision, there should be a violation from draft
     // to archived.
     $node->moderation_state = 'archived';
     $violations = $node->validate();
diff --git a/core/modules/content_moderation/tests/src/Unit/LatestRevisionCheckTest.php b/core/modules/content_moderation/tests/src/Unit/LatestRevisionCheckTest.php
index 2d33ee8..455c070 100644
--- a/core/modules/content_moderation/tests/src/Unit/LatestRevisionCheckTest.php
+++ b/core/modules/content_moderation/tests/src/Unit/LatestRevisionCheckTest.php
@@ -45,8 +45,8 @@ protected function setUp() {
    *   The class of the entity to mock.
    * @param string $entity_type
    *   The machine name of the entity to mock.
-   * @param bool $has_forward
-   *   Whether this entity should have a forward revision in the system.
+   * @param bool $has_pending_revision
+   *   Whether this entity should have a pending revision in the system.
    * @param array $account_permissions
    *   An array of permissions the account has.
    * @param bool $is_owner
@@ -57,7 +57,7 @@ protected function setUp() {
    *
    * @dataProvider accessSituationProvider
    */
-  public function testLatestAccessPermissions($entity_class, $entity_type, $has_forward, array $account_permissions, $is_owner, $result_class) {
+  public function testLatestAccessPermissions($entity_class, $entity_type, $has_pending_revision, array $account_permissions, $is_owner, $result_class) {
 
     /** @var \Drupal\Core\Session\AccountInterface $account */
     $account = $this->prophesize(AccountInterface::class);
@@ -82,7 +82,7 @@ public function testLatestAccessPermissions($entity_class, $entity_type, $has_fo
 
     /** @var \Drupal\content_moderation\ModerationInformation $mod_info */
     $mod_info = $this->prophesize(ModerationInformation::class);
-    $mod_info->hasForwardRevision($entity->reveal())->willReturn($has_forward);
+    $mod_info->hasPendingRevision($entity->reveal())->willReturn($has_pending_revision);
 
     $route = $this->prophesize(Route::class);
 
@@ -119,13 +119,13 @@ public function accessSituationProvider() {
       // Node with own content permissions and no latest version, but no perms
       // to view latest version.
       [Node::class, 'node', TRUE, ['view own unpublished content'], FALSE, AccessResultNeutral::class],
-      // Block with forward revision, and permissions to view any.
+      // Block with pending revision, and permissions to view any.
       [BlockContent::class, 'block_content', TRUE, ['view latest version', 'view any unpublished content'], FALSE, AccessResultAllowed::class],
-      // Block with no forward revision.
+      // Block with no pending revision.
       [BlockContent::class, 'block_content', FALSE, ['view latest version', 'view any unpublished content'], FALSE, AccessResultForbidden::class],
-      // Block with forward revision, but no permission to view any.
+      // Block with pending revision, but no permission to view any.
       [BlockContent::class, 'block_content', TRUE, ['view latest version', 'view own unpublished content'], FALSE, AccessResultNeutral::class],
-      // Block with no forward revision.
+      // Block with no pending revision.
       [BlockContent::class, 'block_content', FALSE, ['view latest version', 'view own unpublished content'], FALSE, AccessResultForbidden::class],
     ];
   }
diff --git a/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraint.php b/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraint.php
index 2081ea3..35b29e9 100644
--- a/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraint.php
+++ b/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraint.php
@@ -5,7 +5,7 @@
 use Symfony\Component\Validator\Constraint;
 
 /**
- * Validation constraint for changing the menu settings in forward revisions.
+ * Validation constraint for changing the menu settings in pending revisions.
  *
  * @Constraint(
  *   id = "MenuSettings",
diff --git a/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraintValidator.php b/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraintValidator.php
index b43b565..85f7bee 100644
--- a/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraintValidator.php
+++ b/core/modules/menu_ui/src/Plugin/Validation/Constraint/MenuSettingsConstraintValidator.php
@@ -6,7 +6,7 @@
 use Symfony\Component\Validator\ConstraintValidator;
 
 /**
- * Constraint validator for changing the menu settings in forward revisions.
+ * Constraint validator for changing the menu settings in pending revisions.
  */
 class MenuSettingsConstraintValidator extends ConstraintValidator {
 
@@ -25,15 +25,15 @@ public function validate($entity, Constraint $constraint) {
         $values['parent'] = $parent;
       }
 
-      // Handle the case when a menu link is added to a forward revision.
+      // Handle the case when a menu link is added to a pending revision.
       if (!$defaults['entity_id'] && $values['enabled']) {
         $violation_path = 'menu';
       }
-      // Handle the case when the menu link is deleted in a forward revision.
+      // Handle the case when the menu link is deleted in a pending revision.
       elseif (empty($values['enabled']) && $defaults['entity_id']) {
         $violation_path = 'menu';
       }
-      // Handle all the other menu link changes in a forward revision.
+      // Handle all the other menu link changes in a pending revision.
       elseif ($defaults['entity_id']) {
         if (($values['title'] != $defaults['title'])) {
           $violation_path = 'menu.title';
diff --git a/core/modules/menu_ui/tests/src/Functional/MenuUiContentModerationTest.php b/core/modules/menu_ui/tests/src/Functional/MenuUiContentModerationTest.php
index a593b36..93b0fa7 100644
--- a/core/modules/menu_ui/tests/src/Functional/MenuUiContentModerationTest.php
+++ b/core/modules/menu_ui/tests/src/Functional/MenuUiContentModerationTest.php
@@ -42,7 +42,7 @@ protected function setUp() {
   /**
    * Tests that node drafts can not modify the menu settings.
    */
-  public function testMenuUiWithForwardRevisions() {
+  public function testMenuUiWithPendingRevisions() {
     $editor = $this->drupalCreateUser([
       'administer nodes',
       'administer menu',
@@ -62,7 +62,7 @@ public function testMenuUiWithForwardRevisions() {
     $this->drupalPostForm('node/' . $node->id() . '/edit', [], t('Save and Publish'));
     $this->assertSession()->responseContains(t('Page %label has been updated.', ['%label' => $node->toLink($node->label())->toString()]));
 
-    // Create a forward revision with no changes.
+    // Create a pending revision with no changes.
     $this->drupalPostForm('node/' . $node->id() . '/edit', [], t('Save and Create New Draft'));
     $this->assertSession()->responseContains(t('Page %label has been updated.', ['%label' => $node->toLink($node->label())->toString()]));
 
diff --git a/core/modules/node/src/Tests/PagePreviewTest.php b/core/modules/node/src/Tests/PagePreviewTest.php
index 37b00d3..ed4c6fa 100644
--- a/core/modules/node/src/Tests/PagePreviewTest.php
+++ b/core/modules/node/src/Tests/PagePreviewTest.php
@@ -427,14 +427,14 @@ public function testPagePreviewWithRevisions() {
     $this->assertFieldByName('revision_log[0][value]', $edit['revision_log[0][value]'], 'Revision log field displayed.');
 
     // Save the node after coming back from the preview page so we can create a
-    // forward revision for it.
+    // pending revision for it.
     $this->drupalPostForm(NULL, [], t('Save'));
     $node = $this->drupalGetNodeByTitle($edit[$title_key]);
 
-    // Check that previewing a forward revision of a node works. This can not be
+    // Check that previewing a pending revision of a node works. This can not be
     // accomplished through the UI so we have to use API calls.
     // @todo Change this test to use the UI when we will be able to create
-    // forward revisions in core.
+    // pending revisions in core.
     // @see https://www.drupal.org/node/2725533
     $node->setNewRevision(TRUE);
     $node->isDefaultRevision(FALSE);
diff --git a/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraint.php b/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraint.php
index e463bf2..4136d26 100644
--- a/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraint.php
+++ b/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraint.php
@@ -5,7 +5,7 @@
 use Symfony\Component\Validator\Constraint;
 
 /**
- * Validation constraint for changing path aliases in forward revisions.
+ * Validation constraint for changing path aliases in pending revisions.
  *
  * @Constraint(
  *   id = "PathAlias",
diff --git a/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraintValidator.php b/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraintValidator.php
index 986df4b..e6771f7 100644
--- a/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraintValidator.php
+++ b/core/modules/path/src/Plugin/Validation/Constraint/PathAliasConstraintValidator.php
@@ -9,7 +9,7 @@
 use Symfony\Component\Validator\ConstraintValidator;
 
 /**
- * Constraint validator for changing path aliases in forward revisions.
+ * Constraint validator for changing path aliases in pending revisions.
  */
 class PathAliasConstraintValidator extends ConstraintValidator implements ContainerInjectionInterface {
 
diff --git a/core/modules/path/tests/src/Functional/PathContentModerationTest.php b/core/modules/path/tests/src/Functional/PathContentModerationTest.php
index 2bb413a..c63c573 100644
--- a/core/modules/path/tests/src/Functional/PathContentModerationTest.php
+++ b/core/modules/path/tests/src/Functional/PathContentModerationTest.php
@@ -52,11 +52,11 @@ public function testNodePathAlias() {
     ], t('Save and Publish'));
     $node = $this->getNodeByTitle('moderated content');
 
-    // Add a forward revision with the same alias.
+    // Add a pending revision with the same alias.
     $this->drupalGet('node/' . $node->id() . '/edit');
     $this->assertSession()->fieldValueEquals('path[0][alias]', '/moderated-content');
     $this->drupalPostForm(NULL, [
-      'title[0][value]' => 'forward revision',
+      'title[0][value]' => 'pending revision',
       'path[0][alias]' => '/moderated-content',
     ], t('Save and Create New Draft'));
     $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.');
@@ -70,12 +70,12 @@ public function testNodePathAlias() {
     ], t('Save and Publish'));
     $node = $this->getNodeByTitle('moderated content 2');
 
-    // Add a forward revision with a new alias.
+    // Add a pending revision with a new alias.
     $this->drupalGet('node/' . $node->id() . '/edit');
     $this->assertSession()->fieldValueEquals('path[0][alias]', '');
     $this->drupalPostForm(NULL, [
-      'title[0][value]' => 'forward revision',
-      'path[0][alias]' => '/forward-revision',
+      'title[0][value]' => 'pending revision',
+      'path[0][alias]' => '/pending-revision',
     ], t('Save and Create New Draft'));
     $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.');
 
@@ -88,11 +88,11 @@ public function testNodePathAlias() {
     ], t('Save and Publish'));
     $node = $this->getNodeByTitle('moderated content 3');
 
-    // Add a forward revision with no path alias.
+    // Add a pending revision with no path alias.
     $this->drupalGet('node/' . $node->id() . '/edit');
     $this->assertSession()->fieldValueEquals('path[0][alias]', '');
     $this->drupalPostForm(NULL, [
-      'title[0][value]' => 'forward revision',
+      'title[0][value]' => 'pending revision',
       'path[0][alias]' => '',
     ], t('Save and Create New Draft'));
     $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.');
diff --git a/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php b/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php
index 38db0e9..caf5fa2 100644
--- a/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php
@@ -135,28 +135,28 @@ public function testEntityRevisionParamConverter() {
     $entity->addTranslation('de', ['name' => 'default revision - de']);
     $entity->save();
 
-    $forward_revision = \Drupal::entityTypeManager()->getStorage('entity_test_mulrev')->loadUnchanged($entity->id());
+    $pending_revision = \Drupal::entityTypeManager()->getStorage('entity_test_mulrev')->loadUnchanged($entity->id());
 
-    $forward_revision->setNewRevision();
-    $forward_revision->isDefaultRevision(FALSE);
+    $pending_revision->setNewRevision();
+    $pending_revision->isDefaultRevision(FALSE);
 
-    $forward_revision->name = 'forward revision - en';
-    $forward_revision->save();
+    $pending_revision->name = 'pending revision - en';
+    $pending_revision->save();
 
-    $forward_revision_translation = $forward_revision->getTranslation('de');
-    $forward_revision_translation->name = 'forward revision - de';
-    $forward_revision_translation->save();
+    $pending_revision_translation = $pending_revision->getTranslation('de');
+    $pending_revision_translation->name = 'pending revision - de';
+    $pending_revision_translation->save();
 
     // Check that the entity revision is upcasted in the correct language.
-    $revision_url = 'entity_test_mulrev/' . $entity->id() . '/revision/' . $forward_revision->getRevisionId() . '/view';
+    $revision_url = 'entity_test_mulrev/' . $entity->id() . '/revision/' . $pending_revision->getRevisionId() . '/view';
 
     $this->drupalGet($revision_url);
-    $this->assertText('forward revision - en');
-    $this->assertNoText('forward revision - de');
+    $this->assertText('pending revision - en');
+    $this->assertNoText('pending revision - de');
 
     $this->drupalGet('de/' . $revision_url);
-    $this->assertText('forward revision - de');
-    $this->assertNoText('forward revision - en');
+    $this->assertText('pending revision - de');
+    $this->assertNoText('pending revision - en');
   }
 
 }
diff --git a/core/modules/taxonomy/tests/src/Kernel/ForwardRevisionTest.php b/core/modules/taxonomy/tests/src/Kernel/PendingRevisionTest.php
similarity index 87%
rename from core/modules/taxonomy/tests/src/Kernel/ForwardRevisionTest.php
rename to core/modules/taxonomy/tests/src/Kernel/PendingRevisionTest.php
index abc0846..e4b2cc0 100644
--- a/core/modules/taxonomy/tests/src/Kernel/ForwardRevisionTest.php
+++ b/core/modules/taxonomy/tests/src/Kernel/PendingRevisionTest.php
@@ -11,11 +11,11 @@
 use Drupal\taxonomy\Entity\Vocabulary;
 
 /**
- * Kernel tests for taxonomy forward revisions.
+ * Kernel tests for taxonomy pending revisions.
  *
  * @group taxonomy
  */
-class ForwardRevisionTest extends KernelTestBase {
+class PendingRevisionTest extends KernelTestBase {
 
   /**
    * {@inheritdoc}
@@ -35,9 +35,9 @@ protected function setUp() {
   }
 
   /**
-   * Tests that the taxonomy index work correctly with forward revisions.
+   * Tests that the taxonomy index work correctly with pending revisions.
    */
-  public function testTaxonomyIndexWithForwardRevision() {
+  public function testTaxonomyIndexWithPendingRevision() {
     \Drupal::configFactory()->getEditable('taxonomy.settings')->set('maintain_index_table', TRUE)->save();
 
     Vocabulary::create([
@@ -92,8 +92,7 @@ public function testTaxonomyIndexWithForwardRevision() {
     $taxonomy_index = $this->getTaxonomyIndex();
     $this->assertEquals($term2->id(), $taxonomy_index[$node->id()]->tid);
 
-    // Check that saving a forward (non-default) revision does not affect the
-    // taxonomy index.
+    // Check that saving a pending revision does not affect the taxonomy index.
     $node->setNewRevision(TRUE);
     $node->isDefaultRevision(FALSE);
     $node->field_tags->target_id = $term->id();
@@ -102,7 +101,7 @@ public function testTaxonomyIndexWithForwardRevision() {
     $taxonomy_index = $this->getTaxonomyIndex();
     $this->assertEquals($term2->id(), $taxonomy_index[$node->id()]->tid);
 
-    // Check that making the previously created forward-revision the default
+    // Check that making the previously created pending revision the default
     // revision updates the taxonomy index correctly.
     $node->isDefaultRevision(TRUE);
     $node->save();
diff --git a/core/modules/views/tests/src/Kernel/Plugin/SqlEntityLoadingTest.php b/core/modules/views/tests/src/Kernel/Plugin/SqlEntityLoadingTest.php
index 339638c..3e3bbac 100644
--- a/core/modules/views/tests/src/Kernel/Plugin/SqlEntityLoadingTest.php
+++ b/core/modules/views/tests/src/Kernel/Plugin/SqlEntityLoadingTest.php
@@ -37,7 +37,7 @@ protected function setUp($import_test_views = TRUE) {
     $this->installSchema('node', 'node_access');
   }
 
-  public function testViewWithNonDefaultForwardRevision() {
+  public function testViewWithNonDefaultPendingRevision() {
     $node_type = NodeType::create([
       'type' => 'page',
     ]);
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php
index 5c7e51c..0430369 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php
@@ -887,9 +887,9 @@ public function testBaseFieldMultipleColumns() {
   }
 
   /**
-   * Test forward-revisions.
+   * Test pending revisions.
    */
-  public function testForwardRevisions() {
+  public function testPendingRevisions() {
     // Ensure entity 14 is returned.
     $result = \Drupal::entityQuery('entity_test_mulrev')
       ->condition('id', [14], 'IN')
@@ -914,7 +914,7 @@ public function testForwardRevisions() {
       ->execute();
     $this->assertEqual(count($result), 1);
 
-    // Verify that field conditions on the default and forward revision are
+    // Verify that field conditions on the default and pending revision are
     // work as expected.
     $result = \Drupal::entityQuery('entity_test_mulrev')
       ->condition('id', [14], 'IN')
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php
index 5c0ef7b..b43b376 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php
@@ -88,9 +88,9 @@ public function testRevertRevisionAfterTranslation() {
   }
 
   /**
-   * Tests the translation values when saving a forward revision.
+   * Tests the translation values when saving a pending revision.
    */
-  public function testTranslationValuesWhenSavingForwardRevisions() {
+  public function testTranslationValuesWhenSavingPendingRevisions() {
     $user = $this->createUser();
     $storage = $this->entityManager->getStorage('entity_test_mulrev');
 
@@ -103,33 +103,33 @@ public function testTranslationValuesWhenSavingForwardRevisions() {
     $entity->addTranslation('de', ['name' => 'default revision - de']);
     $entity->save();
 
-    // Create a forward revision for the entity and change a field value for
+    // Create a pending revision for the entity and change a field value for
     // both languages.
-    $forward_revision = $this->reloadEntity($entity);
+    $pending_revision = $this->reloadEntity($entity);
 
-    $forward_revision->setNewRevision();
-    $forward_revision->isDefaultRevision(FALSE);
+    $pending_revision->setNewRevision();
+    $pending_revision->isDefaultRevision(FALSE);
 
-    $forward_revision->name = 'forward revision - en';
-    $forward_revision->save();
+    $pending_revision->name = 'pending revision - en';
+    $pending_revision->save();
 
-    $forward_revision_translation = $forward_revision->getTranslation('de');
-    $forward_revision_translation->name = 'forward revision - de';
-    $forward_revision_translation->save();
+    $pending_revision_translation = $pending_revision->getTranslation('de');
+    $pending_revision_translation->name = 'pending revision - de';
+    $pending_revision_translation->save();
 
-    $forward_revision_id = $forward_revision->getRevisionId();
-    $forward_revision = $storage->loadRevision($forward_revision_id);
+    $pending_revision_id = $pending_revision->getRevisionId();
+    $pending_revision = $storage->loadRevision($pending_revision_id);
 
-    // Change the value of the field in the default language, save the forward
+    // Change the value of the field in the default language, save the pending
     // revision and check that the value of the field in the second language is
-    // also taken from the forward revision, *not* from the default revision.
-    $forward_revision->name = 'updated forward revision - en';
-    $forward_revision->save();
+    // also taken from the pending revision, *not* from the default revision.
+    $pending_revision->name = 'updated pending revision - en';
+    $pending_revision->save();
 
-    $forward_revision = $storage->loadRevision($forward_revision_id);
+    $pending_revision = $storage->loadRevision($pending_revision_id);
 
-    $this->assertEquals($forward_revision->name->value, 'updated forward revision - en');
-    $this->assertEquals($forward_revision->getTranslation('de')->name->value, 'forward revision - de');
+    $this->assertEquals($pending_revision->name->value, 'updated pending revision - en');
+    $this->assertEquals($pending_revision->getTranslation('de')->name->value, 'pending revision - de');
   }
 
   /**
