This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Drupal 11 Migration Guide

Upgrade YMCA Website Services from Drupal 10 to Drupal 11.

    Overview

    YMCA Website Services 11.3.1.0 is the latest stable release, bringing Drupal core 11.3.3, major performance improvements, and significant architectural changes. The first Drupal 11 release was 11.1.0.0 (November 18, 2025).

    All major components including Activity Finder 6.0.0 and Memberships 3.1.0 have full Drupal 11 support, making this release production-ready.

    What’s New in 11.3.1.0

    From the 11.3.1.0 release:

    Major Platform Upgrades:

    • Drupal core 11.1.9 → 11.3.3
    • Entity Browser replaced by Media Library for all media fields
    • Google Analytics module removed, replaced by Google Tag
    • Trash module (drupal/trash) enabled by default
    • Media Tags new vocabulary replacing media_directories
    • Y Styles expanded to Landing Page, Event, Article, Reusable blocks
    • Global table styles for CKEditor content
    • 67% faster installation, 93% less memory usage
    • PHP 8.4/8.5 deprecation fixes (256K messages/day eliminated)
    • Breadcrumb cache fix (removed max-age=0)
    • AVIF GD extension now required

    Removed/Deprecated in 11.3.1.0:

    • google_analytics module (replaced by google_tag)
    • entity_browser, dropzonejs_eb_widget, entity_browser_entity_form (replaced by Media Library)
    • GroupEx Pro deprecated (groupex_form_cache, openy_group_schedules, openy_gxp auto-uninstalled)
    • history module removed
    • doctrine/annotations and psr/cache removed

    Previously Removed in 11.1.0.0:

    • ckeditor (replaced by CKEditor 5)
    • ckeditor5_font module
    • inline_entity_menu_form module
    • bartik and seven themes
    • panelbutton module

    Major Package Version Bumps:

    • 17 Layout Builder block packages received major version bumps (e.g., lb_cards 2.2.1→3.0.0, lb_hero 1.5.4→2.0.2)
    • 5 theme packages updated (e.g., ws_colorway_canada 1.3.2→2.0.1, ws_event 1.5.7→2.0.1)
    • 6 content type packages updated (e.g., y_camp 2.1.0→3.0.0, y_lb_article 1.3.4→2.0.1)
    • Core infrastructure: field_group 3.6.0→4.0.0, openy_features 4.2.0→5.0.5, y_lb 4.0.6→5.0.4

    For complete release details, see:


    Before You Upgrade

    Production Ready: Version 11.3.1.0 is the latest stable release suitable for production use. However:

    • Always test first: Upgrade staging/testing environments before production
    • Create backups: Ensure you have complete backups before upgrading
    • Review changes: See the Full Changelog for detailed changes
    • Plan accordingly: Major version upgrades require planning and testing
    • AVIF support required: Ensure the GD extension has AVIF support enabled on your server

    Critical: Upgrade Path Requirement

    IMPORTANT: You must upgrade to 11.1.0.2 first before upgrading to 11.3.x. Direct upgrades from 10.x to 11.3 are not supported.

    Required Upgrade Sequence

    1. Upgrade to 11.1.0.2 from your current Drupal 10 version
    2. Run database updates (drush updb --no-cache-clear -y && drush cr)
    3. Verify site stability on 11.1.0.2
    4. Then upgrade to 11.3.1.0
    5. Run database updates again

    Critical: Google Analytics Module Removed

    IMPORTANT: As of 11.3.1.0, the google_analytics module has been removed and replaced by google_tag. If you are upgrading from a version that uses google_analytics, you must migrate before or during the upgrade to 11.3.

    Why This Matters

    • The google_analytics module has been removed from the distribution
    • The google_tag module is the replacement
    • 11.1.x is the last version where both modules coexist, providing a migration path

    If You Skip This Step

    If you upgrade directly to 11.3 without migrating:

    • Your existing Google Analytics configuration will be lost
    • You will need to manually reconfigure tracking via google_tag
    1. Upgrade to 11.1.0.2 first
    2. Migrate from google_analytics to google_tag module
    3. Verify analytics tracking is working
    4. Then proceed to 11.3.1.0

    Critical: Entity Browser Replaced by Media Library

    As of 11.3.1.0, Entity Browser has been fully replaced by Media Library for all media fields. The packages dropzonejs_eb_widget, entity_browser_entity_form, and entity_browser have been removed.

    This migration happens automatically via database updates, but you should verify that all media fields function correctly after upgrading.


    GroupEx Pro Deprecated

    The following GroupEx Pro modules are auto-uninstalled in 11.3.1.0:

    • groupex_form_cache
    • openy_group_schedules
    • openy_gxp

    If your site relies on GroupEx Pro scheduling, plan a migration to an alternative before upgrading.


    Prerequisites

    Before upgrading to Drupal 11:

    1. Update to latest Drupal 10: Ensure you’re on Drupal 10.3.x or higher
    2. Upgrade PHP: Update server to PHP 8.3 or higher
    3. Enable AVIF in GD: The GD extension must have AVIF support (required for 11.3+)
    4. Backup everything: Database, files, and code
    5. Test on staging: Never upgrade production directly
    6. Plan for module removals: Review the Entity Browser, Google Analytics, and GroupEx Pro sections above

    Upgrade Process for Drupal 11.x

    Critical: Database Update Command Order

    Issue: Starting with Drupal 11.1, the database schema includes new columns (e.g., router.alias). Running drush cr before drush updb will fail because the code expects columns that don’t exist yet in the database.

    Error Example:

    SQLSTATE[42S22]: Column not found: 1054 Unknown column 'alias' in 'INSERT INTO'
    

    Solution: Use --no-cache-clear flag with drush updb and run cache rebuild after:

    # 1. Import database (if migrating from another environment)
    drush sql:drop -y
    drush sql:cli < database-dump.sql
    
    # 2. Run database updates WITHOUT cache clear
    drush updb --no-cache-clear -y
    
    # 3. Clear cache AFTER schema is updated
    drush cr
    

    Why This Works:

    • --no-cache-clear prevents Drupal from rebuilding caches during updb
    • Database schema updates (like adding router.alias column) complete first
    • Cache rebuild then works because schema is up-to-date

    References:


    Known Issues

    jQuery 4.x Script Compatibility

    Issue: Drupal 11 uses jQuery 4.x, which may affect some legacy jQuery scripts.

    Solution: As of version 11.1.0.0-alpha2, YMCA Website Services includes jQuery Migrate to provide backward compatibility.

    What this means:

    • Legacy jQuery syntax (jQuery 1.x/2.x/3.x) continues to work with jQuery 4.x via jQuery Migrate
    • Custom JavaScript and third-party libraries maintain compatibility
    • No immediate action required for most sites

    For developers with custom JavaScript:

    • Test your custom modules with jQuery 4.x
    • Update deprecated jQuery methods when possible
    • jQuery Migrate provides console warnings about deprecated code

    References:


    Getting Help

    Upgrading to Drupal 11?

    Need professional assistance?


    Additional Resources