Drupal Release: 7.61
Tag Name: 7.61
Release Date: 11/8/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 7.61 is a maintenance release that focuses on PHP 7.2 compatibility, fixing several deprecated function warnings and errors. It also includes improvements to form caching, username validation, and file handling. This release is important for sites running or planning to upgrade to PHP 7.2, as it addresses critical compatibility issues that could break functionality.
Highlight of the Release
- Comprehensive PHP 7.2 compatibility improvements
- Configurable form cache expiration to prevent database bloat
- Support for '+' symbol in usernames, enabling email addresses as usernames
- Fixed drag-and-drop functionality in IE11 and Chrome browsers
- Improved HTTP request flexibility with custom Host header support
Migration Guide
No specific migration steps are required for this update. However, if you have custom code that:
- Uses the
each()function - Calls
count()on variables that might not be arrays - Uses
create_function() - Relies on specific behavior of
drupal_http_request()without setting headers
You should review and update your code to ensure compatibility with PHP 7.2 and the changes in this release.
If you've implemented custom drag-and-drop functionality, you may want to test it in IE11 and Chrome with PointerEvents enabled to ensure it benefits from the fixed scroll behavior.
Upgrade Recommendations
This update is highly recommended for all Drupal 7 sites, especially those running on PHP 7.2 or planning to upgrade to PHP 7.2. The PHP 7.2 compatibility fixes are critical for maintaining site functionality on newer PHP versions.
Sites experiencing issues with large cache_form tables should also prioritize this update to take advantage of the configurable form cache expiration.
Follow the standard Drupal update procedure:
- Back up your database and files
- Put the site in maintenance mode
- Update the core files
- Run the update script (update.php)
- Take the site out of maintenance mode
No database schema changes are included in this release, so the update should be straightforward.
Bug Fixes
PHP 7.2 Compatibility Fixes
- Fixed deprecated
each()function usage throughout the codebase - Resolved issues with
count()being called on non-countable variables - Fixed deprecated
create_function()usage - Addressed Archive_Tar incompatibility with PHP 7.2
User Interface Fixes
- Removed undesired drag handle on the first row of default image style effects
- Fixed an issue where dragging the bottom item in sortable lists would cause the page to scroll to the top in IE11, Chrome with PointerEvents enabled, and some Firefox versions
- Fixed PHP7 warning when uploading a user picture
Other Fixes
- Fixed an issue where a theme with a managed_file field and a submit callback would throw an "undefined function" error
- Corrected documentation link at admin/config/media/file-system
- Fixed file validation in
file_save_upload()to properly validate before altering the URI string
New Features
Configurable Form Cache Expiration
Form cache expiration is now configurable, allowing site administrators to mitigate issues with runaway cache_form tables. This helps prevent database bloat and improves overall site performance.
Support for '+' Symbol in Usernames
Drupal now allows the '+' symbol in usernames, which enables the use of email addresses with plus addressing (e.g., [email protected]) as usernames. This improves compatibility with email-based login systems.
Custom Host Header in HTTP Requests
The drupal_http_request() function now allows callers to set a custom Host header, providing more flexibility when making HTTP requests to services that require specific host information.
Security Updates
No specific security fixes are mentioned in this release. Security updates were likely included in the previous releases (7.57, 7.58, and 7.59) that were merged into this version.
Performance Improvements
Form Cache Management
The new configurable form cache expiration helps prevent database bloat by allowing administrators to set appropriate expiration times for form cache entries. This can significantly improve performance on sites with heavy form usage.
Drag and Drop Optimization
Fixed scroll behavior when dragging items in sortable lists, which improves the user experience and performance of administrative interfaces, particularly in IE11 and Chrome browsers with PointerEvents enabled.
Impact Summary
Drupal 7.61 is primarily a compatibility and maintenance release that ensures Drupal 7 sites can continue to function properly on PHP 7.2. The release addresses several PHP 7.2 deprecation warnings and errors that could potentially break site functionality.
The most significant improvements include:
-
PHP 7.2 Compatibility: Fixed multiple deprecated function warnings and errors, ensuring sites can run smoothly on PHP 7.2.
-
Form Cache Management: Added configurable form cache expiration, which helps prevent database bloat - a common issue on busy Drupal 7 sites.
-
Username Flexibility: Added support for the '+' symbol in usernames, enabling email-based usernames with plus addressing.
-
UI Improvements: Fixed drag-and-drop functionality in modern browsers and removed unnecessary UI elements in the image styles interface.
-
HTTP Request Flexibility: Added ability to set custom Host headers in HTTP requests.
This release represents ongoing maintenance of Drupal 7, which remains in security support until November 2023. The changes demonstrate the commitment to keeping Drupal 7 compatible with modern PHP versions while addressing long-standing issues.
Statistics:
User Affected:
- Can now configure form cache expiration to better manage database size
- Will experience fewer issues when running sites on PHP 7.2
- Can allow usernames with '+' symbol, enabling email-based usernames
