Home

>

Tools

>

Drupal

>

Releases

>

8.0-alpha11

Drupal Release: 8.0-alpha11

Pre Release

Tag Name: 8.0-alpha11

Release Date: 4/23/2014

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 8.0-alpha11 brings significant improvements to the development version of Drupal 8, focusing on installation stability, performance, and developer experience. This release fixes critical installation issues with opcode caching, improves configuration management, introduces PSR-4 support for module class files, and enhances entity handling. Key updates include jQuery updates to 2.1.0, Guzzle upgrade to version 4, and renaming the Edit module to QuickEdit. This alpha release continues to refine Drupal 8's architecture while addressing numerous bugs and performance issues.

Highlight of the Release

    • Fixed critical installation issues with opcode cache in PHP 5.5
    • Introduced PSR-4 support for module class files
    • Upgraded jQuery to version 2.1.0
    • Renamed Edit module to QuickEdit for better clarity
    • Improved configuration management with better validation and error reporting
    • Enhanced entity API with new interfaces and better handling
    • Upgraded to Guzzle 4 for HTTP requests

Migration Guide

PSR-4 Migration

If you're developing modules for Drupal 8, you should start planning to move your class files to follow PSR-4 standards. While PSR-0 is still supported, the direction is clearly toward PSR-4. Use the provided script at core/scripts/switch-psr4.sh to help with this transition.

Module Renamed: Edit → QuickEdit

The Edit module has been renamed to QuickEdit for better clarity. Update any references in your code:

  • Change module dependencies from 'edit' to 'quickedit'
  • Update any JavaScript or CSS that targets Edit module elements
  • Update any documentation references

Menu Module → Menu UI Module

The Menu module has been renamed to Menu UI module. Update your module dependencies and any code references accordingly.

Deprecated Functions Removed

Many deprecated functions have been removed. Make sure to update your code if you were using any of these:

  • drupal_get_form() - Use form builder service instead
  • Deprecated language functions - Use the new language API
  • Deprecated Element functions - Use the new Element API
  • Deprecated XSS filter functions - Use the new filtering system
  • Deprecated URL functions - Use the URL generation service

Entity API Changes

  • If you're working with entities, update your code to use the new interfaces:
    • ContentEntityTypeInterface
    • FieldStorageDefinitionInterface
  • Update entity storage code to use the improved methods

Configuration Path Changes

Default configuration has been moved to extension/config/install to clarify its purpose. If you were looking for configuration in other locations, update your paths accordingly.

Upgrade Recommendations

This is an alpha release (8.0-alpha11) and is not recommended for production sites. It's intended for developers who are working on Drupal 8 development and testing.

For developers working with Drupal 8:

  • Update your development environments to test with this alpha release
  • Begin adapting your custom modules to use PSR-4 for class files
  • Review and update any code that uses deprecated functions that have been removed
  • Test your modules with the new entity API interfaces
  • If you're using the Edit module, update references to the new QuickEdit name

For site owners:

  • Continue using Drupal 7 for production sites
  • Consider setting up a test environment with Drupal 8 alpha to begin familiarizing yourself with the new features and changes

This alpha release contains significant architectural changes and bug fixes, but is still under active development. Expect breaking changes in future alpha and beta releases.

Bug Fixes

Installation and Update Issues

  • Fixed critical installation failure when opcode cache is enabled
  • Fixed opcode cache utility breaking CLI site install for PHP 5.5
  • Fixed installer breaking with fatal error on PHP 5.3
  • Fixed update.php to properly invoke hooks again
  • Fixed database port and table prefix not being picked up from settings.php during installation

Entity and Field Issues

  • Fixed preview in Create Article giving an error
  • Fixed filter order not being respected
  • Fixed StringLong's schema
  • Fixed Views handlers being initialized during route building
  • Fixed broken subtree in toolbar when using a different language
  • Fixed form redirects from 403/404 pages
  • Fixed link field not accepting valid path aliases
  • Fixed user entity reference filter configuration

Configuration Issues

  • Fixed RequestStack not being persisted across kernel rebuilds
  • Fixed Views blocks missing dependency on view
  • Fixed theme settings configuration issues
  • Fixed image field crashing when using an inexistent default image

