Change record status: 
Project: 
Introduced in branch: 
8.7.x
Introduced in version: 
8.7.0
Description: 

\Drupal\content_translation\ContentTranslationUpdatesManager and the corresponding content_translation.updates_manager service have been deprecated. They could have been previously used to manually update content translation field definitions when content translation settings for an entity bundle changed. The fields were previously created or updated in the following situations:

  1. When enabling translation through the user interface
  2. When importing configuration that contains content translation settings
  3. When creating translatable entity bundles via a migration

In all other situations - in particular when content translation settings were created by the module- (or profile-)provided configuration - fields would have to be manually updated by custom code. This has now been fixed so that ContentTranslationUpdatesManager::updateDefinitions() does not need to be called. Any usages can simply be removed without replacement.

This change also affects migrations. There is no need to explicitly specify that content translation field definitions should be updated. Corresponding destination configuration setting content_translation_update_definitions will be ignored. For example:

Before

destination:
  plugin: entity:language_content_settings
  content_translation_update_definitions:
    - node

After

destination:
  plugin: entity:language_content_settings

As part of this change ContentTranslationUpdatesManager has been deprecated entirely, so it should no longer be passed into ContentTranslationManager::__construct().

Before

  class MyContentTranslationManager extends ContentTranslationManager {

    public function __construct(EntityTypeManagerInterface $entity_type_manager, ContentTranslationUpdatesManager $updates_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info = NULL) {
      parent::__construct($entity_type_manager, $updates_manager, $entity_type_bundle_info);
    }

  }

After

  class MyContentTranslationManager extends ContentTranslationManager {

    public function __construct(EntityTypeManagerInterface $entity_type_manager, $entity_type_bundle_info) {
      parent::__construct($entity_type_manager, $entity_type_bundle_info);
    }

  }

Note also the related change introduced the $entity_type_bundle_info parameter: https://www.drupal.org/node/2549139

Impacts: 
Module developers