Home

>

Tools

>

Drupal

>

Releases

>

7.0-rc-1

Drupal Release: 7.0-rc-1

Pre Release

Tag Name: 7.0-rc-1

Release Date: 12/1/2010

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.0-rc1 marks a significant milestone in the Drupal 7 development cycle, moving from beta3 to release candidate status. This release includes numerous bug fixes, accessibility improvements, performance optimizations, and API enhancements. Key improvements include better theme rendering, enhanced entity handling, improved multilingual support, and various UI refinements. This release candidate brings Drupal 7 much closer to a stable release, with a focus on polishing existing features rather than adding new functionality.

Highlight of the Release

    • Enhanced entity handling with transaction support for entity delete operations
    • Improved accessibility with ARIA support for autocomplete and better 'Read more' links
    • Better multilingual support with non-default language path prefixing and improved language switching
    • Performance improvements including node type caching and CSS aggregation optimization
    • Improved theme rendering with fixes for Bartik theme and better handling of contextual links
    • Enhanced field API with fixes for multi-value fields and better form handling
    • More robust database handling with improved autoloading and query support

Migration Guide

Upgrading from Drupal 7.0-beta3 to 7.0-rc1

Database Schema Changes

  • New cache_path table may be created during update
  • Field schema changes for taxonomy and file fields with foreign key support

API Changes

  • EntityFieldQuery now supports pager and tablesort queries
  • New hook_entity_changed() allows modules to react to entity changes
  • New hook_menu_get_item_alter() provides a reliable hook that runs before page generation
  • Forms can now specify include files to be loaded for building

Theme Changes

  • Bartik theme has numerous fixes and improvements
  • Theme functions for node links have changed to allow separate rendering of link groups
  • New template variable for outputting HTML HEAD title safely

Configuration Changes

  • The D6 'file_directory_temp' setting now has an upgrade path
  • Admin theme is now applied more consistently across the site via hook_admin_paths()

Multilingual Changes

  • Non-default languages now always have a path prefix
  • Improved language switcher behavior
  • Fixed handling of URLs with disabled languages

For Module Developers

  1. If your module uses EntityFieldQuery, you can now take advantage of pager and tablesort support
  2. If your module handles entities, consider implementing hook_entity_changed() to react to entity changes
  3. Review your form validation if you use #limit_validation_errors with numeric indexes in parents array
  4. If your module extends the FileTransfer class system, the extension system has been improved
  5. If your module uses AJAX, there are new commands and improved control mechanisms available

For Theme Developers

  1. Review Bartik theme changes if your theme is based on it
  2. Check your theme's handling of node links if you render them separately
  3. Consider using the new template variable for HTML HEAD title
  4. Review your RTL styling as improvements have been made in core themes

Upgrade Recommendations

For Sites Running Drupal 7.0-beta3

We strongly recommend upgrading to Drupal 7.0-rc1 as it contains numerous bug fixes, performance improvements, and security enhancements. The upgrade path from beta3 to rc1 is well-tested and should be straightforward.

For Sites Running Drupal 6

If you're planning to upgrade from Drupal 6 to Drupal 7, we recommend waiting for the final 7.0 release rather than upgrading to this release candidate. However, this RC1 release is a good opportunity to begin testing your upgrade process in a development environment.

For New Drupal 7 Sites

If you're starting a new Drupal 7 site, this release candidate is stable enough for development work, but be aware that there may still be changes before the final 7.0 release.

Preparation Steps

  1. Backup your site: Create a complete backup of your database and files
  2. Update contributed modules: Check if your contributed modules have versions compatible with Drupal 7.0-rc1
  3. Test on a staging site: Always test the upgrade on a copy of your site before applying to production
  4. Review the change log: Pay special attention to changes that might affect your custom code

After Upgrading

  • Run update.php to apply any database schema changes
  • Clear all caches
  • Test your site thoroughly, especially custom functionality
  • Check the status report for any warnings or errors

Bug Fixes

Theme and UI Fixes

  • Fixed Bartik's footer not working without scrolling
  • Fixed hard-coded forum colors
  • Fixed bug with poll text overlap in Bartik
  • Fixed block OL indentation issues
  • Fixed context links menu staying visible on top of Overlay content on iOS devices
  • Fixed duplicate ID 'new' in forums breaking XHTML validation
  • Fixed table borders not correctly drawn in Webkit in Seven theme
  • Fixed site name alignment issues when no logo is present

Field and Form Handling

  • Fixed #limit_validation_errors failing when parents array contains numeric indexes
  • Fixed field form not being attachable more than once
  • Fixed wrong order of multi-value file fields when form rebuilt
  • Fixed file field allowed extensions JS broken in Chrome on OS X
  • Fixed missing label for boolean fields when adding content
  • Fixed errors when integrating fieldgroup rows on 'Manage fields' screen

Entity and Data Handling

  • Fixed entity forms not being properly extendable
  • Fixed entity delete operations not using transactions
  • Fixed file field foreign key table being incorrect
  • Fixed taxonomy_field_schema lacking foreign key support
  • Fixed the wrong $entity parameter sometimes being passed to hook_node_load()

