Change record status: 
Project: 
Introduced in branch: 
10.3.x
Introduced in version: 
10.3.0
Description: 

\Drupal\Core\Render\RendererInterface::renderPlain() is deprecated. Use \Drupal\Core\Render\RendererInterface::renderInIsolation() instead.

Before

\Drupal::service('renderer')->renderPlain($elements);

After

\Drupal::service('renderer')->renderInIsolation($elements);

Via the DeprecationHelper

@see DeprecationHelper helps modules support multiple versions of core

/** @var \Drupal\Core\Render\RendererInterface $renderer */
$renderer = \Drupal::service('renderer');
$output = DeprecationHelper::backwardsCompatibleCall(
  currentVersion: \Drupal::VERSION,
  deprecatedVersion: '10.3',
  currentCallable: fn() => $renderer->renderInIsolation($elements),
  deprecatedCallable: fn() => $renderer->renderPlain($elements),
);
Impacts: 
Module developers

Comments

jrockowitz’s picture

Below is how to use the DeprecationHelper to maintain backward compatibility.

/** @var \Drupal\Core\Render\RendererInterface $renderer */
$renderer = \Drupal::service('renderer');
$output = DeprecationHelper::backwardsCompatibleCall(
  currentVersion: \Drupal::VERSION,
  deprecatedVersion: '10.3',
  currentCallable: fn() => $renderer->renderInIsolation($elements),
  deprecatedCallable: fn() => $renderer->renderPlain($elements,
);
ankitv18’s picture

Use below code block for backward compatibility as suggested above has missing closing bracket.

/** @var \Drupal\Core\Render\RendererInterface $renderer */
$renderer = \Drupal::service('renderer');
$output = DeprecationHelper::backwardsCompatibleCall(
  currentVersion: \Drupal::VERSION,
  deprecatedVersion: '10.3',
  currentCallable: fn() => $renderer->renderInIsolation($elements),
  deprecatedCallable: fn() => $renderer->renderPlain($elements),
);
gábor hojtsy’s picture

Added this to the change record itself.