UI and Display Issues

  • Fixed tracker pager inconsistency
  • Fixed tab-select rendering grippie white on white
  • Fixed form submit buttons outline on focus
  • Fixed icons in toolbar being slightly misaligned
  • Fixed date field required marker rendered as "Array"
  • Fixed 'Back to site' button forgetting last non-admin page
  • Fixed PHP notice displayed for forum blocks when no forum topics exist
  • Fixed two-column layout broken by vertical toolbar
  • Fixed help blocks displaying on 403/404 pages

Other Fixes

  • Fixed maximum port number validation
  • Fixed circular reference issues in various components
  • Fixed taxonomy_index table structure to prevent duplicates
  • Fixed array to string conversion error when adding a new user

New Features

PSR-4 Support for Module Class Files

Drupal 8 now supports PSR-4 for module-provided class files, improving the organization and autoloading of PHP classes. This is a significant step in modernizing Drupal's code architecture and aligning with PHP standards. A script (core/scripts/switch-psr4.sh) has been added to help move module class files to their new PSR-4 locations.

Enhanced Configuration Management

Configuration import validation now lists multiple issues and provides translatable error messages, making it easier to identify and fix problems during configuration imports. A new way to add steps to configuration synchronization has been added, allowing for more flexible and powerful configuration workflows.

Improved Entity API

Several enhancements to the Entity API improve developer experience:

  • New ContentEntityTypeInterface for better type hinting
  • Introduction of FieldStorageDefinitionInterface in the Entity Field API
  • Improved EntityBase::id() method for better developer experience
  • Support for keeping revision IDs during migration

Cache Tags for Entities

Entity base classes now provide standardized cache tags and built-in invalidation, making it easier to properly cache entity-related content and invalidate those caches when entities change.

New Cache Methods

Added CacheBackendInterface::setMultiple() to improve performance when setting multiple cache items at once.

Entity Operations API

Introduced hook_entity_operation() to allow modules to define operations for entities in a standardized way.

Security Updates

Security Hardening

  • Added security hardening protection option for programmatic form submissions
  • Improved HTTPS peer verification when cURL is available
  • Fixed session handling security issues

Database Security

  • Improved database schema field/column default value quoting via PDO::quote()
  • Fixed table prefix error handling when prefix is incorrect

Other Security Improvements

  • Removed eval() from locale.module, eliminating a potential security risk
  • Added CSRF token validation improvements

Performance Improvements

Cache Improvements

  • Added CacheBackendInterface::setMultiple() for better performance when setting multiple cache items at once
  • Improved cache handling for blocks with per-active-trail caching for SystemMenuBlock and BookNavigationBlock
  • Added theme cache tag to page cache entries for better cache invalidation
  • Micro-optimization in _theme function

Database Improvements

  • Added primary key to taxonomy_index table to improve query performance
  • Improved handling of database flood backend

Plugin Discovery Optimization

  • Moved all plugin and other discovery data into a dedicated cache_discovery bin for better organization and performance

Session Handling

  • Objectified session management functions and removed session.inc for better performance and maintainability

Other Performance Enhancements

  • Improved menu tree caching
  • Consolidated system module configuration files for better performance
  • Removed unnecessary separate config load call when loading languages

Impact Summary

Drupal 8.0-alpha11 represents a significant step forward in the development of Drupal 8, addressing critical installation issues and improving developer experience. The introduction of PSR-4 support aligns Drupal more closely with PHP standards, while enhancements to the Entity API and configuration management system provide more robust tools for developers.

The fixes for opcode cache issues during installation are particularly important, as they resolve critical blockers that prevented many developers from successfully installing Drupal 8. The upgrade to jQuery 2.1.0 and Guzzle 4 keeps Drupal current with modern dependencies.

For developers, this release offers numerous improvements in code organization, API clarity, and performance. The continued refinement of the entity system, configuration management, and caching mechanisms demonstrates Drupal 8's commitment to a modern, maintainable architecture.

While this is still an alpha release not intended for production use, it shows steady progress toward a more stable and feature-complete Drupal 8. The focus on fixing critical bugs while continuing architectural improvements indicates that the project is maturing and moving closer to beta status.

Statistics:

File Changed300
Line Additions12,701
Line Deletions11,518
Line Changes24,219
Total Commits250

User Affected:

  • Installation process is more stable with fixes for opcode cache issues
  • Configuration management improvements with better validation and error reporting
  • Better handling of language configuration and interface
  • Improved block and menu management

Contributors:

webchickjhodgdon-drpdbuytaertalexpottdonquixote