Programmatically created revision set as the main node instead of revision I am using D8 and creating revision for a node with the following code.

  $nid = "my_node_id";
  $node = \Drupal\node\Entity\Node::load($nid);
// Make this change a new revision
  $node-&gt;setNewRevision(TRUE);
  $node-&gt;revision_log = 'Created revision for node' . $nid;
  $node-&gt;setRevisionCreationTime(REQUEST_TIME);
  $node-&gt;setRevisionUserId($user_id);
  $node-&gt;save();


When I create a revision, it is set as the main revision, instead of one of the revisions. Is it taking the revision timestamp when creating, and pushing latest to the top? Is there a function that tells me I am using the latest revision?
You're looking for \Drupal\Core\Entity\RevisionableInterface::isDefaultRevision(), set that to false if you want to save a revision that is not the default revision.