Home

>

Tools

>

Drupal

>

Releases

>

7.0-alpha2

Drupal Release: 7.0-alpha2

Pre Release

Tag Name: 7.0-alpha2

Release Date: 2/21/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-alpha2 brings significant improvements to performance, usability, and developer experience. This release includes numerous bug fixes, enhanced RDF support, improved field handling, better accessibility features, and streamlined administrative interfaces. Key updates include optimized caching mechanisms, refined entity APIs, and better upgrade paths for modules. While still in alpha stage, this release represents substantial progress toward a more robust and user-friendly Drupal 7.

Highlight of the Release

    • Enhanced entity API with new hooks for insert/delete/update operations to support caching
    • Improved field handling with ability to restrict fields to specific entity types
    • Better performance through optimized caching and query handling
    • Enhanced accessibility features including ARIA live regions
    • Improved administrative interfaces with better organization and styling
    • Security improvements including password change verification

Migration Guide

Field API Changes

  • If you've built custom field types, note that the ['#field'] meta information has been moved into ['#field_name'] for consistency (#641670)
  • Field API and Entity API terminology has been cleaned up with renamed arguments that may affect custom code (#707724)

Database Layer Changes

  • Prepared statement caching has been removed due to memory usage concerns (#550124)
  • If you were relying on this feature, you may need to adjust your code accordingly

Entity API Updates

  • New entity insert/delete/update hooks have been added to support caching (#684202)
  • Entity type size has been increased (#600490)
  • Review any custom entity implementations to ensure compatibility

JavaScript Updates

  • jQuery Form has been updated (#609622)
  • Farbtastic color picker has been updated (#623292)
  • Toolbar JavaScript has been properly namespaced (#686670)
  • Check any custom JavaScript that interacts with these libraries

Administrative Interface Changes

  • Permissions and roles have been moved to a tab/sub-tab at admin/people (#699842)
  • Dashboard now inserts itself as the default local task on /admin (#652122)
  • If you have custom modules that link to these pages, update your paths accordingly

Upgrade Recommendations

This is an alpha release (7.0-alpha2) and is not recommended for production sites. It's intended for developers and site builders who want to test the latest features and provide feedback on the development of Drupal 7.

If you're currently running Drupal 7.0-alpha1, upgrading to this alpha2 release is recommended for testing purposes as it includes numerous bug fixes and performance improvements. The upgrade path between alpha releases is being actively worked on (#563106) with several fixes specifically targeting upgrade path issues.

For production sites, it's strongly recommended to continue using the stable Drupal 6.x branch until Drupal 7 reaches a release candidate or stable status.

When upgrading from alpha1 to alpha2:

  1. Back up your database and files
  2. Replace your codebase with the new files
  3. Run update.php to apply database changes
  4. Test thoroughly, especially custom modules and themes

Note that some API changes may require updates to custom code, particularly around the Field API, Entity API, and database abstraction layer.

Bug Fixes

Critical Bug Fixes

  • Fixed file and image fields being treated as temporary files and automatically deleted after six hours (#618654)
  • Fixed menu link weight changes when editing a node (#605926)
  • Fixed overlay preventing enabling of other modules at the same time (#658118)
  • Fixed block caching issues for per-role, per-user, per-page configurations (#691938)

Performance-Related Fixes

  • Fixed cron doing a full bootstrap on every page request including cached ones (#566494)
  • Optimized node_access() with static cache to reduce queries (#353595)
  • Improved body-to-field conversion performance (#686128)
  • Removed prepared statement caching which was using excessive memory (#550124)

UI and Usability Fixes

  • Fixed path alias link being below submit button on taxonomy term add (#678590)
  • Fixed radio and checkbox widgets vertical alignment (#672496)
  • Fixed contextual link colors being easily overwritten (#675608)
  • Fixed active items in top level IA not having proper background when overlay is enabled (#663126)
  • Fixed whitespace issue for 'recent content block' in dashboard (#337947)

Form and Data Handling Fixes

  • Fixed OpenID specification compliance issues (#579448)
  • Fixed menu item query strings that could never be deleted once created (#682784)
  • Fixed taxonomy autocomplete escaping (#635356)
  • Fixed error when adding duplicate category to contact form module (#246880)
  • Fixed users being able to contact blocked users (#586664)

New Features

Entity API Enhancements

  • Added entity insert/delete/update hooks to support caching (#684202)
  • Improved entity path callback to handle options (#525622)
  • Increased entity type size for better flexibility (#600490)

Field Improvements

  • Added Field UI for comments (#537750)
  • Allow fields to be restricted to entity types (#680910)
  • Fixed handling for 'Fieldable terms' (#499192)
  • Improved field_attach_query() documentation (#712564)

Archive Handling

  • Added ArchiverZip class to support .zip files in update manager (#693082)
  • Added hook_archiver_info_alter() for extending archive handling capabilities

Administrative Improvements

  • Moved permissions and roles to a tab/sub-tab at admin/people (#699842)
  • Better weight organization for items inside categories on Configuration page (#713388)
  • Dashboard now inserts itself as the default local task on /admin (#652122)

Security Features

  • Added 'current password' field to 'change password form' for security hardening (#86299)
  • Better handling of user passwords in registration emails (#660302)

Security Updates

User Authentication and Authorization

  • Added 'current password' field requirement when changing passwords for better security (#86299)
  • Fixed registration emails to no longer contain passwords in plaintext (#660302)
  • Improved OpenID handling for blocked users (#542180)

Input Sanitization

  • Fixed sanitization of user-supplied block titles to prevent potential XSS issues (#688100)
  • Improved escaping in taxonomy autocomplete to prevent potential injection (#635356)

Access Control

  • Fixed IP blocking test that incorrectly checked for existence of blocked IP (#687716)
  • Fixed incorrect menu argument for IP address blocking (#678504)
  • Removed unnecessary access check from aggregator_categorize_items() (#687578)

Error Handling

  • Moved error/exception handler higher up in the bootstrap process for better security (#325169)
  • Improved handling of exceptions in shutdown functions (#710142)

Performance Improvements

Query Optimization

  • Added static cache to node_access() to reduce queries on default installations (#353595)
  • Optimized node_tag_new() function (#667152)
  • Reordered code to avoid unnecessary query in _node_revision_access() (#684646)

Caching Improvements

  • Fixed cron doing a full bootstrap on every page request, improving cached page performance (#566494)
  • Removed prepared statement caching which was using excessive memory without tangible performance benefits (#550124)
  • Optimized field_modules_disabled() for better performance (#700194)

Field System Optimization

  • Significantly improved body-to-field conversion performance which was previously unacceptably slow (#686128)
  • Optimized theme('field') function and improved its usage for comment body (#652246)

Code Efficiency

  • Removed dead static variable from _cache_get_object() (#706138)
  • Cleaned up code now that drupal_alter has caching (#619566)
  • Removed dead code in various places (#482346)

Impact Summary

Drupal 7.0-alpha2 represents a significant step forward in the development of Drupal 7, with over 12,000 code changes across 258 files. This release focuses on stabilizing core APIs, improving performance, enhancing the user interface, and fixing critical bugs.

The most impactful changes include performance optimizations for caching and field handling, enhanced entity APIs with new hooks for better integration, improved accessibility features, and numerous bug fixes for issues that affected usability and data integrity.

For developers, the refinements to the Field API and Entity API provide more consistent and powerful tools for building complex sites. The improved documentation throughout the codebase will help with understanding and extending Drupal's functionality.

For site administrators, the reorganized administrative interfaces and enhanced dashboard functionality make the system more intuitive to use. The overlay system has been improved to better respect keyboard handlers and maintain proper styling.

For content editors, fixes to file handling, menu links, and taxonomy terms address several pain points that existed in the previous alpha release.

While still an alpha release with known issues, 7.0-alpha2 demonstrates substantial progress toward a more robust, performant, and user-friendly Drupal 7.

Statistics:

File Changed258
Line Additions7,435
Line Deletions4,995
Line Changes12,430
Total Commits250

User Affected:

  • Improved administrative interfaces with better tab organization and weights
  • Enhanced dashboard functionality with better block positioning and styling
  • Relocated permissions and roles to a tab/sub-tab at admin/people for better organization
  • Improved overlay behavior that respects key handlers and maintains active styling
  • Better error handling and reporting throughout the system

Contributors:

dbuytaertwebchick