Drupal Release: 8.6.0-beta1
Pre Release
Tag Name: 8.6.0-beta1
Release Date: 8/3/2018
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.6.0-beta1 marks a significant milestone with several modules moving from experimental to stable status, including Migrate Drupal, Migrate Drupal UI, and Media Library. This release introduces key improvements to the Layout Builder, Media Library, and Workspaces modules, along with a new experimental multilingual migration module. It also adds taxonomy term publishing status, non-reusable custom blocks, and enhanced testing capabilities with Nightwatch. Performance improvements for MySQL 8 support and numerous bug fixes round out this feature-rich beta release.
Highlight of the Release
- Media Library module promoted to beta status with improved upload capabilities
- Layout Builder now offers opt-in functionality per display (entity type/bundle/view mode)
- Taxonomy terms now have publishing status controls
- Custom blocks can be set as non-reusable with context-based access restrictions
- Migrate Drupal and Migrate Drupal UI modules are now stable
- New experimental migrate_drupal_multilingual module for multilingual migrations
- MySQL 8 support added
- Nightwatch testing framework integration for JavaScript tests
Migration Guide
Upgrading to Drupal 8.6.0-beta1
Module Name Changes
- The experimental "workspace" module has been renamed to "workspaces". If you were using the alpha version, you'll need to uninstall the old module before enabling the new one.
API Changes
ConfigEntityTypeInterface::getPropertiesToExport()now throws an exception instead of returning NULL. Update any code that expects a NULL return value.- The BC layer for EntityContextDefinition in ContextDefinition has been completed. Review any code that uses these classes.
FieldItemList::equals()has been enhanced to check for changes beyond storage perspective. This might affect code that relies on the previous behavior.
Layout Builder Changes
- Layout Builder is now opt-in per display (entity type/bundle/view mode). If you were using Layout Builder in alpha, you'll need to explicitly enable it for your displays.
- Custom blocks can now be set as non-reusable with access restrictions based on usage context. Review any custom block implementations.
Migration System Changes
- Migrate Drupal and Migrate Drupal UI modules are now stable. Review any custom migrations for compatibility.
- If you're using multilingual migrations, consider using the new experimental migrate_drupal_multilingual module.
JavaScript Changes
- Several JavaScript codestyle changes have been implemented (implicit-arrow-linebreak, operator-linebreak). Review any custom JavaScript that might be affected.
Testing Framework Changes
- Many tests have been converted from WebTest to BrowserTestBase or JavascriptTestBase. If you have custom tests extending these classes, you may need to update them.
- InstallerTestBase is now deprecated. Convert any tests using it to BrowserTestBase.
- Nightwatch commands for login/logout have been added. Consider using these for JavaScript-based tests.
Upgrade Recommendations
This is a beta release (8.6.0-beta1) and is not recommended for production sites. It's intended for testing and development purposes to identify any issues before the stable 8.6.0 release.
Who should upgrade:
- Developers and site builders who want to test new features
- Module maintainers who need to ensure compatibility with Drupal 8.6
- Contributors who want to help identify and fix bugs before the stable release
When to upgrade:
- For testing environments: You can upgrade now to help test the beta
- For development environments: Consider upgrading if you need the new features
- For production environments: Wait for the stable 8.6.0 release
How to prepare:
- Create a complete backup of your site before upgrading
- Test the upgrade on a staging environment first
- Check if any contributed modules you use are compatible with Drupal 8.6
- Review the migration guide for any changes that might affect your custom code
- Pay special attention to Layout Builder changes if you're using that module
- Test thoroughly after upgrading, especially any custom code or contributed modules
If you encounter any issues during testing, please report them in the Drupal issue queue to help improve the stable release.
Bug Fixes
Core Bug Fixes
- Fixed sub-optimal DX in MigrateFieldInterface
- Fixed ConfigEntityTypeInterface::getPropertiesToExport to throw exception instead of returning NULL
- Fixed issue where local tasks were not shown after enabling module
- Fixed inability to save language negotiation settings after upgrade
- Fixed BC layer for EntityContextDefinition in ContextDefinition
- Fixed unnecessary space in queries generated by Select::__toString()
- Fixed FieldItemList::equals to properly check for changes beyond storage perspective
Media Module Fixes
- Fixed issue with Media CSS library when Media Entity 1.x is being used
- Fixed MediaTypeForm to type hint PluginManagerInterface instead of MediaSourceManager
- Fixed creating media with the media library upload for unlimited cardinality
Migration Fixes
- Fixed reuse option in FileCopy migrate process plugin for remote files
- Added logging when migration plugins skip rows due to missing destinations
- Added logging when block_visibility plugin skips rows
- Added logging when menu_link_parent plugin skips rows
UI and Theming Fixes
- Fixed margin on form-items in table rows in Seven theme
- Fixed variable name comment_parent in comment.html.twig (should be parent_comment)
- Improved display settings in Demo Umami's card view modes
- Improved display settings in Demo Umami's Article and Recipe full page view modes
- Improved the front page title of Umami Demo
New Features
Media Library Improvements
- Media Library module promoted from alpha to beta status
- New field widget for the Media Library module
- Media upload capabilities directly from the Media Library field widget
- Redirect back to media list after creating a media entity
Layout Builder Enhancements
- Layout Builder can now be enabled per display (entity type/bundle/view mode)
- Ability to control "extra fields" with Layout Builder
- Non-reusable custom blocks with access restrictions based on usage context
Content Management Improvements
- Publishing status added to taxonomy terms
- Fieldset/vertical tab for URL alias fields
- Content Moderation adopted in Umami demo profile
Migration Enhancements
- Migrate Drupal and Migrate Drupal UI modules marked as stable
- New experimental migrate_drupal_multilingual module
- Migration support for Drupal 7 node entity translations
- Migration support for Drupal 7 title field data
- Dynamic alteration of config names for config mappers
Testing Framework Improvements
- Nightwatch commands for login/logout testing
- Conversion of many web tests to browser tests and JavaScript tests
Security Updates
Security Testing Improvements
- Added unit tests for SA002 and SA004 security advisories, improving the ability to detect and prevent similar security issues in the future
No specific security vulnerabilities were fixed in this release. The focus was on improving testing coverage for existing security measures rather than addressing new security issues.
Performance Improvements
Database Performance
- Added support for MySQL 8, improving compatibility and performance with the latest MySQL version
- Fixed unnecessary space in queries generated by Select::__toString(), which improves query efficiency
Migration Performance
- Improved FileCopy migrate process plugin to work better with remote files, reducing unnecessary file operations
- Better logging in migration plugins helps identify and resolve performance bottlenecks
JavaScript Performance
- Improved JavaScript code style with better arrow function linebreaks and operator linebreaks, leading to more efficient code execution
Entity System Improvements
- Enhanced FieldItemList::equals() to be more efficient when checking for changes beyond storage perspective
- Moved menu_ui_menu_* entity hook implementations to the Menu entity for better organization and performance
Impact Summary
Drupal 8.6.0-beta1 represents a significant step forward in Drupal's evolution, particularly in the areas of content management, media handling, and migration capabilities. The promotion of several experimental modules to stable or beta status (Migrate Drupal, Migrate Drupal UI, and Media Library) signals their maturity and readiness for broader adoption.
The Layout Builder improvements provide more granular control over layouts at the display level, making it more flexible and powerful for site builders. The addition of non-reusable custom blocks enhances content management workflows by allowing context-specific blocks that don't clutter the block library.
For multilingual sites, the new experimental migrate_drupal_multilingual module and improved migration of Drupal 7 entity translations address long-standing challenges in migrating complex multilingual content structures.
The addition of publishing status to taxonomy terms brings them in line with other content entities, providing more consistent content workflows across different entity types.
From a technical perspective, MySQL 8 support ensures compatibility with modern database environments, while the extensive test conversions to BrowserTestBase and the addition of Nightwatch commands strengthen Drupal's testing infrastructure.
Overall, this beta release demonstrates Drupal's continued focus on improving content authoring experiences, enhancing migration paths from older versions, and maintaining technical excellence through comprehensive testing and modern database support.
Statistics:
User Affected:
- Can now use Layout Builder as an opt-in feature per display (entity type/bundle/view mode)
- Can create non-reusable custom blocks with access restrictions based on usage context
- Benefit from improved Media Library with upload capabilities and better UX
- Can use the new publishing status feature for taxonomy terms
- Have access to stable Migrate Drupal and Migrate Drupal UI modules
