← all change records

#3395582 Plugin types should use PHP attributes instead of annotations

released Target 10.2.x Published 2023-10-27
#3252386 #3265945

Generated 2026-06-03 14:00 UTC

Matching rules (2)

  • from: \Drupal\Core\Annotation\Action to: \Drupal\Core\Action\Attribute\Action
  • to: \Drupal\Component\Plugin\Attribute\AttributeBase

Affected contrib projects (99)

Project legacy in_flight migrated installs files adopters
pathauto 0 0 1 514,923 0 1
redirect 0 0 1 292,214 0 1
search_api 0 0 1 170,654 0 2
views_bulk_operations 0 0 2 162,628 0 8
migrate_plus 0 0 1 63,882 0 3
symfony_mailer 0 0 1 47,178 0 1
commerce 0 0 1 38,572 0 4
mailchimp 0 0 1 25,062 0 2
file_delete 0 0 1 23,245 0 2
trash 0 0 1 19,430 0 2
eca 0 0 3 17,304 0 204
ai 0 0 5 15,430 0 21
content_lock 0 0 1 15,420 0 1
domain 0 0 2 11,889 0 14
tmgmt 0 0 1 11,594 0 3
genpass 0 0 2 9,244 0 1
ai_agents 0 0 3 8,400 0 2
og 0 0 1 7,735 0 9
ui_icons 0 0 1 6,369 0 1
workflow 0 0 1 5,395 0 2
gutenberg 0 0 1 5,276 0 1
iubenda_integration 0 0 1 3,366 0 2
quiz 0 0 1 3,072 0 1
registration 0 0 1 3,036 0 6
privatemsg 0 0 1 2,714 0 4
groupmedia 0 0 2 2,455 0 4
civicrm_entity 0 0 1 1,972 0 1
eca_tamper 0 0 1 1,525 0 1
reassign_user_content 0 0 1 1,505 0 1
crowdsec 0 0 1 1,004 0 1
markdownify 0 0 1 965 0 1
markdown_easy 0 0 1 921 0 1
eca_webform 0 0 1 908 0 4
pdf_to_imagefield 0 0 1 803 0 1
consent_manager 0 0 1 488 0 1
ai_translate 0 0 2 426 0 1
eca_commerce 0 0 1 407 0 2
sdc_devel 0 0 1 378 0 1
eca_helper 0 0 1 366 0 32
media_folders 0 0 1 338 0 1
log 0 0 1 333 0 4
mcp 0 0 1 302 0 1
bulk_edit_terms 0 0 1 299 0 1
tool 0 0 1 289 0 1
resend_register_mail 0 0 1 267 0 1
address_suggestion 0 0 1 264 0 1
sdc_styleguide 0 0 2 240 0 2
eca_flag 0 0 1 235 0 1
eca_metatag 0 0 1 223 0 2
eca_state_machine 0 0 1 218 0 1
ai_provider_aws_bedrock 0 0 1 206 0 1
ai_agents_test 0 0 1 200 0 1
wisski 0 0 1 193 0 5
field_states 0 0 2 174 0 1
pluggable_entity_view_builder 0 0 1 150 0 1
document_loader 0 0 2 147 0 1
navigation_plus 0 0 2 112 0 2
ai_search 0 0 1 111 0 1
static_setting_contexts 0 0 1 100 0 1
lms 0 0 2 99 0 6
eca_content_access 0 0 1 91 0 2
configurable_anonymizer 0 0 1 73 0 1
content_moderation_bulk_state_change 0 0 1 68 0 1
token_eca_alter 0 0 1 67 0 1
eca_group 0 0 1 58 0 1
eca_views_data_export 0 0 1 54 0 1
eca_entity_print 0 0 1 49 0 2
give 0 0 1 42 0 1
meeting_api 0 0 1 41 0 2
drupalfit 0 0 2 28 0 3
daterangepickerwidget 0 0 1 27 0 1
ocr_image 0 0 1 26 0 1
mail_action 0 0 1 25 0 2
advanced_message_subscription 0 0 1 24 0 1
pwa_firebase 0 0 1 23 0 1
batch_plugin 0 0 1 21 0 2
commerce_gc_client 0 0 1 21 0 1
orchestration 0 0 1 19 0 3
cas_user_ban 0 0 1 17 0 1
search_api_solr_dense_vector 0 0 1 16 0 1
views_query 0 0 1 16 0 1
sql_views 0 0 1 15 0 1
commerce_cart_reminder 0 0 1 14 0 1
commerce_xero 0 0 1 13 0 1
openai_batch 0 0 2 13 0 2
entity_manager 0 0 1 9 0 2
sms_message 0 0 1 9 0 4
easy_entity_field 0 0 2 8 0 1
search_api_ai 0 0 1 7 0 1
eca_external_workflows 0 0 2 3 0 2
eca_zoom 0 0 1 2 0 11
node_change_default_language 0 0 1 2 0 1
secure_nodes 0 0 1 2 0 2
dynamic_yield 0 0 1 1 0 2
eca_entity_import 0 0 1 1 0 1
smallads 0 0 1 1 0 2
eca_quiz 0 0 1 0 0 1
mautic_eca 0 0 1 0 0 13
plotly 0 0 1 0 0 1