Drupal Release: 7.2

Tag Name: 7.2

Release Date: 5/25/2011

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 7.2: Stability and Performance Improvements

Drupal 7.2 brings numerous bug fixes, performance optimizations, and documentation improvements to the Drupal 7 platform. This maintenance release addresses critical issues with multilingual support, OpenID integration, and upgrade paths from Drupal 6. Key improvements include enhanced CSS aggregation, better RTL language support, and fixes for several database-related issues. While there are no major new features, this release significantly improves stability and performance, making it a recommended upgrade for all Drupal 7 sites.

Highlight of the Release

    • Fixed critical bug in field updates for installations upgraded from RC1
    • Improved performance with optimized page caching (30-40% improvement)
    • Enhanced CSS aggregation for better front-end performance
    • Fixed issues with D6 to D7 upgrade paths that were causing data loss
    • Improved RTL language support across multiple modules
    • Better OpenID integration with support for GMP math library

Migration Guide

Drupal 7.2 is a maintenance release that focuses on bug fixes and performance improvements rather than introducing breaking changes. Most sites should be able to update without any special steps beyond the standard update procedure:

  1. Backup your database and files before updating.
  2. Put your site into maintenance mode.
  3. Replace your codebase with the new Drupal 7.2 files.
  4. Run the update script by navigating to /update.php in your browser.

Special Considerations

  • Field Updates: If you upgraded from Drupal 7 RC1 and have deleted fields, this update fixes a critical bug in the field update system. After updating, verify that your field data is intact.

  • Multilingual Sites: Several fixes related to language handling have been included. After updating, you may need to clear caches and review your language configuration settings.

  • Custom Themes: If you have custom themes that implement menu theming, particularly for menus with hyphens in their names, you may need to review your theme implementations.

  • OpenID Integration: If you're using OpenID authentication, this update improves performance by using GMP instead of BCMath when available. No action is required, but you may want to install the GMP PHP extension if it's not already available on your server.

  • Custom Database Schemas: If you've modified database schemas using hook_schema_alter(), particularly for comments, verify that your customizations still work correctly after the update.

Upgrade Recommendations

Recommendation: Upgrade as soon as possible

Drupal 7.2 is a highly recommended upgrade for all Drupal 7 sites. This release contains:

  1. Critical bug fixes for field data handling, particularly for sites upgraded from Drupal 7 RC1
  2. Important fixes for the Drupal 6 to Drupal 7 upgrade path that prevent data loss
  3. Significant performance improvements for page caching and CSS aggregation
  4. Multiple schema fixes that ensure database integrity after upgrades

The update addresses several issues that could cause data loss or corruption, particularly during upgrades from Drupal 6. It also fixes performance regressions and improves multilingual support.

There are no known breaking changes in this release, making it a safe update for most sites. The standard update procedure should be sufficient for most installations.

As always, make a complete backup of your site's files and database before performing the upgrade, and test the update on a staging environment if possible.

Bug Fixes

Drupal 7.2 includes numerous bug fixes across various components:

Critical Fixes

  • Fixed a critical bug where updates were broken for deleted fields in installations upgraded from RC1
  • Fixed D6 to D7 update process that was permanently deleting comment bodies and other data
  • Fixed schema mismatches after upgrading from D6 to D7 in multiple modules (Comment, Block, Node, Poll, System, User)
  • Fixed menu items disappearing after upgrade or manual menu entry

Core System

  • Fixed issue where page caching performance had regressed by 30-40%
  • Fixed issue with #cache not recording the #attached declared in child elements
  • Fixed drupal_render() not rendering 0 when set into #markup property
  • Fixed issue where menu_rebuild() was required to display settings for current theme
  • Fixed issue with hook_menu() being called during module uninstallation

Fields and Content

  • Fixed issue with taxonomy term titles encoding special characters twice
  • Fixed image upload widget not working in IE8
  • Fixed second file upload being displayed when display option is unchecked
  • Fixed issue with required form elements being buggy with #states

Multilingual

  • Fixed issue where theme region names were no longer translated
  • Fixed language switcher block help message
  • Fixed issue where language_count() was never decremented when removing a language
  • Fixed issue with language neutral not being available when there are disabled languages

