Drupal 11 has been available since August 2024, and anyone running Drupal 10.3+ can upgrade, but there are several important considerations to keep in mind.
Technical requirements
Your hosting environment must meet these minimum requirements:
- PHP 8.3 or newer: Drupal 11 does not support older PHP versions
- Database requirements:
- MySQL 8.0+
- MariaDB 10.6+
- PostgreSQL 16+
- SQLite 3.45+
- (Support for IIS has been removed.)
- Composer 2.7.7 or newer: Handles dependency management
- Drush 13: If you use Drush for site management
- Updated dependencies: Drupal 11 relies on Symfony 7, PHPUnit 10, and jQuery 4
Preparation steps
1. Assess your current site
Before upgrading, take inventory of your site’s themes and modules:
- Themes: Review for deprecated code and incompatible dependencies (Hint: Composer can help with this.)
- Contributed modules: Check compatibility status with Drupal 11 (Hint: Use the Upgrade Status module.)
- Custom modules: Check your custom modules and make them compatible (Hint: Sometimes this requires nothing more than adding
^11
tocore_version_requirement
in your module's.info.yml
file.)
2. If applicable, update to a compatible Drupal 10.x release
While it's not entirely necessary to be on the latest version of Drupal 10—any version >=10.3 will do—being on the latest Drupal 10 version (10.4.6
at time of writing) minimizes the gap between versions.
3. Run compatibility analysis tools
Leverage these useful tools to identify potential issues:
- Upgrade Status module: Scans your site for compatibility issues (We hinted at this above.)
- Drupal Rector: Automates code updates for PHP compatibility
4. Address contributed module/theme compatibility
Not all contributed modules and themes are ready for Drupal 11. Consider these approaches:
- Evaluate if certain modules and themes you use are still necessary or can be replaced
- Check for and apply available patches that support Drupal 11 compatibility
- Participate in the community by testing or contributing patches
- Consider postponing your upgrade if critical modules and themes aren’t compatible
5. Update custom code
Custom code requires special attention:
- Update
.info.yml
files to declare Drupal 11 compatibility - Address PHP 8.3 deprecation warnings
- Verify third-party PHP package compatibility
- Check any custom Drush commands for Drush 13 compatibility
6. Test thoroughly
Implement a comprehensive testing strategy:
- Create a development environment with PHP 8.3+ and a supported database version
- Perform dry runs to identify composer dependency issues
- Test all site functionality after the upgrade
- Pay special attention to any custom integrations
If you can, take your time
The Drupal community’s experience suggests a balanced approach to upgrading:
- Consider waiting: While being an early adopter has advantages, waiting allows more contributed modules and themes to gain compatibility
- Prepare incrementally: You can start taking small steps towards Drupal 11 by removing or replacing incompatible modules and themes while you’re still running Drupal 10. That way, when you switch to Drupal 11, it’s a small, simple change instead of a heavy lift.
Custom solutions and special considerations
If your site uses highly customized solutions, like custom functionality that has no equivalent in the Drupal-sphere, you may need to develop a transition strategy. Consider:
- Consulting with Drupal specialists (like us!) to evaluate your custom code
- Planning a phased approach to migrate your custom functionality
- Exploring standard implementations that might replace the custom solution
Conclusion
Drupal 10 doesn’t reach end-of-life until 2026. But the weight of the lift to upgrade depends on the complexity of your Drupal 10 site, plus the possible limitations of your hosting environment. If you can take your time and follow the above steps, you won’t need to worry about throwing out your back!