← all change records
#2196751 Use Unicode::ucwords() and Unicode::lcfirst() instead of ucwords() and lcfirst()
Generated 2026-08-02 02:00 UTC
Matching rules (2)
- from:
fqn: 'fn:ucwords'
to:
fqn: '\Drupal\Component\Utility\Unicode::ucwords'
- from:
fqn: 'fn:lcfirst'
to:
fqn: '\Drupal\Component\Utility\Unicode::lcfirst'
Affected contrib projects (261)
| Project | legacy | in_flight | migrated | installs | files | adopters | |
|---|---|---|---|---|---|---|---|
| ctools ↗ | 2 | 0 | 0 | 454,616 | 0 | 0 | |
| webform ↗ | 6 | 0 | 0 | 346,817 | 0 | 0 | |
| metatag ↗ | 6 | 0 | 0 | 342,791 | 0 | 0 | |
| inline_entity_form ↗ | 1 | 0 | 0 | 147,492 | 0 | 0 | |
| devel ↗ | 4 | 0 | 0 | 139,167 | 0 | 0 | |
| backup_migrate ↗ | 4 | 0 | 0 | 118,229 | 0 | 0 | |
| views_data_export ↗ | 10 | 0 | 0 | 107,592 | 0 | 0 | |
| scheduler ↗ | 2 | 0 | 0 | 104,873 | 0 | 0 | |
| key ↗ | 6 | 0 | 0 | 81,754 | 0 | 0 | |
| features ↗ | 4 | 0 | 0 | 81,048 | 0 | 0 | |
| ds ↗ | 8 | 0 | 0 | 77,662 | 0 | 0 | |
| blazy ↗ | 1 | 0 | 2 | 76,540 | 0 | 0 | |
| fontawesome ↗ | 1 | 0 | 0 | 66,592 | 0 | 0 | |
| slick ↗ | 1 | 0 | 0 | 66,206 | 0 | 0 | |
| maxlength ↗ | 4 | 0 | 0 | 56,061 | 0 | 0 | |
| context ↗ | 1 | 0 | 0 | 54,601 | 0 | 0 | |
| symfony_mailer ↗ | 2 | 0 | 0 | 45,804 | 0 | 0 | |
| tamper ↗ | 1 | 0 | 0 | 33,630 | 0 | 0 | |
| checklistapi ↗ | 7 | 0 | 6 | 25,328 | 0 | 0 | |
| klaro ↗ | 12 | 0 | 0 | 22,680 | 0 | 0 | |
| eca ↗ | 1 | 0 | 0 | 19,852 | 0 | 0 | |
| charts ↗ | 8 | 0 | 0 | 19,422 | 0 | 0 | |
| symfony_mailer_lite ↗ | 2 | 0 | 0 | 19,150 | 0 | 0 | |
| ai ↗ | 38 | 0 | 0 | 18,387 | 0 | 0 | |
| views_fieldsets ↗ | 0 | 0 | 2 | 17,348 | 0 | 0 | |
| services ↗ | 1 | 0 | 0 | 14,084 | 0 | 0 | |
| project_browser ↗ | 2 | 0 | 0 | 11,914 | 0 | 0 | |
| domain ↗ | 8 | 0 | 0 | 11,396 | 0 | 0 | |
| search_api_pantheon ↗ | 48 | 0 | 0 | 10,691 | 0 | 0 | |
| eck ↗ | 1 | 0 | 0 | 10,399 | 0 | 0 | |
| ui_icons ↗ | 0 | 0 | 1 | 9,066 | 0 | 0 | |
| oauth ↗ | 1 | 0 | 0 | 8,883 | 0 | 0 | |
| media_gallery ↗ | 2 | 0 | 0 | 8,329 | 0 | 0 | |
| workbench_email ↗ | 3 | 0 | 0 | 7,644 | 0 | 0 | |
| ui_patterns ↗ | 2 | 0 | 0 | 7,445 | 0 | 0 | |
| og ↗ | 6 | 0 | 0 | 7,428 | 0 | 0 | |
| entity_share ↗ | 5 | 0 | 0 | 7,213 | 0 | 0 | |
| name ↗ | 0 | 0 | 1 | 6,779 | 0 | 0 | |
| date_ical ↗ | 1 | 0 | 0 | 6,648 | 0 | 0 | |
| lightning_media ↗ | 1 | 0 | 0 | 6,275 | 0 | 0 | |
| graphql ↗ | 4 | 0 | 0 | 6,159 | 0 | 0 | |
| visitors ↗ | 8 | 0 | 0 | 5,693 | 0 | 0 | |
| ace_editor ↗ | 1 | 0 | 0 | 5,673 | 0 | 0 | |
| site_settings ↗ | 2 | 0 | 0 | 5,492 | 0 | 0 | |
| workflow ↗ | 1 | 0 | 0 | 5,380 | 0 | 0 | |
| layout_builder_browser ↗ | 1 | 0 | 0 | 5,311 | 0 | 0 | |
| custom_field ↗ | 1 | 0 | 0 | 4,942 | 0 | 0 | |
| styleguide ↗ | 7 | 0 | 0 | 4,458 | 0 | 0 | |
| salesforce ↗ | 2 | 0 | 0 | 4,361 | 0 | 0 | |
| potx ↗ | 2 | 0 | 0 | 4,230 | 0 | 0 | |
| spamicide ↗ | 2 | 0 | 0 | 3,851 | 0 | 0 | |
| commerce_email ↗ | 1 | 0 | 0 | 3,817 | 0 | 0 | |
| mediaelement ↗ | 6 | 0 | 0 | 3,478 | 0 | 0 | |
| comment_notify ↗ | 1 | 0 | 0 | 3,455 | 0 | 0 | |
| dxpr_theme_helper ↗ | 3 | 0 | 0 | 3,104 | 0 | 0 | |
| akamai ↗ | 0 | 0 | 4 | 3,077 | 0 | 0 | |
| layout_builder_st ↗ | 2 | 0 | 0 | 3,037 | 0 | 0 | |
| markdown ↗ | 2 | 0 | 0 | 2,876 | 0 | 0 | |
| smart_ip ↗ | 8 | 0 | 1 | 2,732 | 0 | 0 | |
| fapi_validation ↗ | 1 | 0 | 0 | 2,727 | 0 | 0 | |
| privatemsg ↗ | 2 | 0 | 0 | 2,611 | 0 | 0 | |
| solo ↗ | 2 | 0 | 0 | 2,390 | 0 | 0 | |
| typed_entity ↗ | 1 | 0 | 0 | 2,320 | 0 | 0 | |
| helper ↗ | 0 | 0 | 32 | 2,267 | 0 | 0 | |
| webform_civicrm ↗ | 14 | 0 | 0 | 2,127 | 0 | 0 | |
| gdpr ↗ | 1 | 0 | 0 | 1,995 | 0 | 0 | |
| acquia_cms_common ↗ | 10 | 0 | 0 | 1,926 | 0 | 0 | |
| sdc_display ↗ | 3 | 0 | 0 | 1,912 | 0 | 0 | |
| total_control ↗ | 1 | 0 | 0 | 1,907 | 0 | 0 | |
| civicrm_entity ↗ | 3 | 0 | 0 | 1,855 | 0 | 0 | |
| commerce_pricelist ↗ | 4 | 0 | 0 | 1,719 | 0 | 0 | |
| graphql_compose ↗ | 2 | 0 | 6 | 1,668 | 0 | 0 | |
| menu_migration ↗ | 3 | 0 | 0 | 1,501 | 0 | 0 | |
| ebt_core ↗ | 4 | 0 | 0 | 1,413 | 0 | 0 | |
| gemini_provider ↗ | 2 | 0 | 0 | 1,264 | 0 | 0 | |
| libraries_ui ↗ | 1 | 0 | 0 | 1,245 | 0 | 0 | |
| media_entity_lottie ↗ | 2 | 0 | 0 | 1,206 | 0 | 0 | |
| ept_core ↗ | 2 | 0 | 0 | 1,133 | 0 | 0 | |
| aws ↗ | 3 | 0 | 0 | 1,130 | 0 | 0 | |
| users_export ↗ | 1 | 0 | 0 | 1,033 | 0 | 0 | |
| dxpr_builder ↗ | 4 | 0 | 0 | 1,011 | 0 | 0 | |
| intelligencebank ↗ | 8 | 0 | 0 | 958 | 0 | 0 | |
| rest_oai_pmh ↗ | 2 | 0 | 0 | 891 | 0 | 0 | |
| islandora ↗ | 4 | 0 | 0 | 862 | 0 | 0 | |
| apigee_edge ↗ | 8 | 0 | 0 | 853 | 0 | 0 | |
| entity_extra_field ↗ | 0 | 0 | 2 | 787 | 0 | 0 | |
| permission_spreadsheet ↗ | 2 | 0 | 0 | 778 | 0 | 0 | |
| dfp ↗ | 1 | 0 | 0 | 773 | 0 | 0 | |
| weather ↗ | 1 | 0 | 0 | 770 | 0 | 0 | |
| miniorange_2fa ↗ | 5 | 0 | 0 | 708 | 0 | 0 | |
| auto_translation ↗ | 3 | 0 | 0 | 685 | 0 | 0 | |
| recurring_events ↗ | 4 | 0 | 0 | 669 | 0 | 0 | |
| bricks ↗ | 2 | 0 | 0 | 596 | 0 | 0 | |
| purl ↗ | 1 | 0 | 0 | 582 | 0 | 0 | |
| commerce_ups ↗ | 1 | 0 | 0 | 572 | 0 | 0 | |
| sdc_devel ↗ | 1 | 0 | 0 | 510 | 0 | 0 | |
| migration_tools ↗ | 4 | 0 | 0 | 502 | 0 | 0 | |
| media_acquiadam ↗ | 1 | 0 | 0 | 492 | 0 | 0 | |
| entity_type_behaviors ↗ | 2 | 0 | 0 | 473 | 0 | 0 | |
| tmgmt_smartling ↗ | 42 | 0 | 0 | 470 | 0 | 0 | |
| schemadotorg ↗ | 2 | 0 | 0 | 450 | 0 | 0 | |
| solo_utilities ↗ | 2 | 0 | 0 | 443 | 0 | 0 | |
| content_first ↗ | 1 | 0 | 0 | 406 | 0 | 0 | |
| auth0 ↗ | 3 | 0 | 0 | 402 | 0 | 0 | |
| prod_check ↗ | 2 | 0 | 0 | 384 | 0 | 0 | |
| mailjet ↗ | 9 | 0 | 0 | 359 | 0 | 0 | |
| token_modifier ↗ | 1 | 0 | 0 | 354 | 0 | 0 | |
| recipe ↗ | 2 | 0 | 0 | 329 | 0 | 0 | |
| find_text ↗ | 6 | 0 | 0 | 327 | 0 | 0 | |
| commerce_fedex ↗ | 4 | 0 | 0 | 318 | 0 | 0 | |
| apitools ↗ | 7 | 0 | 0 | 300 | 0 | 0 | |
| zoomapi ↗ | 1 | 0 | 0 | 297 | 0 | 0 | |
| sparql_entity_storage ↗ | 6 | 0 | 0 | 281 | 0 | 0 | |
| pluginreference ↗ | 1 | 0 | 0 | 276 | 0 | 0 | |
| access_filter ↗ | 2 | 0 | 0 | 265 | 0 | 0 | |
| content_model_documentation ↗ | 3 | 0 | 0 | 265 | 0 | 0 | |
| notificationswidget ↗ | 2 | 0 | 0 | 255 | 0 | 0 | |
| subentity ↗ | 1 | 0 | 0 | 248 | 0 | 0 | |
| flowdrop ↗ | 3 | 0 | 0 | 240 | 0 | 0 | |
| user_history ↗ | 1 | 0 | 0 | 239 | 0 | 0 | |
| lionbridge_translation_provider ↗ | 1 | 0 | 0 | 238 | 0 | 0 | |
| suggestion ↗ | 7 | 0 | 0 | 237 | 0 | 0 | |
| freelinking ↗ | 3 | 0 | 0 | 220 | 0 | 0 | |
| charts_highcharts_maps ↗ | 2 | 0 | 0 | 202 | 0 | 0 | |
| gridstack ↗ | 3 | 0 | 0 | 194 | 0 | 0 | |
| social_feed_fetcher ↗ | 7 | 0 | 0 | 189 | 0 | 0 | |
| extra_body_classes ↗ | 2 | 0 | 0 | 188 | 0 | 0 | |
| pager ↗ | 9 | 0 | 0 | 181 | 0 | 0 | |
| varbase_components ↗ | 1 | 0 | 0 | 177 | 0 | 0 | |
| mcp_tools ↗ | 6 | 0 | 0 | 176 | 0 | 0 | |
| selectify ↗ | 4 | 0 | 0 | 175 | 0 | 0 | |
| lingotek ↗ | 146 | 0 | 0 | 174 | 0 | 0 | |
| wisski ↗ | 21 | 0 | 0 | 174 | 0 | 0 | |
| vartheme_bs5 ↗ | 3 | 0 | 0 | 173 | 0 | 0 | |
| cmrf_core ↗ | 1 | 0 | 0 | 166 | 0 | 0 | |
| graphql_webform ↗ | 4 | 0 | 0 | 162 | 0 | 0 | |
| bot_blocker ↗ | 1 | 0 | 0 | 159 | 0 | 0 | |
| schema_medical_entity ↗ | 1 | 0 | 0 | 159 | 0 | 0 | |
| lockr ↗ | 1 | 0 | 0 | 151 | 0 | 0 | |
| bootstrap_ui_kit ↗ | 1 | 0 | 0 | 138 | 0 | 0 | |
| rest_export ↗ | 3 | 0 | 0 | 136 | 0 | 0 | |
| cl_components ↗ | 5 | 0 | 0 | 132 | 0 | 0 | |
| globallink ↗ | 3 | 0 | 0 | 111 | 0 | 0 | |
| doc_serialization ↗ | 2 | 0 | 0 | 109 | 0 | 0 | |
| usercentrics ↗ | 2 | 0 | 0 | 108 | 0 | 0 | |
| audit_export ↗ | 1 | 0 | 0 | 107 | 0 | 0 | |
| augmentor ↗ | 4 | 0 | 0 | 107 | 0 | 0 | |
| stacks ↗ | 3 | 0 | 0 | 105 | 0 | 0 | |
| rocketship_core ↗ | 16 | 0 | 0 | 104 | 0 | 0 | |
| tripal ↗ | 19 | 0 | 0 | 99 | 0 | 0 | |
| tmgmt_crowdin ↗ | 1 | 0 | 0 | 90 | 0 | 0 | |
| schemaapp ↗ | 1 | 0 | 0 | 81 | 0 | 0 | |
| content_entity_builder ↗ | 3 | 0 | 0 | 78 | 0 | 0 | |
| display_builder ↗ | 1 | 0 | 0 | 78 | 0 | 0 | |
| rijksvideo ↗ | 2 | 0 | 0 | 77 | 0 | 0 | |
| xero ↗ | 4 | 0 | 0 | 75 | 0 | 0 | |
| acquia_cms_headless ↗ | 14 | 0 | 0 | 73 | 0 | 0 | |
| gathercontent ↗ | 1 | 0 | 0 | 72 | 0 | 0 | |
| jsonapi_advanced_permissions ↗ | 1 | 0 | 0 | 72 | 0 | 0 | |
| mail_redirect ↗ | 4 | 0 | 0 | 72 | 0 | 0 | |
| shopify ↗ | 7 | 0 | 0 | 70 | 0 | 0 | |
| toolshed ↗ | 1 | 0 | 0 | 67 | 0 | 0 | |
| crm ↗ | 2 | 0 | 0 | 62 | 0 | 0 | |
| amazon_pa ↗ | 7 | 0 | 0 | 59 | 0 | 0 | |
| custom_configuration ↗ | 13 | 0 | 0 | 59 | 0 | 0 | |
| aws_sns_entity_publish ↗ | 1 | 0 | 0 | 58 | 0 | 0 | |
| commerce_shipping_label ↗ | 2 | 0 | 0 | 54 | 0 | 0 | |
| dvf ↗ | 4 | 0 | 0 | 52 | 0 | 0 | |
| social_timeline ↗ | 1 | 0 | 0 | 51 | 0 | 0 | |
| rokka ↗ | 14 | 0 | 0 | 48 | 0 | 0 | |
| svg_icon ↗ | 3 | 0 | 0 | 48 | 0 | 0 | |
| konamicode ↗ | 6 | 0 | 0 | 47 | 0 | 0 | |
| simple_global_filter ↗ | 3 | 0 | 0 | 47 | 0 | 0 | |
| entity_content_export ↗ | 0 | 0 | 2 | 37 | 0 | 0 | |
| user_role_widget ↗ | 1 | 0 | 0 | 36 | 0 | 0 | |
| vite_react_generator ↗ | 4 | 0 | 0 | 35 | 0 | 0 | |
| ai_provider_openai_compatible ↗ | 2 | 0 | 0 | 34 | 0 | 0 | |
| xls_serialization_extras ↗ | 1 | 0 | 0 | 34 | 0 | 0 | |
| twig_casings ↗ | 2 | 0 | 0 | 31 | 0 | 0 | |
| daterangepickerwidget ↗ | 2 | 0 | 0 | 30 | 0 | 0 | |
| entity_tasks ↗ | 2 | 0 | 0 | 29 | 0 | 0 | |
| plotly_js ↗ | 0 | 0 | 4 | 29 | 0 | 0 | |
| inline_svg ↗ | 1 | 0 | 0 | 28 | 0 | 0 | |
| commerce_cardpointe ↗ | 4 | 0 | 0 | 26 | 0 | 0 | |
| languagewire_translation_provider ↗ | 4 | 0 | 0 | 26 | 0 | 0 | |
| payment_authnet ↗ | 2 | 0 | 0 | 26 | 0 | 0 | |
| hal_publications ↗ | 5 | 0 | 0 | 24 | 0 | 0 | |
| legalweb_cloud ↗ | 4 | 0 | 0 | 23 | 0 | 0 | |
| breakpoints_ui ↗ | 1 | 0 | 0 | 22 | 0 | 0 | |
| commerce_gc_client ↗ | 5 | 0 | 0 | 21 | 0 | 0 | |
| simpleavs ↗ | 1 | 0 | 0 | 21 | 0 | 0 | |
| service ↗ | 3 | 0 | 0 | 19 | 0 | 0 | |
| noahs ↗ | 1 | 0 | 0 | 17 | 0 | 0 | |
| commerce_easypost ↗ | 3 | 0 | 0 | 16 | 0 | 0 | |
| displayname ↗ | 0 | 0 | 1 | 16 | 0 | 0 | |
| intercept ↗ | 0 | 3 | 0 | 16 | 0 | 0 | |
| monster_menus ↗ | 54 | 0 | 0 | 15 | 0 | 0 | |
| send_emails ↗ | 3 | 0 | 0 | 15 | 0 | 0 | |
| api ↗ | 0 | 0 | 1 | 13 | 0 | 0 | |
| gs ↗ | 1 | 0 | 0 | 13 | 0 | 0 | |
| block_backup_restore ↗ | 5 | 0 | 0 | 12 | 0 | 0 | |
| commerce_dps ↗ | 5 | 0 | 0 | 12 | 0 | 0 | |
| commerce_unzer ↗ | 1 | 0 | 0 | 12 | 0 | 0 | |
| entity_links_bulk_processor ↗ | 1 | 0 | 0 | 12 | 0 | 0 | |
| graphql_compose_configs ↗ | 1 | 0 | 0 | 11 | 0 | 0 | |
| image_to_media_swapper ↗ | 2 | 0 | 0 | 11 | 0 | 0 | |
| nva ↗ | 1 | 0 | 0 | 10 | 0 | 0 | |
| rocketship_theme_starter ↗ | 10 | 0 | 0 | 10 | 0 | 0 | |
| disk_space_alert ↗ | 2 | 0 | 0 | 9 | 0 | 0 | |
| entity_bundle_scaffold ↗ | 4 | 0 | 0 | 9 | 0 | 0 | |
| entrasync ↗ | 2 | 0 | 0 | 9 | 0 | 0 | |
| hax ↗ | 1 | 0 | 0 | 9 | 0 | 0 | |
| trucie ↗ | 2 | 0 | 0 | 7 | 0 | 0 | |
| aero_weather ↗ | 2 | 0 | 0 | 6 | 0 | 0 | |
| native_observability ↗ | 13 | 0 | 0 | 6 | 0 | 0 | |
| panther ↗ | 2 | 0 | 0 | 6 | 0 | 0 | |
| supercookie ↗ | 1 | 2 | 0 | 6 | 0 | 0 | |
| apidae_tourisme ↗ | 6 | 0 | 0 | 5 | 0 | 0 | |
| cl_selector_field ↗ | 1 | 0 | 0 | 5 | 0 | 0 | |
| field_highlightjs ↗ | 2 | 0 | 0 | 5 | 0 | 0 | |
| flowdrop_ui_agents ↗ | 2 | 0 | 0 | 5 | 0 | 0 | |
| bazaarvoice ↗ | 5 | 0 | 0 | 4 | 0 | 0 | |
| bigcommerce ↗ | 3 | 0 | 0 | 4 | 0 | 0 | |
| brapi ↗ | 1 | 0 | 0 | 4 | 0 | 0 | |
| business_identity ↗ | 1 | 0 | 0 | 4 | 0 | 0 | |
| dbanonymizer ↗ | 4 | 0 | 0 | 4 | 0 | 0 | |
| localized_config ↗ | 3 | 0 | 0 | 4 | 0 | 0 | |
| production_checklist ↗ | 1 | 0 | 0 | 4 | 0 | 0 | |
| title_cases ↗ | 4 | 0 | 0 | 4 | 0 | 0 | |
| views_hooks_extras ↗ | 2 | 0 | 0 | 4 | 0 | 0 | |
| city_weather_field ↗ | 2 | 0 | 0 | 3 | 0 | 0 | |
| commerce_valitor ↗ | 1 | 0 | 0 | 3 | 0 | 0 | |
| field_visibility_manager ↗ | 1 | 0 | 0 | 3 | 0 | 0 | |
| harmonize ↗ | 3 | 0 | 0 | 3 | 0 | 0 | |
| paragraphs_gridstack ↗ | 1 | 0 | 0 | 3 | 0 | 0 | |
| physical_quantity_fields ↗ | 4 | 0 | 0 | 3 | 0 | 0 | |
| widget_type ↗ | 1 | 0 | 0 | 3 | 0 | 0 | |
| commerce_hubspot ↗ | 2 | 0 | 0 | 2 | 0 | 0 | |
| commerce_pesapal ↗ | 1 | 0 | 0 | 2 | 0 | 0 | |
| d7_import ↗ | 3 | 0 | 0 | 2 | 0 | 0 | |
| dynatrace ↗ | 1 | 0 | 0 | 2 | 0 | 0 | |
| entity_counter ↗ | 0 | 0 | 1 | 2 | 0 | 0 | |
| entity_splitter ↗ | 1 | 0 | 0 | 2 | 0 | 0 | |
| gtm_datalayer ↗ | 0 | 0 | 2 | 2 | 0 | 0 | |
| gutenberg_block_report ↗ | 1 | 0 | 0 | 2 | 0 | 0 | |
| knowledge ↗ | 1 | 0 | 0 | 2 | 0 | 0 | |
| normalize_and_validate ↗ | 1 | 0 | 0 | 2 | 0 | 0 | |
| tmgmt_ilangl ↗ | 2 | 0 | 0 | 2 | 0 | 0 | |
| cl_generator ↗ | 3 | 0 | 0 | 1 | 0 | 0 | |
| dblog_json_viewer ↗ | 1 | 0 | 0 | 1 | 0 | 0 | |
| eb ↗ | 1 | 0 | 0 | 1 | 0 | 0 | |
| gamify ↗ | 1 | 0 | 0 | 1 | 0 | 0 | |
| llm_provider ↗ | 1 | 0 | 0 | 1 | 0 | 0 | |
| nearby_places_search ↗ | 4 | 0 | 0 | 1 | 0 | 0 | |
| social_summaries ↗ | 1 | 0 | 0 | 1 | 0 | 0 | |
| straker_translate ↗ | 2 | 0 | 0 | 1 | 0 | 0 | |
| api_insight_lab ↗ | 2 | 0 | 0 | 0 | 0 | 0 | |
| datatrek_entities ↗ | 1 | 0 | 0 | 0 | 0 | 0 | |
| dpl_pretix ↗ | 2 | 0 | 0 | 0 | 0 | 0 | |
| oauth2_token_manager ↗ | 2 | 0 | 0 | 0 | 0 | 0 | |
| pricespider ↗ | 4 | 0 | 0 | 0 | 0 | 0 |