User Interface

  • Fixed vertical tabs broken in Seven theme for RTL
  • Fixed missing RTL styling for system messages, toolbar, shortcuts, and dashboard
  • Fixed alignment of dashboard block titles
  • Fixed overlay resizing toolbar after closing
  • Fixed select-all checkbox not being added when updating a table with #ajax

Database

  • Fixed EXISTS tests for SQLite and PostgreSQL
  • Fixed issue where the SQLite driver could not update a column to NULL
  • Fixed issue with PostgreSQL passwords containing backslashes

New Features

While Drupal 7.2 is primarily a bug fix and maintenance release, it does include some minor enhancements:

  • Improved OpenID Support: Added support for using the GMP math library instead of BCMath when available, significantly speeding up OpenID authentication.
  • Enhanced Registry Rebuild: Added registry_rebuild() function to update.php to help recover from certain types of registry corruption.
  • Better CSS Gradient Support: Updated CSS to work with newer versions of Opera and IE browsers.
  • Width and Height Attributes: Added width and height attributes to images to improve front-end performance and prevent layout shifts.
  • Improved Token Handling: Fixed support for tokens enclosed in square brackets [ ].

Security Updates

Drupal 7.2 includes a few security hardening measures:

  • Password Field Security: Enhanced security by ensuring password fields are empty on display, preventing potential exposure of sensitive data.

  • Query Comment Safety: Fixed an issue where unsafe query comments were possible via the UI, which could potentially lead to SQL injection in certain configurations.

  • Input Validation: Improved email address validation by trimming user-submitted email addresses before validation, preventing potential bypass of validation rules.

  • OpenID Security: Fixed issues with OpenID discovery to better comply with the specification, improving the security of the authentication process.

While these aren't critical security vulnerabilities, they represent important security hardening measures that help maintain the overall security posture of Drupal sites.

Performance Improvements

Drupal 7.2 includes several significant performance enhancements:

  • Page Caching: Fixed a regression that had reduced page caching performance by 30-40%, restoring optimal caching speeds.

  • CSS Aggregation: Further optimized CSS aggregation regex for better front-end performance.

  • OpenID Authentication: Added support for using the GMP math library instead of BCMath when available, which significantly speeds up OpenID authentication processes.

  • Static Caching: Added static caching for drupal_parse_info_file() to improve performance when reading .info files.

  • Multilanguage Optimization: Improved performance for multilanguage checking on admin/content/node which was previously slow.

  • Bootstrap Optimization: Removed unnecessary drupal_static() calls in _drupal_bootstrap_full() to streamline the bootstrap process.

  • File URI Handling: Optimized file_uri_scheme() function for better performance.

  • Lock System: Improved lock_wait() to wait less time, reducing unnecessary delays.

  • Image Handling: Added width and height attributes to images to improve front-end performance by preventing layout shifts during page load.

Impact Summary

Drupal 7.2 is a maintenance release that delivers substantial improvements to stability, performance, and multilingual support without introducing breaking changes. The most significant impacts include:

Critical Fixes

The release addresses several critical issues that could cause data loss or corruption, particularly during upgrades from Drupal 6 to 7. It fixes schema mismatches in multiple core modules and resolves a critical bug with field updates for installations upgraded from RC1.

Performance Gains

Performance sees notable improvements with a fix for page caching that restores a 30-40% performance gain, optimized CSS aggregation, and faster OpenID authentication through GMP library support.

Multilingual Enhancements

Multilingual sites benefit from extensive RTL styling improvements across multiple modules (toolbar, shortcuts, dashboard, system messages), better language switching, and fixes for language-neutral content handling.

Developer Experience

Developers will appreciate the extensive documentation improvements across numerous API functions and hooks, better token handling, and fixes for database-related issues in SQLite and PostgreSQL.

User Interface Refinements

Several UI issues have been addressed, including fixes for vertical tabs, overlay behavior, and form element styling, resulting in a more consistent and reliable user experience.

This release represents an important step in stabilizing Drupal 7, making it more reliable and performant without requiring significant adaptation from site owners or developers.

Statistics:

File Changed300
Line Additions1,958
Line Deletions1,415
Line Changes3,373
Total Commits247

User Affected:

  • Improved performance with optimized page caching and CSS aggregation
  • Fixed issues with menu items disappearing after upgrades
  • Better multilingual support with fixes for language switching and neutral content
  • Resolved schema mismatches when upgrading from Drupal 6 to 7

Contributors:

webchickdbuytaert