Home

>

Tools

>

Drupal

>

Releases

>

8.4.0-alpha1

Drupal Release: 8.4.0-alpha1

Pre Release

Tag Name: 8.4.0-alpha1

Release Date: 8/3/2017

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.4.0-alpha1 introduces significant improvements with several experimental modules moving to stable status, including Layout Discovery and Media. This release enhances content workflow management with revisions and moderation tools, improves JavaScript with jQuery 3 support, and addresses critical security fixes. It represents a major step forward in Drupal's evolution with better content management capabilities, improved developer experience, and enhanced user interfaces.

This alpha release is primarily for developers and site builders to test the upcoming features before they're finalized in Drupal 8.4.0. It includes important API changes and improvements that will impact how content is managed and displayed.

Highlight of the Release

    • Layout Discovery module promoted to stable status
    • Media module added to core (hidden, but stable API)
    • jQuery updated to version 3
    • Improved content moderation with better revision handling
    • Enhanced Settings Tray for block configuration
    • Better handling of draft/pending revisions
    • New workflow management tools
    • Improved accessibility for various UI components
    • Critical security fixes (SA-CORE-2017-003)

Migration Guide

Updating to jQuery 3

If your site uses custom JavaScript, you'll need to ensure compatibility with jQuery 3:

  1. Check for deprecated jQuery methods that have been removed in jQuery 3
  2. Test all JavaScript functionality thoroughly
  3. Be aware that $('#') now throws syntax errors in jQuery 3
  4. Review any animations or effects that might behave differently

Content Moderation Changes

If you're using Content Moderation:

  1. The 'Editorial workflow' has been renamed to 'Editorial'
  2. All uses of "forward revision" have been replaced with "pending revision"
  3. The concept of decorated states/transitions has been removed from workflow type plugins
  4. WorkflowType(Interface|Base)::initializeWorkflow() has been entirely removed

API Changes

Several API changes require attention:

  1. Composer dependencies now use caret (^) instead of tilde (~) version constraints
  2. Several deprecated methods have been removed:
    • KernelTestBase::getCompiledContainerBuilder()
    • Workflow::addState() no longer accepts invalid machine names
    • Various deprecated workflow methods

Module Status Changes

Several modules have changed status:

  1. Layout Discovery is now stable
  2. Media module is now in core (but hidden)
  3. Inline Form Errors module moved to core package
  4. Datetime Range module removed from experimental package

Upgrade Recommendations

For Production Sites

This is an alpha release and is not recommended for production sites. Wait for the stable 8.4.0 release before upgrading production environments.

For Development and Testing

If you're a developer or site builder who wants to test the upcoming features:

  1. Create a clone of your site for testing purposes
  2. Follow the standard Drupal upgrade procedures
  3. Pay special attention to custom JavaScript that might be affected by the jQuery 3 update
  4. Test thoroughly any functionality that uses content moderation or revisions
  5. Review any custom code that interacts with the entity API, especially around revisions

Module Compatibility

Before upgrading, check that your contributed modules are compatible with Drupal 8.4. Many modules may need updates to work with the new jQuery 3 implementation and revised entity API.

System Requirements

Note that if you're running on a 32-bit system, you should be aware of the 2038 bug with PHP timestamps. Consider upgrading to a 64-bit system before 2038.

Bug Fixes

Content Management

  • Fixed issue where path alias changes for draft revisions would immediately leak into live site
  • Fixed menu changes from node form leaking into live site when creating draft revision
  • Fixed book storage and UI not being revision aware
  • Fixed entity validation of the moderation_state field when trying to save invalid states
  • Fixed issue with menu subtrees in menu blocks showing all subitems regardless of the active menu item

User Interface

  • Fixed toolbar implementation that created super annoying re-rendering
  • Fixed issue where large images were not responsive and exceeded available space
  • Fixed offcanvas width not resetting if tray is open with different width
  • Fixed autocomplete textfield surrounding titles with double quotes
  • Fixed fragment links to children elements in closed grouping elements
  • Fixed issue with ajax-enabled buttons not being keyboard operable

