Change record status: 
Project: 
Introduced in branch: 
8.x-3.x
Introduced in version: 
8.x-3.9
Description: 

Import Processor plugins and Client Authorization plugins now use attributes to declare the plugin.

Before:

/**
 * Provides Anonymous authorization.
 *
 * @ClientAuthorization(
 *   id = "anonymous",
 *   label = @Translation("Anonymous"),
 * )
 */
class Anonymous extends ClientAuthorizationPluginBase {

After:

/**
 * Provides Anonymous authorization.
 */
#[ClientAuthorization(
  id: 'anonymous',
  label: new TranslatableMarkup('Anonymous'),
)]
class Anonymous extends ClientAuthorizationPluginBase {

A plugin attribute will be required for Drupal 12. Existing annotations may still be used until Drupal Core ceases to support them in Drupal 13: see https://www.drupal.org/node/3522776.

Impacts: 
Module developers