Change record status: 
Project: 
Introduced in branch: 
11.2.x
Introduced in version: 
11.2.0
Description: 

Code that has extended \Drupal\Core\Config\ConfigInstaller or implemented \Drupal\Core\Config\ConfigInstallerInterface will need to change in order to support Drupal 11.2. Code that calls the methods is unlikely to need to change unless it wants to use the new functionality detailed below.

A $mode argument is added to \Drupal\Core\Config\ConfigInstaller::installDefaultConfig(). This enables installing configuration in a modules config/install, config/optional, and other installed modules config/optional directories in separate operations. A new enum \Drupal\Core\Config\DefaultConfigMode is added to support this.

A $previously_checked_config argument is added to the protected methods \Drupal\Core\Config\ConfigInstaller::findPreExistingConfiguration() and \Drupal\Core\Config\ConfigInstaller::findDefaultConfigWithUnmetDependencies(). This argument is a list of previously checked configuration, keyed by collection name.

See #3492937: Add compatibility layer for Drupal 11.2 for an example of how to add a compatibility layer to a module that decorates the config installer.

Impacts: 
Module developers
Site templates, recipes and distribution developers