Drupal Release: 9.0.0-beta2
Pre Release
Tag Name: 9.0.0-beta2
Release Date: 3/30/2020
DrupalHighly flexible, open-source content management system known for complex, scalable web applications. Preferred by government, educational, and large enterprise websites requiring advanced customization and security features. Robust module ecosystem.
TL;DR
Drupal 9.0.0-beta2 brings significant improvements to the upcoming major release, focusing on module help conversion to topics, dependency updates, and critical bug fixes. This beta addresses compatibility issues with updates, replaces Zend Framework dependencies with Laminas equivalents, and removes Stable as a base theme for core themes. It's an important step toward the stable Drupal 9 release, with particular attention to update compatibility checks and documentation improvements.
Highlight of the Release
- Improved update compatibility checks to identify incompatible updates
- Replaced ZendFramework dependencies with Laminas equivalents
- Removed Stable as a base theme for core themes
- Converted multiple core modules' hook_help() to topic-based help
- Made Database Query Condition driver overridable
Migration Guide
Zend Framework to Laminas Migration
If your custom code depends on ZendFramework components that were included with Drupal core, you'll need to update these dependencies to their Laminas equivalents. Laminas is the continuation of the Zend Framework project under a new name.
Example changes:
- Replace
Zend\DiactoroswithLaminas\Diactoros - Replace
Zend\FeedwithLaminas\Feed - Update any namespace references accordingly
Stable Theme Base Removal
Core themes no longer use Stable as a base theme. If your custom theme extends a core theme, you may need to review your theme to ensure it still works as expected. Consider:
- Directly extending Stable if you need its reset CSS
- Implementing your own CSS reset
- Adapting your theme to work without the Stable base
Topic-based Help
If your module extends or interacts with help from the affected core modules, you'll need to adapt to the new topic-based help system rather than relying on hook_help() implementations.
Upgrade Recommendations
For Drupal 8 Site Owners
This is a beta release of Drupal 9, so it's not recommended for production sites. However, if you're planning to migrate to Drupal 9, this is a good time to:
- Test your custom and contributed modules for compatibility
- Update any Zend Framework dependencies to Laminas equivalents
- Review your themes for compatibility with the removal of Stable as a base theme
- Test your site with this beta to identify any issues before the stable release
For Beta Testers
If you're already testing Drupal 9.0.0-beta1, upgrading to beta2 is recommended to test the latest changes and provide feedback to the Drupal community.
Production Sites
Production sites should continue using stable Drupal 8 releases until Drupal 9.0.0 is officially released.
Bug Fixes
PHP 5 Test Fixes
Fixed issues with PHP 5 tests on the 8.7.x branch that were causing test failures.
Documentation Fixes
Fixed documentation issues related to hook_update_last_removed() implementation.
Security Dependencies
Updated minimist dependency from ^1.2.0 to ^1.2.2 to address security vulnerabilities.
Hotfix for Alpha Experimental Module Removal
Fixed issues related to cruft left behind from the removal of alpha experimental modules.
New Features
Update Compatibility Checks
The update system now identifies and warns about incompatible updates, providing clearer information to site administrators about potential issues before updating. This helps prevent failed updates due to version incompatibilities.
Topic-based Help Conversion
Multiple core modules have had their hook_help() implementations converted to topic-based help, including:
- automated_cron, ban, dblog, syslog, system, update, and user modules
- datetime, datetime_range, field, field_ui, link, options, telephone, and text modules
This improves the organization and accessibility of help documentation within Drupal.
Driver-overridable Database Query Condition
The Drupal\Core\Database\Query\Condition class is now driver overridable, allowing database drivers to provide custom condition handling when needed.
Security Updates
Dependency Security Updates
Updated minimist from ^1.2.0 to ^1.2.2 to address security vulnerabilities in this dependency.
Symfony Update
Updated Symfony components to version 4.4.7, which may include security fixes from the Symfony project.
Performance Improvements
No specific performance improvements were highlighted in this beta release. The focus appears to be on compatibility, feature improvements, and bug fixes rather than performance optimizations.
Impact Summary
Drupal 9.0.0-beta2 represents a significant step toward the stable release of Drupal 9. The most impactful changes include the replacement of Zend Framework dependencies with Laminas equivalents, which affects any custom code relying on these libraries, and the removal of Stable as a base theme for core themes, which has implications for theme developers.
The improved update compatibility checks will help site administrators identify potential issues before updating, reducing the risk of failed updates. This is particularly important for the transition from Drupal 8 to Drupal 9.
The conversion of multiple core modules' help to topic-based help improves documentation organization but may require adaptation for modules that extend or interact with these help systems.
The driver-overridable Database Query Condition provides more flexibility for database drivers but is primarily relevant to developers working with custom database integrations.
Overall, this beta release focuses on compatibility, documentation improvements, and dependency updates rather than introducing major new features, which is appropriate for a beta release in the development cycle.
Statistics:
User Affected:
- Need to adapt to the removal of Stable as a base theme for core themes
- Should update any Zend Framework dependencies to Laminas equivalents
- Can leverage the new driver-overridable Database Query Condition system
- Need to review module help that has been converted to topics
