← all change records

#3442349 Support for object oriented hook implementations using autowired services; some ModuleHandler methods deprecated

released Target 11.1.x Published 2024-10-18
#3442009

Generated 2026-08-02 14:00 UTC

Matching rules (9)

  • api_key: hook kind: attribute_usage to: - \Drupal\Core\Hook\Attribute\Hook
  • api_key: legacy_hook kind: attribute_usage target_kind: function to: - \Drupal\Core\Hook\Attribute\LegacyHook
  • from: fqn: '\Drupal\Core\Extension\ModuleHandlerInterface::getHookInfo' match_unresolved: true
  • from: fqn: '\Drupal\Core\Extension\ModuleHandlerInterface::writeCache' match_unresolved: true
  • to: fqn: \Drupal\Core\Hook\Attribute\Hook
  • to: fqn: \Drupal\Core\Hook\Attribute\LegacyHook
  • to: fqn: \Drupal\Core\Hook\Attribute\RemoveHook
  • to: fqn: \Drupal\Core\Hook\Attribute\ReorderHook
  • to: fqn: \Drupal\Core\Hook\Attribute\LegacyModuleImplementsAlter

Affected contrib projects (494)

Project legacy in_flight migrated installs files adopters
token 0 0 4 524,321 0 0
pathauto 0 0 4 479,241 0 0
webform 0 0 5 346,817 0 1
metatag 0 0 5 342,791 0 1
entity_reference_revisions 0 0 4 264,281 0 1
paragraphs 0 0 2 257,253 0 0
search_api 0 0 4 169,691 0 0
views_bulk_operations 0 0 4 157,512 0 0
honeypot 0 0 4 144,176 0 1
rules 0 0 4 81,263 0 0
diff 0 0 4 76,905 0 1
migrate_plus 0 0 5 65,166 0 1
masquerade 0 0 4 64,042 0 1
smart_trim 0 0 4 62,790 0 0
file_mdm 0 0 2 62,339 0 0
search_api_solr 0 0 2 59,337 0 0
seven 0 0 4 58,614 0 0
redis 0 0 4 57,994 0 0
facets 0 0 2 56,053 0 0
geolocation 0 0 4 46,359 0 3
components 0 0 4 45,928 0 1
imagemagick 0 0 2 40,101 0 0
sophron 0 0 2 37,718 0 0
commerce 0 0 4 37,667 0 12
image_effects 0 0 2 35,196 0 0
filefield_paths 0 0 4 30,473 0 1
views_autocomplete_filters 0 0 4 29,616 0 0
hal 1 0 0 29,321 2 0
csp 0 0 2 25,187 0 0
office_hours 0 0 4 21,362 0 0
trash 0 0 5 21,110 0 1
queue_ui 0 0 4 20,671 0 0
eca 0 0 4 19,852 0 0
acquia_connector 0 0 1 19,815 0 2
charts 0 0 8 19,422 0 14
group 0 0 6 19,176 0 1
block_visibility_groups 0 0 0 18,580 0 5
ai 0 0 16 18,387 0 14
content_lock 0 0 5 16,221 0 3
commerce_shipping 0 0 4 15,606 0 1
rename_admin_paths 0 0 4 15,012 0 0
s3fs 2 0 0 14,152 11 0
site_verify 0 0 4 13,905 0 0
modeler_api 0 0 6 12,149 0 0
genpass 0 0 6 12,138 0 1
project_browser 0 0 2 11,914 0 0
book 0 0 2 11,583 0 7
domain 0 0 4 11,396 0 11
dashboard 0 0 2 11,307 0 0
easy_email 0 0 4 11,049 0 1
ai_agents 0 0 8 10,600 0 3
hook_event_dispatcher 2 0 0 10,536 1 0
ckeditor_font 0 0 4 10,511 0 1
replicate_ui 0 0 4 10,227 0 0
navigation_extra_tools 0 0 4 9,860 0 0
layout_builder_iframe_modal 0 0 4 9,403 0 1
datalayer 0 0 4 8,999 0 1
publication_date 0 0 4 8,920 0 0
canvas 0 0 2 8,549 0 34
searchstax 0 0 5 8,353 0 1
moderation_dashboard 0 0 2 8,261 0 0
admin_audit_trail 0 0 2 8,000 0 1
ui_patterns 0 0 4 7,445 0 0
drupal_cms_helper 0 0 2 7,086 0 0
name 0 0 4 6,779 0 0
date_ical 0 0 2 6,648 0 0
advancedqueue 0 0 4 6,276 0 4
poll 0 0 4 6,073 0 0
type_tray 0 0 4 5,969 0 0
ai_dashboard 0 0 4 5,945 0 2
image_field_caption 0 0 6 5,675 0 5
workflow 0 0 8 5,380 0 0
byte_theme 0 0 2 5,293 0 1
easy_encryption 0 0 2 5,292 0 0
mercury 0 0 2 5,198 0 0
automatic_updates 0 0 0 5,078 0 1
custom_field 0 0 5 4,942 0 7
animated_gif 0 0 2 4,899 0 2
gutenberg 0 0 0 4,694 0 1
menu_item_fields 0 0 2 4,658 0 0
securelogin 0 0 2 4,528 0 0
noreferrer 0 0 2 4,440 0 0
toc_js 0 0 4 4,384 0 0
languagefield 0 0 4 4,338 0 1
events_log_track 0 0 2 3,533 0 0
jsonapi_include 0 0 2 3,357 0 0
iubenda_integration 0 0 2 3,143 0 0
registration 0 0 5 3,058 0 1
layout_builder_st 0 0 5 3,037 0 1
field_encrypt 0 0 2 3,015 0 0
group_content_menu 0 0 10 2,940 0 1
privatemsg 0 0 4 2,611 0 0
paragraphs_table 0 0 2 2,523 0 0
canvas_full_html 0 0 2 2,363 0 1
helper 0 0 4 2,267 0 1
ip2country 0 0 4 2,071 0 1
private_message 0 0 4 1,984 0 0
jquery_deprecated_functions 0 0 4 1,955 0 1
commerce_cart_redirection 0 0 2 1,860 0 0
civicrm_entity 0 0 4 1,855 0 1
ban 0 0 4 1,802 0 1
textimage 0 0 2 1,759 0 0
layout_builder_ids 0 0 2 1,729 0 0
domain_path 2 0 8 1,691 1 2
eca_cm 0 0 2 1,593 0 0
dark_mode_toggle 0 0 2 1,590 0 0
frontend_editing 0 0 5 1,572 0 2
jquery_downgrade 0 0 2 1,527 0 0
menu_migration 0 0 4 1,501 0 0
smsframework 0 0 2 1,498 0 0
eca_tamper 0 0 2 1,497 0 0
mercury_editor 0 0 4 1,474 0 0
migrate_source_ui 0 0 4 1,457 0 0
acquia_dam 0 0 4 1,395 0 3
media_thumbnails_svg 0 0 4 1,339 0 0
ip_anon 0 0 2 1,203 0 0
reporting 0 0 4 1,192 0 0
navigation_menu_role 0 0 2 1,138 0 0
select_text_value 0 0 4 1,106 0 0
radioactivity 0 0 4 1,097 0 0
crowdsec 0 0 2 1,095 0 0
media_entity_link 0 0 4 1,079 0 1
hms_field 0 0 4 1,064 0 1
tocbot 0 0 4 1,044 0 0
prevnext 0 0 2 972 0 0
barcodes 0 0 4 945 0 3
eca_webform 0 0 2 933 0 0
external_entities 0 0 2 931 0 0
jsonld 1 0 0 929 1 0
field_widget_add_more 0 0 4 926 0 1
table_header_scope_attribute 0 0 2 916 0 0
index_now 0 0 4 889 0 2
custom_login_url 0 0 2 855 0 0
views_data_export_phpspreadsheet 0 0 2 847 0 0
quote 0 0 8 835 0 0
purge_users 0 0 4 799 0 0
hux 6 0 0 798 1 0
dbee 0 0 0 758 0 1
views_attach_library 0 0 2 703 0 0
recurring_events 0 0 4 669 0 0
modeler 0 0 4 595 0 0
migrate_boost 2 0 0 585 1 0
menu_bootstrap_icon 0 0 2 570 0 0
fasttoggle 0 0 4 553 0 1
mgv 0 0 4 510 0 0
browsersync 0 0 4 502 0 3
ui_suite_bootstrap 0 0 2 492 0 0
autologout_alterable 0 0 4 485 0 2
webhooks 0 0 2 471 0 0
custom_elements 0 0 2 451 0 0
requirements_manager 0 0 2 443 0 0
ai_integration_eca 0 0 4 441 0 2
block_content_suggestions 0 0 2 433 0 2
tool 0 0 2 433 0 0
prometheus_exporter 0 0 2 413 0 0
webform_user_registration 0 0 4 390 0 0
entity_access_password 0 0 2 367 0 0
mailjet 2 0 0 359 3 0
field_widget_actions 0 0 4 356 0 1
ai_context 0 0 4 340 0 3
canvas_extjs 0 0 4 336 0 3
protect_views_flood_control 0 0 4 330 0 0
file_extractor 0 0 2 325 0 0
term_glossary 0 0 4 325 0 0
devel_a11y 0 0 2 309 0 0
resend_register_mail 0 0 4 301 0 0
email_username 0 0 4 300 0 1
log 0 0 2 300 0 0
pipewrench 0 0 2 268 0 0
eca_metatag 0 0 4 266 0 1
fluidui 0 0 2 249 0 0
ai_tmgmt 0 0 4 248 0 2
eca_flag 0 0 4 245 0 1
menu_tree 0 0 4 243 0 0
bootstrap5_admin 0 0 2 241 0 2
flowdrop 0 0 6 240 0 0
address_suggestion 0 0 2 239 0 1
views_organization_chart 0 0 2 238 0 0
layout_builder_widget 0 0 6 237 0 2
suggestion 0 0 2 237 0 0
entity_reference_modal 0 0 2 234 0 0
timepicker 0 0 4 233 0 0
wse 0 0 9 227 0 1
paragraphs_bootstrap_carousel 0 0 2 221 0 0
lupus_decoupled 0 0 4 219 0 1
tr_rulez 0 0 4 217 0 0
webform_bootstrap 0 0 4 215 0 0
admin_toolbar_messages 0 0 4 198 0 3
printjs 0 0 2 197 0 0
languages_dropdown 0 0 4 196 0 1
meta_conversions_api 0 0 4 192 0 0
workbench_tabs 0 0 4 191 0 0
usfedgov_google_analytics 0 0 4 190 0 0
pager 0 0 2 181 0 0
fileslog 0 0 4 178 0 1
theme_breakpoints_js 0 0 2 178 0 0
varbase_components 0 0 2 177 0 0
masquerade_field 0 0 4 168 0 1
complete_webform_exporter 0 0 4 166 0 1
parameters 1 0 0 166 1 0
pwbi 0 0 4 164 0 0
meeting_api 0 0 4 163 0 1
flowdrop_ai_provider 0 0 2 155 0 0
pathauto_entity_parent 0 0 2 149 0 0
varnish_file_purge 0 0 4 148 0 0
same_page_preview 0 0 2 144 0 0
css_variables_customizer 0 0 4 141 0 1
document_loader 0 0 4 139 0 2
speedboxes 0 0 2 133 0 0
lms 0 0 4 131 0 4
search_api_typesense 0 0 4 127 0 0
ws_event 0 0 2 126 0 0
config_track 2 0 0 124 1 0
domain_extras 0 0 4 122 0 6
domain_unique_path_alias 1 0 0 121 1 0
lb_plus 0 0 3 120 0 1
kraken 0 0 4 118 0 1
swiffy_slider 0 0 4 114 0 0
image_styles_mapping 0 0 2 113 0 0
privacy_log 0 0 4 104 0 0
openintranet_engagement 0 0 2 102 0 0
postoffice 0 0 4 102 0 0
tripal 0 0 4 99 0 0
canvas_bootstrap 0 0 2 98 0 1
viewer 0 0 2 97 0 0
navigation_plus 0 0 4 93 0 0
paragraph_block 0 0 4 93 0 0
track_usage 0 0 4 93 0 0
unified_date 0 0 4 93 0 0
config_warning 0 0 4 91 0 1
gleap 0 0 4 91 0 1
trace_mail_log 0 0 4 90 0 0
fpdi_print 0 0 2 83 0 0
partial_datelist 0 0 2 82 0 0
deindex_unpublished_files 0 0 4 80 0 1
contextual_image_widget_crop 0 0 4 77 0 1
bulk_term_delete 0 0 4 73 0 2
configurable_anonymizer 0 0 2 73 0 0
path_alias_view_access 0 0 2 73 0 0
json_table 0 0 2 71 0 0
qr_generator 0 0 4 70 0 0
dkan_dataset_archiver 0 0 4 69 0 2
ai_provider_dxpr 0 0 2 68 0 1
primary_entity_reference 0 0 2 68 0 0
webform_intl_tel_national_mode 0 0 4 68 0 0
entity_logger 0 0 4 66 0 1
file_visibility 0 0 6 66 0 3
unicode_soft_hyphens 0 0 4 65 0 0
conductor 0 0 2 63 0 0
facets_range_input 0 0 4 63 0 1
menu_link_content_view_access 0 0 2 63 0 0
crm 0 0 2 62 0 0
views_mobile 0 0 2 62 0 0
multiple_email 0 0 2 60 0 0
redirect_regex 0 0 4 57 0 0
change_labels 0 0 2 54 0 2
lms_file_upload 0 0 4 53 0 1
datetime_reset 0 0 4 52 0 1
entity_vdts 0 0 2 50 0 0
logger 0 0 4 50 0 1
commerce_product_availability 0 0 2 49 0 0
frontend_routing 0 0 4 49 0 1
lms_certificate 0 0 4 48 0 2
nodepermissions 0 0 4 48 0 0
token_browser 0 0 2 48 0 0
container_query_images 0 0 4 46 0 1
eca_views_data_export 0 0 4 46 0 1
logger_db 0 0 4 45 0 2
database_ssl_check 0 0 2 44 0 0
drulma_companion 0 0 2 44 0 0
group_media_bulk_upload 0 0 2 44 0 0
paragraph_usage_dashboard 0 0 4 44 0 0
form_layout 0 0 5 43 0 1
advanced_message_subscription 0 0 2 40 0 1
bootstrap_flag_icons 0 0 2 40 0 1
patternkit 0 0 4 40 0 0
views_themeable_text_area 0 0 2 40 0 0
field_redirect 0 0 4 39 0 1
paragraph_group 0 0 4 39 0 0
threejs 0 0 2 39 0 0
advanced_header_field 0 0 2 38 0 2
gantt 0 0 2 38 0 0
media_opengraph 0 0 2 38 0 0
prometheus_metrics 0 0 2 38 0 0
dropdown_pager 0 0 4 37 0 1
alter_entity_autocomplete 0 0 2 36 0 1
tmgmt_ec_etranslation 0 0 4 36 0 0
webform_remote_fields 0 0 4 36 0 0
ajax_cart_update 0 0 4 35 0 1
lms_h5p 0 0 2 35 0 0
commerce_shipping_order_percentage 0 0 4 34 0 1
lms_membership_request 0 0 8 34 0 1
login_monitor 0 0 2 34 0 0
paragraphs_tabs_bootstrap 0 0 2 34 0 0
group_purl 0 0 2 33 0 0
cron_fail_alert 0 0 4 31 0 1
ocr_image 0 0 2 31 0 0
localgov_publications_importer 0 0 4 29 0 1
phoney 0 0 2 29 0 0
pwa_firebase 0 0 2 28 0 0
metadata_sanitizer 0 0 2 26 0 0
ckeditor_media_edit 0 0 4 25 0 1
leaflet_dynamic_table 0 0 4 25 0 1
vocabulary_clone 0 0 4 25 0 0
gifplayer 0 0 4 24 0 1
hal_publications 0 0 2 24 0 0
action_link 0 0 2 23 0 3
better_taxonomy 0 0 4 23 0 4
exclusive_boolean 0 0 4 23 0 1
lms_messages 0 0 4 23 0 1
seo_urls 1 0 0 23 1 0
soundcite 0 0 4 23 0 0
date_point 0 0 2 22 0 0
update_narf 0 0 2 22 0 0
block_content_type_visibility 0 0 2 21 0 1
configurable_anonymizer_oidc 0 0 2 21 0 0
media_remote_hls 0 0 4 21 0 1
renderviz 0 0 2 21 0 0
simple_oauth_refresh_token_buffer 0 0 4 21 0 0
image_404_fallback 0 0 4 20 0 1
screenshot 0 0 2 20 0 0
xnavigation 0 0 2 20 0 0
content_filter 0 0 4 19 0 1
ip_info 0 0 2 19 0 0
loginnotification 0 0 2 19 0 0
metatag_paths 0 0 4 19 0 0
commerce_store_dashboard 0 0 2 18 0 0
media_scroller 0 0 4 18 0 1
search_api_term_with_depth 0 0 4 18 0 0
teamleader 0 0 4 18 0 0
work_time 0 0 2 18 0 0
cas_user_ban 0 0 4 17 0 6
librejs 0 0 2 17 0 0
netforum 0 0 4 17 0 0
page_analytics 0 0 2 17 0 0
workflow_participants 0 0 6 16 0 0
coveo 0 0 8 15 0 4
dash 0 0 4 15 0 1
farm_crop_plan 0 0 2 15 0 0
ai_webform_guard 0 0 2 14 0 2
eaf 0 0 2 14 0 0
media_default_image 0 0 2 14 0 0
advancedqueue_mail 0 0 4 13 0 2
api 0 0 2 13 0 1
log_cache_tags 0 0 2 13 0 0
require_revision 0 0 4 13 0 0
select_a11y_ng 0 0 4 13 0 0
swagger_php 0 0 4 13 0 0
workspaces_access 0 0 4 13 0 0
email_otp_login 0 0 4 12 0 1
entity_to_text 0 0 2 12 0 0
jqcloud 0 0 2 12 0 0
livre 0 0 4 12 0 1
local_taskbar 0 0 2 12 0 0
logged_in 0 0 4 12 0 1
olivero_dark_switch 0 0 2 12 0 0
quick_data 0 0 2 12 0 0
tmgmt_laratranslate 0 0 4 12 0 0
easy_entity_field 0 0 4 11 0 0
experience_builder 0 0 4 11 0 0
search_api_autocomplete_improved 0 0 4 11 0 0
entity_attributes 0 0 2 10 0 0
postlight_parser 0 0 2 10 0 0
rocketship_theme_starter 0 0 2 10 0 0
string 0 0 4 10 0 0
farm_grazing_plan 0 0 2 9 0 0
path_alias_views 0 0 2 9 0 0
whatsapp_in 0 0 2 9 0 0
cache_pilot 0 0 2 8 0 2
config_pages_overrides 0 0 2 8 0 0
farm_rcd 0 0 2 8 0 0
reading_progress_bar 0 0 4 8 0 0
role_request 0 0 2 8 0 0
translation_bliss 0 0 5 8 0 1
state_machine_automated_transition 0 0 6 7 0 0
content_toc 0 0 4 6 0 1
copyright_notice 0 0 2 6 0 0
entity_display_processor 0 0 2 6 0 0
false_account 0 0 4 6 0 1
oauth_client 0 0 4 6 0 0
public_key_credential_source 0 0 4 6 0 0
rcr 0 0 8 6 0 0
search_api_opensearch_semantic 0 0 4 6 0 0
sequences 0 0 2 6 0 0
smileys_field 0 0 4 6 0 0
text_clarity_checker 0 0 2 6 0 0
user_dashboard_bootstrap 0 0 2 6 0 0
verify_email 0 0 8 6 0 0
atd 0 0 2 5 0 1
basic_ads 0 0 2 5 0 1
color_picker_field 0 0 2 5 0 0
flowdrop_ui_agents 0 0 2 5 0 0
inline_image_saver 0 0 4 5 0 1
social_auth_account_verification 0 0 2 5 0 0
user_preference_login_redirect 0 0 2 5 0 0
views_exposed_form_mobile 0 0 2 5 0 0
bulk_update_user_roles 0 0 2 4 0 1
content_moderation_tabs 0 0 2 4 0 0
entitygroupfield_lite 0 0 4 4 0 1
htmx_extras 0 0 2 4 0 0
recaptcha_preloader 0 0 2 4 0 0
refreshless 0 0 2 4 0 0
steam_login 0 0 2 4 0 0
views_area_library 0 0 4 4 0 0
views_lazy_renderer 0 0 6 4 0 0
webform_error_field 0 0 4 4 0 0
ai_seo_link_advisor 0 0 4 3 0 2
labor_time_tracker 0 0 4 3 0 1
link_filebrowser 0 0 2 3 0 0
oembed_configuration 0 0 4 3 0 0
search_api_field_datasource 0 0 8 3 0 0
search_api_sqlite 0 0 4 3 0 0
trash_manager 0 0 4 3 0 0
user_email_preview 0 0 4 3 0 0
views_relationship_condition 0 0 2 3 0 0
ai_document_ocr 0 0 4 2 0 3
bsky_post 0 0 4 2 0 2
dark_mode_user 0 0 2 2 0 0
emporiqa 0 0 4 2 0 1
flowdrop_agents 0 0 2 2 0 0
group_inline_entity_form 0 0 4 2 0 1
pdf_reducer 0 0 4 2 0 0
presigned_url 0 0 4 2 0 0
quick_scroll 0 0 2 2 0 0
scrape_to_field 0 0 2 2 0 0
site_settings_domain 0 0 4 2 0 0
tlsrpt 0 0 2 2 0 0
diboo_core 0 0 2 1 0 0
fillpdf_media 0 0 2 1 0 0
paragraphs_gantt 0 0 2 1 0 0
plotly 0 0 2 1 0 0
rendered_entity_list_formatter 0 0 4 1 0 0
satis_hub 0 0 2 1 0 0
straker_translate 0 0 4 1 0 0
users_account_modal 0 0 2 1 0 0
a12s 0 0 0 0 0 2
access_user_profiles_by_role 0 0 0 0 0 1
accessibility_statement 0 0 0 0 0 1
acquia_cms_audio 0 0 0 0 0 2
acquia_cms_document 0 0 0 0 0 2
acquia_cms_image 0 0 0 0 0 3
acquia_cms_video 0 0 0 0 0 2
affiliated 0 0 0 0 0 1
ai_agents_ossa 0 0 0 0 0 1
ai_claude_agent_sdk 0 0 0 0 0 1
ai_eca 0 0 0 0 0 1
ai_plus 0 0 0 0 0 5
ai_provider_litellm 0 0 0 0 0 1
ai_providers_api 0 0 0 0 0 1
ai_schema_markup_generator 0 0 0 0 0 1
ai_spam_protection 0 0 0 0 0 1
allowed_values_functions 0 0 0 0 0 1
altcolor 0 0 0 0 0 3
api_normalization 0 0 0 0 0 1
audio_clips 0 0 0 0 0 1
audio_wavesurfer 0 0 0 0 0 5
auto_taxonomy_menu 0 0 0 0 0 1
autocomplete_extras 0 0 0 0 0 1
babel 0 0 0 0 0 7
bankid 0 0 0 0 0 2
basket 0 0 0 0 0 4
bbc 0 0 0 0 0 1
block_editor 0 0 0 0 0 4
body_roles_classes 0 0 0 0 0 1
book_moderation_sync 0 0 0 0 0 1
bootstrap_italia 0 0 0 0 0 1
botshield 0 0 0 0 0 1
bpmn_io 0 0 0 0 0 15
bulk_fields 0 0 0 0 0 1
bulk_paragraphs 0 0 0 0 0 1
canvas_ai_seo 0 0 0 0 0 1
canvas_entity_reference 0 0 0 0 0 1
canvas_override 0 0 0 0 0 1
cfo 0 0 0 0 0 2
colorbox_inline 0 0 0 0 0 1
commerce_variation_cart_form 0 0 0 0 0 1
config_guardian 0 0 2 0 0 0
domain_entity 0 0 0 0 0 1
domain_theme_switch 0 0 0 0 0 1
download_statistics 0 0 0 0 0 1
editoria11y 0 0 0 0 0 1
entity_translate_side_by_side 0 0 0 0 0 1
feature_toggle 0 0 0 0 0 1
field_inheritance 0 0 0 0 0 1
file_unpublish 0 0 0 0 0 1
fivestar 0 0 0 0 0 1
komponent 0 0 0 0 0 1
localgov_forms 0 0 0 0 0 1
menu_ui_async_widget 0 0 0 0 0 1
mposse 0 0 0 0 0 1
pdf_to_imagefield 0 0 0 0 0 1
sqlite_backup 0 0 2 0 0 0
views_conditional_text 0 0 4 0 0 0
views_permissions_strict 0 0 2 0 0 0