Home

>

Tools

>

Drupal

>

Releases

>

9.0.0-beta2

Drupal Release: 9.0.0-beta2

Pre Release

Tag Name: 9.0.0-beta2

Release Date: 3/30/2020

Drupal LogoDrupal

Highly 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\Diactoros with Laminas\Diactoros
  • Replace Zend\Feed with Laminas\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:

  1. Directly extending Stable if you need its reset CSS
  2. Implementing your own CSS reset
  3. 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:

  1. Test your custom and contributed modules for compatibility
  2. Update any Zend Framework dependencies to Laminas equivalents
  3. Review your themes for compatibility with the removal of Stable as a base theme
  4. 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:

File Changed100
Line Additions1,368
Line Deletions674
Line Changes2,042
Total Commits13

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

Contributors:

xjmalexpott