Home

>

Tools

>

Drupal

>

Releases

>

8.3.0-beta1

Drupal Release: 8.3.0-beta1

Pre Release

Tag Name: 8.3.0-beta1

Release Date: 2/15/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-beta1 introduces significant improvements to the content moderation workflow system, enhanced testing infrastructure, and a redesigned status report page. This release focuses on developer experience improvements with better plugin handling, documentation updates, and performance optimizations. Notable changes include CKEditor updates to version 4.6.2 with a new skin, improved REST API responses, and fixes for various random test failures. This beta release represents a substantial step forward in Drupal's evolution with over 2,300 changes across 300 files.

Highlight of the Release

    • Redesigned status report page with improved UI and information organization
    • Updated CKEditor to version 4.6.2 with new Moono-Lisa skin
    • Enhanced content moderation workflow system with default states and transitions
    • Improved plugin handling with better object-based plugin definitions
    • Better REST API responses with more informative error messages

Migration Guide

Upgrading to Drupal 8.3.0-beta1

Deprecated Services and Methods

  • The entity.query service has been deprecated. Use the entity storage's getQuery() method instead:
// Before
$query = \Drupal::service('entity.query')->get('node');

// After
$query = \Drupal::entityTypeManager()->getStorage('node')->getQuery();

Node Constants

Node constants have been moved from the node.module file to the NodeInterface:

// Before
NODE_PUBLISHED
NODE_NOT_PUBLISHED
NODE_NOT_STICKY
NODE_STICKY

// After
\Drupal\node\NodeInterface::PUBLISHED
\Drupal\node\NodeInterface::NOT_PUBLISHED
\Drupal\node\NodeInterface::NOT_STICKY
\Drupal\node\NodeInterface::STICKY

Plugin Definition Changes

If you're working with plugin definitions:

  1. Object-based plugin definitions are now supported in PluginDependencyTrait
  2. Plugin definitions now store their class in a consistent manner (without leading slashes)
  3. The DerivativeDiscoveryDecorator now properly processes object-based plugin definitions

Content Moderation

If you're using the Content Moderation module:

  1. Workflow entities are now labeled as "Workflows" instead of "Workflow entities"
  2. Default workflow states and transitions are now provided for new workflows
  3. Check your custom code that interacts with workflow states and transitions

Upgrade Recommendations

As this is a beta release (8.3.0-beta1), it is not recommended for production sites. This release is intended for testing and development purposes only.

For sites currently running Drupal 8.2.x:

  • Wait for the stable 8.3.0 release before upgrading production sites
  • Consider setting up a development or staging environment to test the beta release
  • Review the migration guide for deprecated APIs and prepare your custom code for the changes
  • Test your custom modules and themes thoroughly with this beta release

For module developers:

  • Update your code to use the entity storage's getQuery() method instead of the deprecated entity.query service
  • Update any references to node constants to use the new NodeInterface constants
  • Test your modules with the new plugin definition handling
  • If you work with content moderation, test your code with the enhanced workflow system

For theme developers:

  • Test your themes with the new CKEditor Moono-Lisa skin
  • Verify compatibility with the redesigned status report page

This beta release contains significant changes, so thorough testing is essential before planning an upgrade to the stable 8.3.0 release.

Bug Fixes

Test Stability Improvements

Several random test failures have been fixed:

  • Fixed random failures in OutsideInBlockFormTest
  • Fixed random failures in CKEditor AjaxCss tests
  • Fixed issues with PHPUnit tests on Windows systems

Entity and Form Handling

  • Fixed issue where duplicating a non-default revision would produce a default revision for a newly created entity
  • Fixed bug where bulk operation actions might not act on the selected items
  • Fixed issue where details form element wouldn't open when there are errors on child elements
  • Fixed bug where deleting a user account would throw an exception if the user has nodes in an anonymous environment with node access enabled
  • Fixed issue where View's build would fail when an unrelated form on the same page has validation errors

REST and API Issues

  • Fixed issue where REST 403 responses didn't tell the user why access was not granted
  • Fixed bug where query arguments were not persisted when using batch operations
  • Fixed issue where link attributes were not preserved when rendering links multiple times

Database and Performance

  • Added indexes to migrate_map_* tables for better performance
  • Fixed PostgreSQL regular expression match operators for non-text fields
  • Fixed Views NumericFilter 'regular_expression' operator

New Features

Content Moderation Improvements

The content moderation system has been significantly enhanced with:

  • Default workflow states and transitions for new workflows
  • Better validation of workflow state transitions
  • Improved workflow type plugin with correct dependency calculation
  • Clearer labels for workflow entities in the admin interface

Redesigned Status Report Page

The status report page has been completely redesigned with:

  • Improved visual organization of information
  • Better categorization of system status items
  • Enhanced readability and user experience

CKEditor Updates

CKEditor has been updated to version 4.6.2 with:

  • New "Moono-Lisa" skin for a more modern look
  • Various bug fixes and improvements from the upstream project

Enhanced Plugin System

The plugin system has been improved with:

  • Support for object-based plugin definitions
  • Better handling of plugin dependencies
  • Improved derivative discovery decorator

REST API Enhancements

REST API responses have been improved with:

  • More informative error messages for 403 responses
  • Automatic route rebuilding when importing REST resource config entities

Security Updates

Security Improvements

  • Support for RFC 5785 by whitelisting the .well-known directory, improving compatibility with security standards
  • Fixed issue with Suhosin PHP extension that was preventing certain modules from being enabled, improving compatibility with security-enhanced PHP environments

No critical security vulnerabilities were addressed in this release. As always, the Drupal security team continues to monitor and address security issues as they arise.

Performance Improvements

Entity Rendering Optimization

  • Fixed issue where getViewBuilder('node')->viewMultiple() was bypassing render cache, resulting in significant performance improvements for pages displaying multiple nodes

Database Query Performance

  • Added indexes to migrate_map_* tables to improve migration performance
  • Fixed PostgreSQL regular expression match operators to work correctly with non-text fields, improving query performance

ViewsEntitySchemaSubscriber Optimization

  • ViewsEntitySchemaSubscriber now avoids doing unnecessary work when entity type definitions are updated, reducing overhead during entity updates

Route Handling Improvements

  • Improved route rebuilding for REST resources, making configuration imports more efficient
  • Better handling of contextual filters in views, reducing unnecessary processing

Impact Summary

Drupal 8.3.0-beta1 represents a significant step forward in Drupal's evolution with over 2,300 changes across 300 files. The release focuses on improving both the developer and user experience.

For site administrators and content editors, the redesigned status report page provides better visibility into site health, while the enhanced content moderation workflow system offers more intuitive content management. The updated CKEditor (4.6.2) with its new Moono-Lisa skin delivers a more modern editing experience.

Developers will appreciate the numerous improvements to the plugin system, better REST API responses, and fixes for random test failures that have been frustrating the community. The migration from Drupal 7 has been enhanced with better support for node translations.

Performance improvements include optimized entity rendering, better database indexing for migrations, and more efficient handling of entity type updates. These changes should result in better overall site performance, especially for sites with complex content structures.

While this beta release contains many improvements, it also includes API changes that may require updates to custom code, particularly around entity queries, node constants, and plugin definitions. The migration guide provides details on these changes to help developers prepare for the stable release.

Statistics:

File Changed300
Line Additions1,221
Line Deletions1,152
Line Changes2,373
Total Commits126

User Affected:

  • Benefit from the redesigned status report page with improved UI and information organization
  • Can use enhanced content moderation workflows with default states and transitions
  • Experience improved block management with better contextual links and actions

Contributors:

xjmalexpottjunowildernesswebchickeffulgentsia