Home

>

Tools

>

Drupal

>

Releases

>

8.3.0-alpha1

Drupal Release: 8.3.0-alpha1

Pre Release

Tag Name: 8.3.0-alpha1

Release Date: 2/1/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.3.0-alpha1 introduces significant enhancements with a focus on content workflows, layout management, and API improvements. This release adds the experimental Content Moderation and Field Layout modules, stabilizes BigPipe for improved page loading performance, and includes numerous bug fixes and developer experience improvements. Key additions include a new EntityPublishedInterface, improved REST API testing coverage, and better support for migration from Drupal 6/7. This alpha release represents the first step toward Drupal 8.3.0, with important new capabilities for site builders and developers.

Highlight of the Release

    • Introduction of experimental Content Moderation module for advanced publishing workflows
    • New experimental Field Layout module for arranging fields in different layouts
    • BigPipe module promoted from experimental to stable status
    • New EntityPublishedInterface for standardizing entity publishing status
    • Improved REST API testing coverage and error handling
    • Enhanced migration support from Drupal 6/7
    • Better JavaScript testing capabilities

Migration Guide

Updating to Drupal 8.3.0-alpha1

API Changes

  • EntityTypeInterface::isSubclassOf() has been renamed to entityClassImplements(). Update any code that calls this method.
  • If you have custom code that relies on entity publishing status, consider implementing the new EntityPublishedInterface for consistency.
  • The BigPipe module is now stable. If you were avoiding it due to its experimental status, you can now safely use it in production.
  • All BigPipe classes and interfaces are now marked @internal. If you were extending these directly, you should refactor your code.

JavaScript Changes

  • drupal.js has been split into smaller components. If you were relying on specific functions from this file, ensure you're including the correct dependencies.
  • The Outside-In module has had significant changes to its CSS and JavaScript. If you have custom themes or modules that integrate with it, test thoroughly.

Content Moderation

If you're upgrading from a previous version where you used the experimental Content Moderation module:

  1. Backup your database before upgrading
  2. After upgrading, visit /admin/modules and enable the new Content Moderation module
  3. Visit /admin/config/workflow/workflows to configure your workflows
  4. Check that your existing moderated content has maintained its correct states

Field Layout

If you plan to use the new experimental Field Layout module:

  1. Enable the module at /admin/modules
  2. Navigate to "Manage display" for your entity types
  3. You'll now see options to select different layouts for your fields

Testing Framework Changes

If you have custom tests:

  • BrowserTestBase and WebTestBase have been refactored with common methods moved to traits
  • New methods have been added for JavaScript testing to validate completion of AJAX requests
  • Update any tests that use the deprecated assertFieldByXPath()/assertNoFieldByXPath() methods

Upgrade Recommendations

As this is an alpha release (8.3.0-alpha1), it is not recommended for production sites. This release is intended for:

  • Developers who want to test and provide feedback on new features
  • Site builders who want to prepare for the upcoming 8.3.0 stable release
  • Module maintainers who need to test compatibility with new APIs

If you're running a development or testing site, you can upgrade to this alpha to help test the new features and report any issues. This will help ensure the stability of the final 8.3.0 release.

For production sites, it's recommended to:

  1. Wait for the stable 8.3.0 release
  2. Test the upgrade on a staging environment first
  3. Ensure all contributed modules are compatible with 8.3.x
  4. Create a complete backup before upgrading

If you're currently on Drupal 8.2.x, the upgrade path to 8.3.0 (when stable) should be straightforward, but always test thoroughly before upgrading production sites.

Bug Fixes

Entity and Field Handling

  • Fixed issue where boolean fields with #access FALSE caused EntityStorageException.
  • Resolved problem where only one additional new value was saved for unlimited fields.
  • Fixed issue where non-field values were not restored after preview.
  • Corrected validation in EntityAutocomplete form element that was too strict.
  • Fixed bug where cloned entities pointed to the same field objects after translation initialization.

REST API and Serialization

  • Fixed issue where REST in Drupal 8.2.x did not allow HTTP methods other than GET/PATCH/POST/DELETE.
  • Corrected HAL JSON error responses to use proper content type headers.
  • Fixed denormalization on field items which was never being called.
  • Standardized JSON response encoding to be RFC4627-compliant.

Views

  • Fixed issue where deleting Views Pages with Attachments caused Fatal Error.
  • Corrected problem where exposed filter with "All" option fired illegal choice when selected.
  • Fixed Views field sorting that led to exceptions being thrown.

Migration

  • Fixed issue where migration would crash on download failure.
  • Corrected problem where only first set of configuration dependencies was checked on installation.
  • Fixed issue where field formatters with names different than their field type could not be migrated.

JavaScript and UI

  • Fixed "cannot call methods on dialog prior to initialization" error when resizing after closing a modal.
  • Corrected CSS aggregation that was stripping essential whitespace within strings.
  • Fixed fragment link pointing to <textarea> not being redirected to CKEditor instance.

