Drupal Release: 8.7.0-beta1
Pre Release
Tag Name: 8.7.0-beta1
Release Date: 3/29/2019
DrupalHighly 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.7.0-beta1 marks a significant milestone with the addition of JSON:API and Layout Builder as stable modules. JSON:API provides a standardized way to expose your Drupal data, while Layout Builder offers a powerful visual design tool that is now production-ready. This release also includes Spanish translations for the Umami demo, improved accessibility features, and various performance enhancements. The update represents a major step forward in Drupal's API-first initiative and content authoring experience.
Highlight of the Release
- JSON:API added to core as a stable module, providing a standardized way to expose Drupal data
- Layout Builder promoted to stable status with improved accessibility, keyboard navigation, and granular permissions
- Spanish translations added to Umami demo content, including recipes, articles, and pages
- Performance improvements for node access checks and test execution
- Enhanced accessibility with ARIA roles in Layout Builder and improved contrast in Umami theme
Migration Guide
Layout Builder and Translations
If you've been using Layout Builder with translations in previous versions, be aware that the layout tab has been removed from translations because Layout Builder does not yet support translations. For sites that have made layout overrides prior to 8.7.0 or sites that manually enabled translation of the layout override field, UI warnings have been added.
PHP Version Support Changes
This release includes changes required to remove support for PHP 5.5 and 5.6. If you're still using these PHP versions, you should plan to upgrade to a supported PHP version before updating to future Drupal releases.
FileSystem Methods Changes
Support for empty destinations in FileSystem::copy(), FileSystem::move(), and FileSystem::saveData() has been removed. Make sure your code specifies valid destinations when using these methods.
Entity Storage Changes
The content entity storage and entity query now use the last installed definitions instead of the ones living in code. This may affect custom code that relies on the previous behavior. Review any custom entity type implementations to ensure compatibility.
Upgrade Recommendations
Recommended Upgrade Path
This is a beta release and should not be used on production sites. It's recommended for testing purposes only.
For sites planning to upgrade to 8.7.0 when it's stable:
- Test your site thoroughly with this beta release in a non-production environment
- Pay special attention to Layout Builder functionality if you're using it
- Review custom code that interacts with entity storage or file system operations
- If you're using JSON:API contributed module, plan for migration to the core version
- Ensure your PHP version is 7.0 or higher, as support for PHP 5.5 and 5.6 is being phased out
Module Compatibility
If you're using contributed modules that extend Layout Builder or interact with JSON:API, check for compatibility updates from those module maintainers before upgrading to the stable 8.7.0 release.
Bug Fixes
Filter Rearrangement Issues Fixed
Fixed an issue where moving a filter to the end of a Filter group in filter rearrange didn't work properly and allowed dropping in invalid regions.
Context Provider Fix for Anonymous Users
Fixed a regression in \Drupal\user\ContextProvider\CurrentUserContext that was broken for anonymous users.
Media Library State Security
Implemented a tamper-proof hash for the media library state to prevent potential security issues.
CKEditor and Off-Canvas Styles Conflict
Resolved conflicts between off-canvas styles and CKEditor's reset and theme that were causing display issues.
Remote Video Overflow
Fixed an issue where remote videos were overflowing their containing elements, causing layout problems.
Duplicate Filter Format Weights
Fixed an issue with duplicate filter format weights that was turning off CKEditor by default in some languages.
Search Box Size in Umami
Fixed the search placeholder text that was longer than the search box in the Umami theme.
Views Filter Permission Check
Fixed the "Published status or admin user" Views filter to properly check the "View any unpublished content" permission.
New Features
JSON:API Now in Core as a Stable Module
JSON:API has been added to Drupal core as a stable module, providing a standardized way to expose your Drupal data. This implementation follows the JSON:API specification and offers a robust, developer-friendly API for your Drupal sites without requiring custom code.
Layout Builder Promoted to Stable
Layout Builder has been promoted from experimental to stable status, making it production-ready. This powerful visual design tool now includes:
- Granular permissions for different Layout Builder operations
- Ability to toggle live previews for easier drag-and-drop functionality
- Improved keyboard navigation for reordering blocks
- Better accessibility with ARIA group roles
- Integration with Quick Edit
- Cleaner UI with contextual links related only to layout administration
Spanish Translations for Umami Demo
The Umami demo profile now includes comprehensive Spanish translations for:
- Recipes
- Articles
- Pages
- Categories
- Blocks
- UI elements
Language Switcher in Umami
A language switcher block has been added to the Umami demo, enhancing its multilingual capabilities and showcasing Drupal's language handling features.
Security Updates
Media Library State Protection
Implemented a tamper-proof hash for the media library state to prevent potential security vulnerabilities related to state manipulation.
Unpublished Media Entity Access
Fixed security issues related to unpublished media entities, ensuring proper access control for owners and users with appropriate permissions.
Performance Improvements
Faster Node Access Checks
Improved performance by making node_node_access() less eager in adding the user cache context, resulting in faster page loads for certain scenarios.
Faster Test Execution on DrupalCI
Optimized test execution on DrupalCI by reorganizing how slow tests are run, resulting in overall faster test completion times.
Entity Storage Performance
Improved entity storage performance by making it use the last installed definitions instead of the ones living in code, which provides better handling of entity type updates and changes.
Impact Summary
Drupal 8.7.0-beta1 represents a significant advancement in Drupal's capabilities, particularly in the areas of API-first architecture and content authoring experience.
The addition of JSON:API as a stable module solidifies Drupal's commitment to API-first development, providing a standardized, robust way to expose Drupal data that follows the JSON:API specification. This enables developers to build decoupled applications with Drupal backends more efficiently and with less custom code.
Layout Builder's promotion to stable status marks the culmination of extensive development and refinement. This visual page building tool now offers production-ready capabilities with improved accessibility, keyboard navigation, and granular permissions. Content editors will benefit from a more intuitive interface with features like live preview toggling and better integration with other Drupal systems like Quick Edit.
The multilingual improvements in the Umami demo showcase Drupal's strong internationalization capabilities, with comprehensive Spanish translations and a language switcher block. These enhancements make Drupal more accessible to non-English speaking users and demonstrate best practices for multilingual site building.
Performance optimizations in node access checks and entity storage will result in faster page loads and better handling of entity type updates. The security improvements, particularly around media library state and unpublished media entity access, strengthen Drupal's already robust security posture.
Overall, this beta release sets the stage for a feature-rich and stable 8.7.0 release that will enhance Drupal's position as a leading CMS for both traditional and API-first web applications.
Statistics:
User Affected:
- Can now use Layout Builder for visual page design with a stable, production-ready interface
- Benefit from improved accessibility in Layout Builder with ARIA group roles and better keyboard navigation
- Can toggle live previews in Layout Builder for easier drag-and-drop functionality
- Have more granular permissions for Layout Builder operations
