← all change records
#3486506 Drupal supports several additional hook implementations using #Hook
Generated 2026-09-22 02: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 | 223,998 | 0 | 1 | |
| simple_sitemap ↗ | 0 | 0 | 2 | 136,726 | 0 | 2 | |
| smtp ↗ | 0 | 0 | 2 | 130,180 | 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 | 69,713 | 0 | 1 | |
| file_mdm ↗ | 0 | 0 | 2 | 61,801 | 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 | 30,862 | 0 | 2 | |
| filefield_paths ↗ | 0 | 0 | 2 | 29,801 | 0 | 1 | |
| default_content ↗ | 0 | 0 | 2 | 28,506 | 0 | 1 | |
| checklistapi ↗ | 0 | 0 | 2 | 23,881 | 0 | 1 | |
| rebuild_cache_access ↗ | 0 | 0 | 2 | 23,407 | 0 | 1 | |
| trash ↗ | 0 | 0 | 3 | 23,141 | 0 | 2 | |
| eca ↗ | 0 | 0 | 1 | 19,931 | 0 | 1 | |
| group ↗ | 0 | 0 | 6 | 18,705 | 0 | 2 | |
| acquia_connector ↗ | 0 | 0 | 4 | 18,367 | 0 | 1 | |
| ai ↗ | 0 | 0 | 16 | 17,818 | 0 | 2 | |
| security_review ↗ | 0 | 0 | 4 | 17,787 | 0 | 1 | |
| contact_storage ↗ | 0 | 0 | 2 | 16,739 | 0 | 1 | |
| ldap ↗ | 0 | 0 | 2 | 15,917 | 0 | 1 | |
| search_api_attachments ↗ | 0 | 0 | 2 | 14,865 | 0 | 1 | |
| tour ↗ | 0 | 0 | 2 | 14,761 | 0 | 2 | |
| modeler_api ↗ | 0 | 0 | 6 | 13,249 | 0 | 1 | |
| tmgmt ↗ | 0 | 0 | 2 | 12,654 | 0 | 2 | |
| acsf ↗ | 0 | 0 | 2 | 12,325 | 0 | 1 | |
| navigation_extra_tools ↗ | 0 | 0 | 3 | 10,426 | 0 | 2 | |
| automatic_updates ↗ | 0 | 0 | 4 | 9,427 | 0 | 2 | |
| responsive_menu ↗ | 0 | 0 | 2 | 9,290 | 0 | 1 | |
| canvas ↗ | 0 | 0 | 7 | 8,315 | 0 | 3 | |
| config_rewrite ↗ | 0 | 0 | 2 | 7,841 | 0 | 1 | |
| acquia_search ↗ | 0 | 0 | 2 | 7,750 | 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,447 | 0 | 2 | |
| easy_encryption ↗ | 0 | 0 | 3 | 4,669 | 0 | 1 | |
| keycloak ↗ | 0 | 0 | 3 | 4,418 | 0 | 2 | |
| commerce_stripe ↗ | 0 | 0 | 6 | 4,085 | 0 | 1 | |
| styled_google_map ↗ | 0 | 0 | 4 | 4,054 | 0 | 1 | |
| events_log_track ↗ | 0 | 0 | 5 | 3,529 | 0 | 2 | |
| simple_cron ↗ | 0 | 0 | 4 | 3,506 | 0 | 1 | |
| layout_builder_st ↗ | 0 | 0 | 3 | 2,963 | 0 | 2 | |
| modal_page ↗ | 0 | 0 | 4 | 2,879 | 0 | 1 | |
| change_pwd_page ↗ | 0 | 0 | 4 | 2,805 | 0 | 1 | |
| monitoring ↗ | 0 | 0 | 2 | 2,729 | 0 | 2 | |
| scss_compiler ↗ | 0 | 0 | 2 | 2,619 | 0 | 2 | |
| config_sync ↗ | 0 | 0 | 2 | 2,489 | 0 | 1 | |
| total_control ↗ | 0 | 0 | 2 | 1,904 | 0 | 1 | |
| acquia_cms_image ↗ | 0 | 0 | 2 | 1,837 | 0 | 1 | |
| acquia_cms_common ↗ | 0 | 0 | 2 | 1,831 | 0 | 1 | |
| rrssb ↗ | 0 | 0 | 2 | 1,819 | 0 | 2 | |
| textimage ↗ | 0 | 0 | 5 | 1,744 | 0 | 2 | |
| update_helper ↗ | 0 | 0 | 2 | 1,738 | 0 | 1 | |
| graphql_compose ↗ | 0 | 0 | 10 | 1,716 | 0 | 1 | |
| form_mode_manager ↗ | 0 | 0 | 4 | 1,688 | 0 | 1 | |
| acquia_cms_page ↗ | 0 | 0 | 4 | 1,630 | 0 | 2 | |
| tome ↗ | 0 | 0 | 2 | 1,530 | 0 | 1 | |
| frontend_editing ↗ | 0 | 0 | 5 | 1,432 | 0 | 2 | |
| acquia_cms_site_studio ↗ | 0 | 0 | 4 | 1,360 | 0 | 2 | |
| acquia_cms_person ↗ | 0 | 0 | 2 | 1,327 | 0 | 1 | |
| acquia_cms_article ↗ | 0 | 0 | 2 | 1,274 | 0 | 1 | |
| bibcite ↗ | 0 | 0 | 5 | 1,252 | 0 | 2 | |
| acquia_cms_event ↗ | 0 | 0 | 2 | 1,214 | 0 | 1 | |
| ipless ↗ | 0 | 0 | 2 | 1,214 | 0 | 1 | |
| drimage_improved ↗ | 0 | 0 | 4 | 1,178 | 0 | 1 | |
| dxpr_builder ↗ | 0 | 0 | 20 | 972 | 0 | 1 | |
| acquia_cms_tour ↗ | 0 | 0 | 4 | 913 | 0 | 1 | |
| swagger_ui_formatter ↗ | 0 | 0 | 2 | 855 | 0 | 1 | |
| custom_elements ↗ | 0 | 0 | 2 | 773 | 0 | 1 | |
| brevo ↗ | 0 | 0 | 2 | 766 | 0 | 1 | |
| tca ↗ | 0 | 0 | 4 | 726 | 0 | 1 | |
| acquia_contenthub ↗ | 0 | 0 | 6 | 651 | 0 | 1 | |
| config_selector ↗ | 0 | 0 | 8 | 632 | 0 | 1 | |
| content_templates ↗ | 0 | 0 | 3 | 610 | 0 | 2 | |
| localgov_core ↗ | 0 | 0 | 4 | 586 | 0 | 3 | |
| localgov_alert_banner ↗ | 0 | 0 | 2 | 533 | 0 | 1 | |
| localgov_directories ↗ | 0 | 0 | 2 | 526 | 0 | 1 | |
| elasticsearch_helper ↗ | 0 | 0 | 4 | 519 | 0 | 1 | |
| commerce_store_domain ↗ | 0 | 0 | 4 | 513 | 0 | 1 | |
| localgov_workflows ↗ | 0 | 0 | 2 | 509 | 0 | 1 | |
| country_path ↗ | 0 | 0 | 2 | 502 | 0 | 1 | |
| webhooks ↗ | 0 | 0 | 5 | 502 | 0 | 1 | |
| tmgmt_extension_suit ↗ | 0 | 0 | 2 | 499 | 0 | 1 | |
| media_folders ↗ | 0 | 0 | 2 | 484 | 0 | 1 | |
| drimage ↗ | 0 | 0 | 4 | 472 | 0 | 1 | |
| acb ↗ | 0 | 0 | 2 | 457 | 0 | 1 | |
| canvas_full_html ↗ | 0 | 0 | 2 | 456 | 0 | 1 | |
| localgov_step_by_step ↗ | 0 | 0 | 2 | 454 | 0 | 1 | |
| localgov_events ↗ | 0 | 0 | 2 | 450 | 0 | 1 | |
| varbase_seo ↗ | 0 | 0 | 7 | 437 | 0 | 2 | |
| ui_suite_bootstrap ↗ | 0 | 0 | 1 | 432 | 0 | 1 | |
| localgov_guides ↗ | 0 | 0 | 2 | 430 | 0 | 1 | |
| countdown ↗ | 0 | 0 | 2 | 422 | 0 | 1 | |
| ableplayer ↗ | 0 | 0 | 2 | 411 | 0 | 1 | |
| varbase_core ↗ | 0 | 0 | 7 | 399 | 0 | 4 | |
| prometheus_exporter ↗ | 0 | 0 | 5 | 390 | 0 | 2 | |
| schemadotorg ↗ | 0 | 0 | 8 | 357 | 0 | 4 | |
| localgov_publications ↗ | 0 | 0 | 2 | 324 | 0 | 1 | |
| oidc ↗ | 0 | 0 | 2 | 323 | 0 | 1 | |
| civicccookiecontrol ↗ | 0 | 0 | 4 | 319 | 0 | 1 | |
| ex_icons ↗ | 0 | 0 | 4 | 305 | 0 | 1 | |
| ai_context ↗ | 0 | 0 | 3 | 299 | 0 | 4 | |
| vault ↗ | 0 | 0 | 2 | 287 | 0 | 1 | |
| sparql_entity_storage ↗ | 0 | 0 | 2 | 281 | 0 | 1 | |
| extended_logger ↗ | 0 | 0 | 2 | 255 | 0 | 1 | |
| auto_alter ↗ | 0 | 0 | 3 | 235 | 0 | 4 | |
| wxt_bootstrap ↗ | 0 | 0 | 2 | 220 | 0 | 1 | |
| wisski ↗ | 0 | 0 | 3 | 218 | 0 | 2 | |
| acquia_cms_starter ↗ | 0 | 0 | 2 | 202 | 0 | 1 | |
| cmrf_core ↗ | 0 | 0 | 2 | 191 | 0 | 1 | |
| paragraphs_collection ↗ | 0 | 0 | 2 | 191 | 0 | 1 | |
| lupus_decoupled ↗ | 0 | 0 | 2 | 170 | 0 | 1 | |
| localgov_forms ↗ | 0 | 0 | 2 | 168 | 0 | 1 | |
| localgov_demo ↗ | 0 | 0 | 2 | 167 | 0 | 1 | |
| custom_translation_deployments ↗ | 0 | 0 | 2 | 139 | 0 | 1 | |
| anu_lms ↗ | 0 | 0 | 2 | 114 | 0 | 1 | |
| fast_404_generator ↗ | 0 | 0 | 2 | 113 | 0 | 1 | |
| generated_content ↗ | 0 | 0 | 4 | 97 | 0 | 1 | |
| dropsolid_rocketship_profile ↗ | 0 | 0 | 2 | 94 | 0 | 1 | |
| cmrf_form_processor ↗ | 0 | 0 | 4 | 86 | 0 | 1 | |
| hti ↗ | 0 | 0 | 2 | 86 | 0 | 1 | |
| yoomoney ↗ | 0 | 0 | 4 | 86 | 0 | 1 | |
| localgov_elections ↗ | 0 | 0 | 4 | 81 | 0 | 2 | |
| gmail ↗ | 0 | 0 | 2 | 76 | 0 | 1 | |
| synhelper ↗ | 0 | 0 | 2 | 75 | 0 | 1 | |
| dropfort_update ↗ | 0 | 0 | 8 | 71 | 0 | 1 | |
| crm ↗ | 0 | 0 | 3 | 63 | 0 | 1 | |
| dfm ↗ | 0 | 0 | 2 | 63 | 0 | 1 | |
| localgov_blogs ↗ | 0 | 0 | 2 | 60 | 0 | 1 | |
| logger_db ↗ | 0 | 0 | 5 | 60 | 0 | 3 | |
| permission_turbo ↗ | 0 | 0 | 4 | 59 | 0 | 1 | |
| toolshed ↗ | 0 | 0 | 4 | 56 | 0 | 1 | |
| openintranet_engagement ↗ | 0 | 0 | 2 | 49 | 0 | 1 | |
| acquia_cms_dam ↗ | 0 | 0 | 2 | 48 | 0 | 1 | |
| dbxschema ↗ | 0 | 0 | 2 | 41 | 0 | 1 | |
| config_overlay ↗ | 0 | 0 | 8 | 35 | 0 | 1 | |
| symfony_translation ↗ | 0 | 0 | 2 | 34 | 0 | 1 | |
| admin_ui_only ↗ | 0 | 0 | 2 | 33 | 0 | 1 | |
| contacts ↗ | 0 | 0 | 2 | 33 | 0 | 2 | |
| varbase_demo ↗ | 0 | 0 | 5 | 33 | 0 | 2 | |
| group_content_menu_bundles ↗ | 0 | 0 | 2 | 29 | 0 | 1 | |
| module_usage ↗ | 0 | 0 | 4 | 24 | 0 | 1 | |
| tailwindcss_utility ↗ | 0 | 0 | 2 | 23 | 0 | 1 | |
| dx_toolkit ↗ | 0 | 0 | 2 | 22 | 0 | 1 | |
| samlauth_multi_idp ↗ | 0 | 0 | 2 | 22 | 0 | 1 | |
| mail_box_management ↗ | 0 | 0 | 2 | 21 | 0 | 1 | |
| cache_pilot ↗ | 0 | 0 | 3 | 19 | 0 | 2 | |
| domino ↗ | 0 | 0 | 4 | 17 | 0 | 1 | |
| librejs ↗ | 0 | 0 | 3 | 17 | 0 | 1 | |
| update_narf ↗ | 0 | 0 | 5 | 17 | 0 | 2 | |
| sql_views ↗ | 0 | 0 | 4 | 16 | 0 | 1 | |
| commerce_currencies ↗ | 0 | 0 | 2 | 14 | 0 | 1 | |
| utilikit ↗ | 0 | 0 | 2 | 13 | 0 | 1 | |
| workspaces_access ↗ | 0 | 0 | 4 | 10 | 0 | 1 | |
| schema_metatag_ai ↗ | 0 | 0 | 4 | 9 | 0 | 1 | |
| vipps_mobilepay_commerce ↗ | 0 | 0 | 2 | 8 | 0 | 1 | |
| aero_weather ↗ | 0 | 0 | 2 | 7 | 0 | 1 | |
| digital_signage_framework ↗ | 0 | 0 | 5 | 7 | 0 | 2 | |
| profile_manager ↗ | 0 | 0 | 6 | 7 | 0 | 1 | |
| translation_bliss ↗ | 0 | 0 | 3 | 7 | 0 | 2 | |
| experience_builder ↗ | 0 | 0 | 14 | 6 | 0 | 2 | |
| murmurations ↗ | 0 | 0 | 2 | 6 | 0 | 1 | |
| r ↗ | 0 | 0 | 2 | 6 | 0 | 1 | |
| smallads ↗ | 0 | 0 | 2 | 6 | 0 | 1 | |
| cache_flush_time ↗ | 0 | 0 | 2 | 2 | 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 |