Entity API

  • Fixed loadEntityByUuid() to skip access checks
  • Fixed FieldConfigBase::setPropertyConstraints() and addPropertyConstraints()
  • Fixed field storage CRUD operations to use the last installed entity type and field storage definitions
  • Fixed issue with initial values when creating a new field storage definition

Views

  • Fixed Views preview title being double escaped
  • Fixed EntityReference display returning wrong datatype for empty results
  • Fixed resaving a view display resulting in deletion of view display

Other

  • Fixed issue where module weight was not taken into account after module installation
  • Fixed path aliases being forgotten after a cache rebuild due to race condition
  • Fixed issue with temporary files being deleted prematurely
  • Fixed validation messages in Datelist::validateDatelist()
  • Fixed issue where users couldn't set a text format to use a text editor without settings

New Features

Media Management

  • Media module added to core (hidden but with stable API)
  • New Media source plugins for File and Image
  • Improved administrative Media view
  • Better semantic HTML wrapper for media items

Layout and Display

  • Layout Discovery module promoted to stable status
  • Support for per-region attributes in Layout Templates
  • Improved Settings Tray for block configuration
  • Better handling of SVG with support for rect property and nested render arrays

Content Workflow

  • Enhanced content moderation with better revision handling
  • New workflow type plugins for creating custom workflows
  • Improved UI for selecting moderation states on entity forms
  • Better handling of draft/pending revisions that no longer leak to the live site

User Interface

  • Improved timezone selector with logical groupings
  • Better toolbar implementation to prevent annoying re-rendering
  • Enhanced accessibility for block placement with screen-reader feedback
  • Inline Form Errors module moved to core package

API Improvements

  • New service collectors for improved plugin discovery
  • Better entity API with improved revision handling
  • Enhanced form validation with better error handling
  • RPC endpoint to reset user passwords

Security Updates

Critical Security Fixes

  • SA-CORE-2017-003 security advisory implemented, addressing multiple vulnerabilities
  • Fixed issue with loadEntityByUuid() to properly skip access checks
  • Improved handling of entity access controls

Permission Handling

  • Fixed "Latest revision" tab to respect 'view own unpublished content' permission
  • Improved handling of user permissions in content moderation workflows
  • Better validation of entity access in REST API endpoints

Performance Improvements

Caching Improvements

  • Split the internal page cache from the rest of the render cache for better performance
  • Fixed path aliases being forgotten after a cache rebuild due to race condition
  • Allow custom default form cache expiration/lifetime

JavaScript Optimizations

  • Improved toolbar implementation to prevent annoying re-rendering
  • Better toolbar height calculation to accommodate jQuery 3.0 changes
  • Improved JavaScript transpile error logging instead of crashing the watcher process

Entity Handling

  • Only call getDerivativeId() when needed for better performance
  • SqlContentEntityStorageSchema no longer needlessly fetches storage definitions it already has
  • Better handling of entity validation and form processing

Impact Summary

Drupal 8.4.0-alpha1 represents a significant step forward in Drupal's evolution with several experimental modules moving to stable status and major improvements to content workflow management.

The most impactful changes include the promotion of Layout Discovery to stable status, the addition of the Media module to core (though hidden), and the update to jQuery 3. These changes provide better tools for content management and layout design while improving the overall developer experience.

Content editors will benefit from improved revision handling that prevents draft content from leaking to the live site, better media management capabilities, and enhanced workflow tools. Developers will need to adapt to jQuery 3 and several API changes, but will gain access to improved service collectors, better entity handling, and enhanced form validation.

The release also includes important security fixes and performance improvements, making it a substantial update that lays groundwork for future enhancements. Site builders will appreciate the improved Settings Tray for block configuration, better timezone selection, and enhanced workflow management tools.

As an alpha release, this version is primarily intended for testing and development environments to prepare for the upcoming stable 8.4.0 release.

Statistics:

File Changed300
Line Additions3,021
Line Deletions2,091
Line Changes5,112
Total Commits250

User Affected:

  • Improved content moderation workflow with new Editorial workflow
  • Better handling of draft revisions that no longer leak to the live site
  • Enhanced media management with the new stable Media module
  • Improved UI for selecting moderation states on entity forms

Contributors:

alexpottjunowildernessgobawebchickeffulgentsiaxjmlarowlandbuytaert