← all change records
#3486506 Drupal supports several additional hook implementations using #Hook
Generated 2026-09-22 14:00 UTC
Matching rules (11)
- to:
fqn: 'core:hook:module_preinstall'
- to:
fqn: 'core:hook:module_preuninstall'
- to:
fqn: 'core:hook:modules_installed'
- to:
fqn: 'core:hook:modules_uninstalled'
- to:
fqn: 'core:hook:cache_flush'
- to:
fqn: 'core:hook:module_preinstall'
- to:
fqn: 'core:hook:module_preuninstall'
- to:
fqn: 'core:hook:modules_installed'
- to:
fqn: 'core:hook:modules_uninstalled'
- to:
fqn: 'core:hook:cache_flush'
- attribute_fqn: \Drupal\Core\Hook\Attribute\Hook
kind: attribute_predicate
to:
arg: 0
string_in:
- module_preinstall
- module_preuninstall
- modules_installed
- modules_uninstalled
- cache_flush
Affected contrib projects (175)
| Project | legacy | in_flight | migrated | installs | files | adopters | |
|---|---|---|---|---|---|---|---|
| webform ↗ | 0 | 0 | 5 | 324,060 | 0 | 2 | |
| paragraphs ↗ | 0 | 0 | 3 | 245,241 | 0 | 4 | |
| entity ↗ | 0 | 0 | 4 | 219,558 | 0 | 1 | |
| simple_sitemap ↗ | 0 | 0 | 2 | 143,459 | 0 | 2 | |
| smtp ↗ | 0 | 0 | 2 | 129,827 | 0 | 1 | |
| xmlsitemap ↗ | 0 | 0 | 4 | 126,111 | 0 | 1 | |
| scheduler ↗ | 0 | 0 | 4 | 101,087 | 0 | 1 | |
| features ↗ | 0 | 0 | 3 | 76,062 | 0 | 2 | |
| extlink ↗ | 0 | 0 | 2 | 68,018 | 0 | 1 | |
| file_mdm ↗ | 0 | 0 | 2 | 65,553 | 0 | 1 | |
| entity_usage ↗ | 0 | 0 | 2 | 58,892 | 0 | 2 | |
| ultimate_cron ↗ | 0 | 0 | 2 | 58,646 | 0 | 1 | |
| asset_injector ↗ | 0 | 0 | 2 | 44,559 | 0 | 1 | |
| scheduler_content_moderation_integration ↗ | 0 | 0 | 2 | 33,534 | 0 | 2 | |
| filefield_paths ↗ | 0 | 0 | 2 | 30,163 | 0 | 1 | |
| default_content ↗ | 0 | 0 | 2 | 28,506 | 0 | 1 | |
| rebuild_cache_access ↗ | 0 | 0 | 2 | 24,738 | 0 | 1 | |
| checklistapi ↗ | 0 | 0 | 2 | 24,476 | 0 | 1 | |
| trash ↗ | 0 | 0 | 3 | 22,839 | 0 | 2 | |
| eca ↗ | 0 | 0 | 1 | 22,049 | 0 | 1 | |
| group ↗ | 0 | 0 | 6 | 18,705 | 0 | 2 | |
| acquia_connector ↗ | 0 | 0 | 4 | 18,367 | 0 | 1 | |
| security_review ↗ | 0 | 0 | 4 | 18,065 | 0 | 1 | |
| ai ↗ | 0 | 0 | 16 | 17,818 | 0 | 2 | |
| contact_storage ↗ | 0 | 0 | 2 | 16,739 | 0 | 1 | |
| modeler_api ↗ | 0 | 0 | 6 | 15,314 | 0 | 1 | |
| ldap ↗ | 0 | 0 | 2 | 15,290 | 0 | 1 | |
| search_api_attachments ↗ | 0 | 0 | 2 | 14,985 | 0 | 1 | |
| tour ↗ | 0 | 0 | 2 | 14,761 | 0 | 2 | |
| tmgmt ↗ | 0 | 0 | 2 | 12,862 | 0 | 2 | |
| acsf ↗ | 0 | 0 | 2 | 12,579 | 0 | 1 | |
| navigation_extra_tools ↗ | 0 | 0 | 3 | 11,334 | 0 | 2 | |
| responsive_menu ↗ | 0 | 0 | 2 | 9,650 | 0 | 1 | |
| automatic_updates ↗ | 0 | 0 | 4 | 9,427 | 0 | 2 | |
| config_rewrite ↗ | 0 | 0 | 2 | 8,584 | 0 | 1 | |
| canvas ↗ | 0 | 0 | 7 | 8,315 | 0 | 3 | |
| acquia_search ↗ | 0 | 0 | 2 | 7,772 | 0 | 1 | |
| css_editor ↗ | 0 | 0 | 2 | 7,688 | 0 | 1 | |
| lightning_media ↗ | 0 | 0 | 2 | 5,794 | 0 | 2 | |
| image_field_caption ↗ | 0 | 0 | 3 | 5,529 | 0 | 2 | |
| easy_encryption ↗ | 0 | 0 | 3 | 5,087 | 0 | 1 | |
| keycloak ↗ | 0 | 0 | 3 | 4,554 | 0 | 2 | |
| styled_google_map ↗ | 0 | 0 | 4 | 4,249 | 0 | 1 | |
| commerce_stripe ↗ | 0 | 0 | 6 | 4,052 | 0 | 1 | |
| events_log_track ↗ | 0 | 0 | 5 | 3,610 | 0 | 2 | |
| simple_cron ↗ | 0 | 0 | 4 | 3,517 | 0 | 1 | |
| layout_builder_st ↗ | 0 | 0 | 3 | 2,963 | 0 | 2 | |
| modal_page ↗ | 0 | 0 | 4 | 2,961 | 0 | 1 | |
| config_sync ↗ | 0 | 0 | 2 | 2,857 | 0 | 1 | |
| change_pwd_page ↗ | 0 | 0 | 4 | 2,801 | 0 | 1 | |
| scss_compiler ↗ | 0 | 0 | 2 | 2,799 | 0 | 2 | |
| monitoring ↗ | 0 | 0 | 2 | 2,595 | 0 | 2 | |
| update_helper ↗ | 0 | 0 | 2 | 1,935 | 0 | 1 | |
| rrssb ↗ | 0 | 0 | 2 | 1,899 | 0 | 2 | |
| acquia_cms_common ↗ | 0 | 0 | 2 | 1,848 | 0 | 1 | |
| acquia_cms_image ↗ | 0 | 0 | 2 | 1,843 | 0 | 1 | |
| graphql_compose ↗ | 0 | 0 | 10 | 1,795 | 0 | 1 | |
| total_control ↗ | 0 | 0 | 2 | 1,786 | 0 | 1 | |
| textimage ↗ | 0 | 0 | 5 | 1,749 | 0 | 2 | |
| form_mode_manager ↗ | 0 | 0 | 4 | 1,688 | 0 | 1 | |
| acquia_cms_page ↗ | 0 | 0 | 4 | 1,632 | 0 | 2 | |
| frontend_editing ↗ | 0 | 0 | 5 | 1,534 | 0 | 2 | |
| acquia_cms_person ↗ | 0 | 0 | 2 | 1,381 | 0 | 1 | |
| acquia_cms_site_studio ↗ | 0 | 0 | 4 | 1,367 | 0 | 2 | |
| bibcite ↗ | 0 | 0 | 5 | 1,349 | 0 | 2 | |
| tome ↗ | 0 | 0 | 2 | 1,349 | 0 | 1 | |
| acquia_cms_article ↗ | 0 | 0 | 2 | 1,327 | 0 | 1 | |
| acquia_cms_event ↗ | 0 | 0 | 2 | 1,255 | 0 | 1 | |
| ipless ↗ | 0 | 0 | 2 | 1,214 | 0 | 1 | |
| dxpr_builder ↗ | 0 | 0 | 20 | 949 | 0 | 1 | |
| acquia_cms_tour ↗ | 0 | 0 | 4 | 913 | 0 | 1 | |
| tca ↗ | 0 | 0 | 4 | 882 | 0 | 1 | |
| swagger_ui_formatter ↗ | 0 | 0 | 2 | 857 | 0 | 1 | |
| brevo ↗ | 0 | 0 | 2 | 802 | 0 | 1 | |
| config_selector ↗ | 0 | 0 | 8 | 747 | 0 | 1 | |
| custom_elements ↗ | 0 | 0 | 2 | 737 | 0 | 1 | |
| varbase_seo ↗ | 0 | 0 | 7 | 705 | 0 | 2 | |
| acquia_contenthub ↗ | 0 | 0 | 6 | 681 | 0 | 1 | |
| varbase_core ↗ | 0 | 0 | 7 | 676 | 0 | 4 | |
| localgov_core ↗ | 0 | 0 | 4 | 660 | 0 | 3 | |
| drimage_improved ↗ | 0 | 0 | 4 | 621 | 0 | 1 | |
| localgov_alert_banner ↗ | 0 | 0 | 2 | 618 | 0 | 1 | |
| content_templates ↗ | 0 | 0 | 3 | 575 | 0 | 2 | |
| custom_translation_deployments ↗ | 0 | 0 | 2 | 572 | 0 | 1 | |
| localgov_directories ↗ | 0 | 0 | 2 | 558 | 0 | 1 | |
| localgov_workflows ↗ | 0 | 0 | 2 | 547 | 0 | 1 | |
| commerce_store_domain ↗ | 0 | 0 | 4 | 518 | 0 | 1 | |
| elasticsearch_helper ↗ | 0 | 0 | 4 | 514 | 0 | 1 | |
| tmgmt_extension_suit ↗ | 0 | 0 | 2 | 512 | 0 | 1 | |
| webhooks ↗ | 0 | 0 | 5 | 502 | 0 | 1 | |
| canvas_full_html ↗ | 0 | 0 | 2 | 500 | 0 | 1 | |
| country_path ↗ | 0 | 0 | 2 | 495 | 0 | 1 | |
| media_folders ↗ | 0 | 0 | 2 | 487 | 0 | 1 | |
| localgov_events ↗ | 0 | 0 | 2 | 483 | 0 | 1 | |
| localgov_guides ↗ | 0 | 0 | 2 | 473 | 0 | 1 | |
| localgov_step_by_step ↗ | 0 | 0 | 2 | 470 | 0 | 1 | |
| acb ↗ | 0 | 0 | 2 | 466 | 0 | 1 | |
| drimage ↗ | 0 | 0 | 4 | 442 | 0 | 1 | |
| countdown ↗ | 0 | 0 | 2 | 435 | 0 | 1 | |
| ui_suite_bootstrap ↗ | 0 | 0 | 1 | 432 | 0 | 1 | |
| ableplayer ↗ | 0 | 0 | 2 | 428 | 0 | 1 | |
| ex_icons ↗ | 0 | 0 | 4 | 388 | 0 | 1 | |
| prometheus_exporter ↗ | 0 | 0 | 5 | 385 | 0 | 2 | |
| schemadotorg ↗ | 0 | 0 | 8 | 380 | 0 | 4 | |
| localgov_publications ↗ | 0 | 0 | 2 | 353 | 0 | 1 | |
| civicccookiecontrol ↗ | 0 | 0 | 4 | 337 | 0 | 1 | |
| oidc ↗ | 0 | 0 | 2 | 321 | 0 | 1 | |
| vault ↗ | 0 | 0 | 2 | 311 | 0 | 1 | |
| ai_context ↗ | 0 | 0 | 3 | 299 | 0 | 4 | |
| vipps_mobilepay_commerce ↗ | 0 | 0 | 2 | 295 | 0 | 1 | |
| sparql_entity_storage ↗ | 0 | 0 | 2 | 281 | 0 | 1 | |
| auto_alter ↗ | 0 | 0 | 3 | 277 | 0 | 4 | |
| extended_logger ↗ | 0 | 0 | 2 | 252 | 0 | 1 | |
| wxt_bootstrap ↗ | 0 | 0 | 2 | 242 | 0 | 1 | |
| acquia_cms_starter ↗ | 0 | 0 | 2 | 235 | 0 | 1 | |
| wisski ↗ | 0 | 0 | 3 | 210 | 0 | 2 | |
| paragraphs_collection ↗ | 0 | 0 | 2 | 191 | 0 | 1 | |
| cmrf_core ↗ | 0 | 0 | 2 | 187 | 0 | 1 | |
| localgov_demo ↗ | 0 | 0 | 2 | 182 | 0 | 1 | |
| lupus_decoupled ↗ | 0 | 0 | 2 | 169 | 0 | 1 | |
| localgov_forms ↗ | 0 | 0 | 2 | 151 | 0 | 1 | |
| logger_db ↗ | 0 | 0 | 5 | 119 | 0 | 3 | |
| anu_lms ↗ | 0 | 0 | 2 | 117 | 0 | 1 | |
| fast_404_generator ↗ | 0 | 0 | 2 | 117 | 0 | 1 | |
| generated_content ↗ | 0 | 0 | 4 | 97 | 0 | 1 | |
| dropsolid_rocketship_profile ↗ | 0 | 0 | 2 | 95 | 0 | 1 | |
| yoomoney ↗ | 0 | 0 | 4 | 92 | 0 | 1 | |
| hti ↗ | 0 | 0 | 2 | 89 | 0 | 1 | |
| cmrf_form_processor ↗ | 0 | 0 | 4 | 86 | 0 | 1 | |
| localgov_elections ↗ | 0 | 0 | 4 | 85 | 0 | 2 | |
| gmail ↗ | 0 | 0 | 2 | 83 | 0 | 1 | |
| synhelper ↗ | 0 | 0 | 2 | 75 | 0 | 1 | |
| dropfort_update ↗ | 0 | 0 | 8 | 69 | 0 | 1 | |
| toolshed ↗ | 0 | 0 | 4 | 69 | 0 | 1 | |
| permission_turbo ↗ | 0 | 0 | 4 | 68 | 0 | 1 | |
| localgov_blogs ↗ | 0 | 0 | 2 | 66 | 0 | 1 | |
| crm ↗ | 0 | 0 | 3 | 63 | 0 | 1 | |
| openintranet_engagement ↗ | 0 | 0 | 2 | 63 | 0 | 1 | |
| dfm ↗ | 0 | 0 | 2 | 56 | 0 | 1 | |
| acquia_cms_dam ↗ | 0 | 0 | 2 | 52 | 0 | 1 | |
| dbxschema ↗ | 0 | 0 | 2 | 40 | 0 | 1 | |
| varbase_demo ↗ | 0 | 0 | 5 | 38 | 0 | 2 | |
| config_overlay ↗ | 0 | 0 | 8 | 37 | 0 | 1 | |
| group_content_menu_bundles ↗ | 0 | 0 | 2 | 35 | 0 | 1 | |
| symfony_translation ↗ | 0 | 0 | 2 | 35 | 0 | 1 | |
| tailwindcss_utility ↗ | 0 | 0 | 2 | 32 | 0 | 1 | |
| admin_ui_only ↗ | 0 | 0 | 2 | 29 | 0 | 1 | |
| dx_toolkit ↗ | 0 | 0 | 2 | 23 | 0 | 1 | |
| module_usage ↗ | 0 | 0 | 4 | 23 | 0 | 1 | |
| samlauth_multi_idp ↗ | 0 | 0 | 2 | 22 | 0 | 1 | |
| contacts ↗ | 0 | 0 | 2 | 21 | 0 | 2 | |
| domino ↗ | 0 | 0 | 4 | 19 | 0 | 1 | |
| update_narf ↗ | 0 | 0 | 5 | 19 | 0 | 2 | |
| mail_box_management ↗ | 0 | 0 | 2 | 18 | 0 | 1 | |
| librejs ↗ | 0 | 0 | 3 | 17 | 0 | 1 | |
| commerce_currencies ↗ | 0 | 0 | 2 | 15 | 0 | 1 | |
| sql_views ↗ | 0 | 0 | 4 | 13 | 0 | 1 | |
| workspaces_access ↗ | 0 | 0 | 4 | 13 | 0 | 1 | |
| utilikit ↗ | 0 | 0 | 2 | 12 | 0 | 1 | |
| cache_pilot ↗ | 0 | 0 | 3 | 11 | 0 | 2 | |
| digital_signage_framework ↗ | 0 | 0 | 5 | 10 | 0 | 2 | |
| aero_weather ↗ | 0 | 0 | 2 | 8 | 0 | 1 | |
| experience_builder ↗ | 0 | 0 | 14 | 8 | 0 | 2 | |
| murmurations ↗ | 0 | 0 | 2 | 8 | 0 | 1 | |
| profile_manager ↗ | 0 | 0 | 6 | 8 | 0 | 1 | |
| smallads ↗ | 0 | 0 | 2 | 8 | 0 | 1 | |
| translation_bliss ↗ | 0 | 0 | 3 | 7 | 0 | 2 | |
| schema_metatag_ai ↗ | 0 | 0 | 4 | 6 | 0 | 1 | |
| cache_flush_time ↗ | 0 | 0 | 2 | 4 | 0 | 1 | |
| r ↗ | 0 | 0 | 2 | 3 | 0 | 1 | |
| commerce_baselinker ↗ | 0 | 0 | 2 | 2 | 0 | 1 | |
| improvements ↗ | 0 | 0 | 4 | 2 | 0 | 1 | |
| scrape_to_field ↗ | 0 | 0 | 2 | 2 | 0 | 1 | |
| clip ↗ | 0 | 0 | 2 | 1 | 0 | 1 | |
| commerce_asaas ↗ | 0 | 0 | 2 | 1 | 0 | 1 |