Change record status: 
Project: 
Introduced in branch: 
9.3.x
Introduced in version: 
9.3.0
Description: 

In 9.2 and below \Drupal\Core\Entity\EntityBase::getTypedData would only call the default \Drupal\Core\Entity\Plugin\DataType\EntityAdapter::createFromEntity plugin to create the typed data.

This meant that every entity-type that wanted to provide an alternate implementation of \Drupal\Core\Entity\Plugin\DataType\EntityAdapter::createFromEntity would need to sub-class \Drupal\Core\Entity\EntityBase::getTypedData and provide an alternate implementation.

From 9.3.0 \Drupal\Core\Entity\EntityBase::getTypedData will use the specific entity-type (and bundle if applicable) typed-data plugin when calling \Drupal\Core\Entity\Plugin\DataType\EntityAdapter::createFromEntity

This means that modules that alter the typed-data plugin definitions for a specific entity type or bundle, can now also provide an implementation of \Drupal\Core\Entity\Plugin\DataType\EntityAdapter::createFromEntity and it will be called.

Impacts: 
Module developers