Drupal Release: 7.0-beta2
Pre Release
Tag Name: 7.0-beta2
Release Date: 10/23/2010
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.0-beta2 brings significant improvements to the upcoming Drupal 7 release with over 5,800 changes across 169 files. This beta focuses on UI refinements, accessibility enhancements, performance optimizations, and critical bug fixes. Key improvements include better RTL language support, enhanced theme functionality in Bartik and Seven themes, improved field management, and important fixes for language handling. The release also introduces Gzip compression for aggregated CSS/JS files and strengthens security with better filter format handling.
Highlight of the Release
- Added Gzip compression for aggregated CSS and JavaScript files for better performance
- Improved accessibility with better color contrast, identifying icons, and form element titles
- Fixed critical issues with field handling, particularly for file/image fields and taxonomy terms
- Enhanced RTL language support across the interface, especially in Bartik theme and vertical tabs
- Better security with improved filter format handling and stream wrapper hardening
- Improved multilingual support with fixes for language switcher and translation handling
- Added more granular field theming with new template suggestions
Migration Guide
This beta release continues to refine Drupal 7 and doesn't introduce major breaking changes that would require specific migration steps beyond what's already documented for Drupal 7.
However, developers should note:
-
PHP Version Requirement: Drupal 7 requires PHP 5.2.4 or higher (initially bumped to 5.2.5 but reverted).
-
Filter Format Changes: The filter format system has undergone security improvements. If you've built custom modules that interact with text formats, test thoroughly.
-
Field Display Settings: The way field display settings are handled has been improved. If you've built custom field formatters, ensure they implement
hook_field_formatter_settings_form()correctly. -
Entity API Changes: With the addition of
hook_entity_delete(), ensure your custom entity implementations properly handle all CRUD operations. -
Machine Names: Machine name validation has been improved. If you're creating custom machine names, ensure they follow the proper validation patterns.
-
Menu Callback Changes: There's now an upgrade path for the MENU_CALLBACK API change. Review any custom menu items that use this type.
-
Profile Module: The Profile module is now hidden on new sites to resolve conflicts with fieldable users UI. Consider using Field API for user profiles instead.
Upgrade Recommendations
As this is a beta release, it's not recommended for production sites. This release is intended for testing and development purposes only.
For developers and site builders who are already testing Drupal 7:
- Upgrading from 7.0-beta1 to 7.0-beta2 is recommended to test the latest improvements and fixes.
- Pay special attention to testing multilingual functionality, field display settings, and file/image field handling, as these areas saw significant fixes.
- Theme developers should test both LTR and RTL language support, especially if using Bartik or Seven themes.
- Module developers should review the API changes, particularly around entity handling, token system, and field formatters.
If you encounter issues, please report them on Drupal.org to help improve the final release of Drupal 7.
For production sites, continue using Drupal 6 until the final release of Drupal 7 is available.
Bug Fixes
-
Critical Field Issues:
- Fixed autocomplete term widget not returning any values due to unknown 'vid' key
- Fixed issues with removing files from multivalued file/image fields
- Fixed formatter settings changes not being reflected in the UI
-
UI and Theme Fixes:
- Fixed SimpleTest selection form markup and styling
- Fixed dashboard having two admin pages with the same name
- Fixed vertical tabs markup to restore RTL support
- Fixed Bartik tabs broken in IE6, 7 and RTL layouts
- Fixed Bartik's contact form styling
- Fixed thousands of red Xs appearing on field UI error
-
Language and Translation Issues:
- Fixed translation links linking to unpublished translations
- Fixed session language switcher links not reporting active status correctly
- Fixed 'tnid' value being lost when resaving nodes
- Fixed missing node translation links when no language detection is configured
-
Menu and Path Issues:
- Fixed sorting in tableselect if #weight is not set
- Fixed saving shortcuts from admin screen with path aliases
- Fixed inability to uncheck rows in tableselect default_value
-
Entity and Field Management:
- Fixed EntityFieldQuery orderBy methods defaulting incorrectly
- Fixed issues with field display settings when configuring view modes
- Fixed modules having no way of knowing if vocabulary machine names changed
-
System Issues:
- Fixed module system choosing 6.x over 7.x versions incorrectly
- Fixed system records of installed modules being removed
- Fixed PHP notice in menu settings page
- Fixed blank page in install script for PHP 5.1
-
Other Fixes:
- Fixed user edit title incorrectly showing currently logged in user
- Fixed no upgrade path for MENU_CALLBACK API change
- Fixed fatal error with Default picture when set
- Fixed memory issues in taxonomy_get_tree()
- Fixed ambiguous column name in certain database systems
- Fixed node delete not cleaning up node_access table
New Features
-
Gzip Compression for Assets: Added Gzip compression for aggregated CSS and JavaScript files, significantly improving page load performance.
-
Enhanced Token System: Added
hook_token_alter()allowing modules to modify token values before they're used. -
More Granular Field Theming: Added field type template suggestions for more precise control over field display in themes.
-
Entity API Improvements: Added
hook_entity_delete()for consistency with other entity CRUD operations. -
Telephone Protocol Support: Added support for the 'tel:' protocol in URLs, allowing proper linking to phone numbers.
-
Improved AJAX Framework: Links can now fully participate in Drupal 7's AJAX framework features.
-
Better Debug Messages: Enhanced
debug()function to provide more usable debugging information. -
Session Optimization: Sessions that haven't changed are no longer written to the database, improving performance.
Security Updates
-
Filter Format Security: Improved security handling of text formats by changing format storage and tightening access controls.
-
Stream Wrapper Hardening: Enhanced security by defaulting stream wrappers as remote, preventing potential security vulnerabilities.
-
Settings.php Permissions: Changed error about file permissions on settings.php during install to a warning instead, improving security guidance.
-
Protocol Filtering: Maintained strict protocol filtering while adding support for the 'tel:' protocol through
drupal_strip_dangerous_protocols(). -
Database Security: Fixed various database-related issues that could potentially lead to security vulnerabilities, including handling of MergeQuery exceptions.
Performance Improvements
-
Gzip Compression: Added Gzip compression for aggregated CSS and JavaScript files, significantly reducing file sizes and improving page load times.
-
Session Optimization: Implemented a check to avoid writing unchanged sessions to the database, reducing unnecessary database operations.
-
Taxonomy Performance: Fixed memory issues in
taxonomy_get_tree()function, allowing for better handling of large taxonomy vocabularies. -
Filter/Format Caching: Added caching for filter and format queries to reduce database load.
-
Image Optimization: Optimized Bartik theme images to make them smaller in size, improving page load performance.
-
AJAX Performance: Fixed issues with AJAX behaviors being called with empty settings on second AJAX call, improving AJAX interaction performance.
-
Database Query Optimization: Various improvements to database queries, including fixes for MergeQuery to prevent regressions.
Impact Summary
Drupal 7.0-beta2 represents a significant step forward in the Drupal 7 development cycle, with over 5,800 changes across 169 files. This release focuses on stabilizing core functionality, improving the user interface, enhancing accessibility, and fixing critical bugs.
The most impactful changes include:
-
Performance Optimizations: The addition of Gzip compression for aggregated CSS/JS files will significantly improve page load times. Combined with session optimization and better caching, sites should see noticeable performance improvements.
-
Accessibility Enhancements: Numerous accessibility improvements make Drupal 7 more inclusive, including better color contrast, identifying icons in status reports, and proper form element titles.
-
Multilingual Improvements: Fixed critical issues with RTL support, language switching, and translation handling, making Drupal 7 more robust for multilingual sites.
-
Field System Stabilization: Critical fixes for file/image fields, taxonomy terms, and field display settings make the Field API more reliable and user-friendly.
-
Theme Enhancements: Improvements to Bartik and Seven themes, including fixes for IE compatibility, RTL support, and styling issues, provide a better out-of-the-box experience.
-
Developer API Refinements: New hooks, better documentation, and improved consistency in APIs make Drupal 7 more developer-friendly and extensible.
-
Security Hardening: Improvements to filter formats, stream wrappers, and database handling strengthen Drupal 7's security foundation.
This beta release demonstrates Drupal 7's maturing state, addressing many critical issues while adding performance and accessibility improvements that benefit all users.
Statistics:
User Affected:
- Improved dashboard interface with fixed styling issues and better block management
- Enhanced accessibility with better color contrast and identifying icons in status reports
- Fixed shortcut management when using path aliases
- Better handling of user account pages and permissions
