Drupal Release: 8.8.0-rc1
Pre Release
Tag Name: 8.8.0-rc1
Release Date: 11/22/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.8.0-rc1 introduces significant architectural changes with the new path_alias module, improves the Media Library interface, updates browser compatibility, fixes translation caching issues, and includes various bug fixes and performance improvements. This release candidate represents the stabilization phase before the final 8.8.0 release, focusing on polishing features and addressing critical issues.
Highlight of the Release
- Introduction of the new required path_alias module that centralizes path alias functionality
- Improved Media Library interface with better handling of image fields and 'Add media' button behavior
- Updated browserslist configuration for better cross-browser compatibility
- Fixed JS asset cache clearing for translations to ensure new translations are loaded immediately
- Updated to the latest Symfony version for improved performance and security
Migration Guide
Path Alias Module Migration
The path alias functionality has been moved to a new required module called path_alias. This module will be automatically enabled during the update process. For backward compatibility, deprecated path alias services are temporarily maintained, but developers should update their code to use the new services.
Steps for developers:
- Review any custom code that interacts with path aliases
- Update service references to use the new services in the path_alias module
- Remove usages of deprecated path alias services
Media Library Changes
If you have custom code that interacts with the Media Library interface, particularly around the "Add media" button or image field handling, you should test your code with this release to ensure compatibility with the new implementation approach.
Browser Compatibility
If you have custom themes or JavaScript that targets specific browsers, review the updated browserslist configuration to ensure your code remains compatible.
Upgrade Recommendations
This is a release candidate (RC1) for Drupal 8.8.0, which means it's approaching stability but is not yet recommended for production sites. It's ideal for:
- Testing environments where you can verify your site's compatibility with the upcoming 8.8.0 release
- Development environments where you want to start adapting to the new path_alias architecture
- Staging environments to identify any potential issues before the final release
Wait for the final 8.8.0 release before upgrading production sites unless you have a specific need for the fixes in this RC and are prepared to handle any remaining issues.
When upgrading:
- Back up your database and files
- Update your codebase to 8.8.0-rc1
- Run the update script (update.php)
- Test thoroughly, especially functionality related to path aliases and media library
- Clear caches to ensure all changes take effect
Bug Fixes
Translation and Internationalization
- Fixed an issue where updating translations did not clear the JS asset cache, preventing new translations from loading
- Improved RTL language support by fixing additional space when viewing recipe instructions
URL and Path Handling
- Fixed
UrlHelper::parse()to properly support external URLs with more than one question mark - Fixed issues with paths in RSS views based on fields
- Fixed parent property processing in TermForm when the form element is disabled
Media Library
- Removed references to non-existent CSS file
media_library.theme.css - Fixed the Media Library widget "Add media" button incorrectly submitting form handlers of forms it is embedded in
Other Fixes
- Fixed PHP 7.1 warning in
template_preprocess_pager()when encountering non-numeric values - Fixed ResourceIdentifier ignoring field aliases which caused empty
$relatable_resource_typesfield - Fixed NumericItemBase not setting minimum value constraint if minimum value is zero
- Removed code that incorrectly tries to use
_raw_variablesfor route argument resolution - Fixed data attribute 'layout-content-preview-placeholder-label' existing outside Layout Builder UI
New Features
New Path Alias Module
The path alias functionality has been moved to a new dedicated and required path_alias module. This architectural change improves code organization by centralizing all path alias related code in one place.
Media Library Improvements
- The Media Library add form now properly suppresses extraneous components of image fields using form alters instead of CSS
- Fixed the "Add media" button behavior to prevent incorrect form submissions when embedded in other forms
Browser Compatibility Updates
The browserslist configuration has been updated to ensure better cross-browser compatibility and support for modern browsers.
Improved Error Messages
EntityDefinitionUpdateManager now shows field names when fields have no label, improving the developer experience when working with entity updates.
Security Updates
No specific security fixes were mentioned in the commit messages for this release candidate. However, updating to the latest Symfony version may include security improvements as part of the dependency update.
Performance Improvements
Cache Busting Improvements
CKEditor stylesheets now use system.css_js_query_string for cache busting, providing a more consistent approach to cache invalidation across the system.
CSS Structure Optimization
The Claro theme's CSS directory structure has been simplified, which should lead to better maintainability and potentially improved CSS loading performance.
Translation Cache Handling
Fixed JS asset cache clearing for translations, ensuring that updated translations are loaded immediately without requiring manual cache clearing.
Impact Summary
Drupal 8.8.0-rc1 represents a significant step toward the final 8.8.0 release with architectural improvements and bug fixes. The most impactful change is the introduction of the new required path_alias module, which centralizes all path alias functionality. This change improves code organization but requires developers to update their code that interacts with path aliases.
The Media Library interface has been improved with better handling of image fields and fixed "Add media" button behavior, enhancing the content editing experience. Translation handling has been improved by fixing JS asset cache clearing, ensuring that updated translations are loaded immediately.
Browser compatibility has been enhanced with updated browserslist configuration, and various bug fixes address issues with URL parsing, form handling, and RTL language support. The update to the latest Symfony version brings in improvements from that ecosystem.
For developers, there are several important changes to be aware of, including deprecated path alias services, improved error messages in EntityDefinitionUpdateManager, and fixes for various edge cases in core functionality. Theme developers will benefit from simplified CSS structure in the Claro theme and improved cache busting for CKEditor stylesheets.
Overall, this release candidate focuses on stabilization and refinement of features, preparing for a solid 8.8.0 final release.
Statistics:
User Affected:
- Need to be aware of the new path_alias module which is now required
- Will benefit from improved Media Library interface with better image field handling
- Will see improved browser compatibility with updated browserslist configuration