Multilingual and Localization

  • Fixed locale module not importing plural forms from compact files
  • Fixed non-localized links in translation table
  • Fixed URLs rewritten with disabled languages

Search Functionality

  • Fixed search not correctly handling large numbers (> maxint)
  • Fixed slashes not working in search
  • Fixed user search not using format_username()

Performance and Caching

  • Fixed CSS aggregation including lots of empty newlines
  • Fixed cache_get_multiple() being inconsistent with cache_get()
  • Fixed system_rebuild_module_data() being called twice on modules page

Other Fixes

  • Fixed drupal_add_js() including settings twice and breaking certain JS files
  • Fixed menu links sometimes not being properly re-parented
  • Fixed maxlength missing on taxonomy tag field causing data truncation
  • Fixed user account tokens in _user_mail_text() being incorrectly sanitized
  • Fixed permissions not shown when module human-readable name conflicts
  • Fixed 'Most recent poll' block not showing links
  • Fixed admin theme being used for adding taxonomy term but not for editing

New Features

Enhanced Entity API

  • Added transaction support for entity delete operations
  • Improved EntityFieldQuery with pager and tablesort query support
  • Added ability for modules to react to changes to an entity with new hook_entity_changed()

Improved Theme System

  • Better handling of node links allowing themes to render one group separately from another
  • Enhanced Bartik theme with numerous fixes for footer, search results, and block styling
  • Added template variable for outputting HTML HEAD title safely

Enhanced Administration Experience

  • Added administration theme support for more paths via hook_admin_paths()
  • Improved module uninstallation with better dependency handling
  • Enhanced update manager with better workflow links and improved reporting

Better Multilingual Support

  • Ensured non-default languages always have a path prefix
  • Fixed URLs rewritten with disabled languages
  • Improved language switcher behavior

Improved AJAX Handling

  • Added AJAX command to invoke simple jQuery methods
  • Enabled finer control for ajax-using modules of the trigger response in the ajax object
  • Fixed CTools AJAX regression for non-form AJAX calls

Security Updates

User Account Security

  • Fixed user account tokens in _user_mail_text() being incorrectly sanitized, preventing potential XSS vulnerabilities

Data Handling Security

  • Added maxlength on taxonomy tag field to prevent data truncation
  • Improved entity delete operations with transaction support for better data integrity
  • Enhanced form validation to prevent potential security issues

Output Sanitization

  • Added template variable for outputting HTML HEAD title safely
  • Fixed title attribute on 'Update notes' link containing HTML tags
  • Improved handling of user-generated content with better sanitization

Performance Improvements

Caching Improvements

  • Added caching for node types, saving approximately 7% in MySQL in sites using memcache for caching backend
  • Fixed system_rebuild_module_data() being called twice on admin/build/modules, reducing unnecessary processing

CSS and JavaScript Optimization

  • Fixed CSS aggregation including lots of empty newlines, reducing bandwidth usage
  • Optimized core images by "smushing" them to reduce file size
  • Improved handling of JavaScript libraries with all .js in /misc now registered as libraries

Database Optimization

  • Made database autoloading more robust, improving performance
  • Added batch processing improvements for better performance on large tables

Form Processing

  • Enhanced form processing with better handling of validation and submission
  • Improved field handling for better performance with multi-value fields

Entity Handling

  • Added transaction support for entity operations, improving data integrity and performance
  • Enhanced EntityFieldQuery with better query support, reducing the need for custom queries

Impact Summary

Drupal 7.0-rc1 represents a significant step toward the stable release of Drupal 7, focusing on bug fixes, performance improvements, and API refinements rather than new features. This release candidate addresses over 100 issues from the previous beta3 release, with particular emphasis on theme improvements, entity handling, multilingual support, and accessibility.

The impact on site administrators is largely positive, with improved UI elements, better module management, and enhanced multilingual support. Developers will benefit from numerous API improvements, particularly in the entity system, field handling, and AJAX functionality. Theme developers will find many fixes in the Bartik theme and better handling of contextual links and node links.

Performance improvements include node type caching and CSS aggregation optimization, which should result in better site performance, especially for sites with many content types or CSS files. Security has been enhanced with better token handling and improved data sanitization.

For most users, this release candidate provides a more stable and polished Drupal 7 experience, addressing many of the rough edges present in the beta releases. The focus on bug fixes and refinements rather than new features indicates that Drupal 7 is nearing its stable release, making this RC a good indicator of what the final 7.0 release will look like.

Site owners and developers should test their sites and modules with this release candidate to ensure compatibility with the upcoming stable release. While there may still be changes before the final 7.0 release, this RC represents a significant milestone in the Drupal 7 development cycle.

Statistics:

File Changed212
Line Additions6,928
Line Deletions2,214
Line Changes9,142
Total Commits162

User Affected:

  • Improved administrative interface with better theme handling and UI refinements
  • Enhanced module management with better dependency handling during uninstallation
  • Better multilingual support with improved language handling and URL prefixing
  • More consistent administrative theme application across the site

Contributors:

webchickdbuytaert