Performance and Caching

  • Fixed issue where revision ID in node and node_revision tables could get out of sync.
  • Corrected problem where loadUnchanged did not use persistent cache effectively.

New Features

Content Workflow Improvements

  • Content Moderation Module: New experimental module that provides advanced publishing workflows with multiple states (Draft, Published, Archived) and transitions between them.
  • EntityPublishedInterface: Standardizes how entity types handle published status, initially implemented for Node and Comment entities.

Layout Management

  • Field Layout Module: New experimental module allowing entity view/form modes to switch between different layouts.
  • Layout Plugin Type: Core now includes a layout plugin type to support more flexible content layouts.

User Interface Improvements

  • Settings Tray (Outside-In): Enhanced with better mobile support, keyboard navigation (ESC key to exit edit mode), and standardized link behavior in editing mode.
  • Off-canvas Dialog: Improved handling at lower screen widths with responsive design enhancements.

API Enhancements

  • BigPipe: Promoted from experimental to stable status, providing improved page loading performance.
  • Custom Link Relationships: New mechanism for defining custom link relationships in REST APIs.
  • Workflow Component: Added a new workflow component and UI module, implemented in content moderation.

Migration Improvements

  • CCK Field Support: Better support for migrating CCK field data for taxonomy terms from Drupal 7.
  • Query Batching: Added query batching to SqlBase for improved migration performance.
  • Migration Plugin Discovery: Enhanced documentation and handling of migration plugin discovery.

Security Updates

Security Improvements

  • Improved placeholder token handling by using Crypt::hashBase64() instead of less secure hash('crc32b') or sha1 functions.
  • Enhanced error handling in REST API responses to prevent information disclosure.
  • Fixed validation in EntityAutocomplete form element that was previously too strict, which could have led to potential security issues.
  • Improved handling of file uploads and directory validation to ensure destination folders exist before attempting to write files.

No critical security vulnerabilities were addressed in this release, as those would typically be handled in security releases rather than feature releases.

Performance Improvements

BigPipe Stabilization

  • BigPipe module has been promoted from experimental to stable status, providing significant performance improvements for authenticated users by streaming cacheable parts of the page first and loading personalized content later.
  • Refactored BigPipe internals to allow contrib modules to extend it with the ability to stream anonymous responses and prime Page Cache for subsequent visits.

Caching and Entity Loading

  • Improved entity loading performance by using persistent cache more effectively in loadUnchanged() method.
  • Added a SQL index for entity types that implement EntityPublishedInterface to improve query performance.
  • Added a "url.path.is_front" cache context to allow contributed themes to optimize front page rendering.

Migration Performance

  • Added query batching to SqlBase for improved migration performance when processing large datasets.
  • Enhanced migration plugin discovery to reduce unnecessary processing.

JavaScript Optimization

  • Split drupal.js into smaller components for better frontend performance.
  • Improved CSS aggregation handling to preserve essential whitespace within strings.

Database and Query Optimization

  • Fixed inefficient use of SqlContentEntityStorageSchema::getFieldSchemaData() that was fetching entity type ID on each iteration.
  • Made cron execution logging optional to reduce database writes and log size.

Impact Summary

Drupal 8.3.0-alpha1 represents a significant step forward in Drupal's evolution, particularly in the areas of content workflow management, layout flexibility, and developer experience.

The introduction of the Content Moderation module addresses a long-standing need for more sophisticated publishing workflows in Drupal core, allowing content to move through various states (Draft, Published, Archived) with proper revision tracking. This feature will be particularly valuable for editorial teams that require approval processes and content staging.

The new Field Layout module, combined with the layout plugin system, lays the groundwork for more flexible content presentation without requiring complex custom code or additional contributed modules. This represents an important shift toward making Drupal more user-friendly for site builders.

From a technical perspective, the stabilization of BigPipe marks an important milestone for Drupal's performance capabilities, providing a core solution for improving perceived page load times, especially for authenticated users. The introduction of EntityPublishedInterface standardizes how publishing status is handled across entity types, making the API more consistent and predictable.

The improvements to migration tools continue Drupal's commitment to providing upgrade paths from older versions, addressing several pain points in the migration process from Drupal 6 and 7.

For developers, the enhanced testing infrastructure, particularly for REST APIs and JavaScript functionality, will lead to more robust code and fewer regressions in future development.

While this alpha release introduces many new features, it's important to note that some of the most significant additions (Content Moderation and Field Layout) remain experimental and may change before the final 8.3.0 release. Organizations should begin testing these features now but should exercise caution when planning production implementations until these modules reach stable status.

Statistics:

File Changed300
Line Additions1,852
Line Deletions1,546
Line Changes3,398
Total Commits250

User Affected:

  • Access to new experimental Content Moderation module for advanced publishing workflows
  • New Field Layout module for arranging fields in different layouts
  • Improved block placement with Settings Tray (Outside-In) module enhancements
  • Better handling of menu links and taxonomy vocabulary management

Contributors:

xjmalexpottwebchickeffulgentsia