Home

>

Tools

>

Drupal

>

Releases

>

6.0-rc-2

Drupal Release: 6.0-rc-2

Pre Release

Tag Name: 6.0-rc-2

Release Date: 1/10/2008

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 6 RC2 brings numerous bug fixes and improvements to the upcoming Drupal 6 release. This release candidate addresses over 80 issues, focusing primarily on fixing notices, warnings, and bugs across various modules. Key improvements include menu system fixes, language handling enhancements, search functionality improvements, and better handling of the default files directory. This release also includes important security-related fixes for user login under maintenance mode and proper data escaping. While primarily a bug-fix release, RC2 represents significant progress toward a stable Drupal 6.0.

Highlight of the Release

    • Fixed menu system with proper breadcrumbs and title handling
    • Improved language handling with dropdown selection for 5+ languages
    • Enhanced security with proper user login restrictions and data escaping
    • Default files directory now at sites/default/files for easier installation
    • Fixed teaser splitter in both JavaScript and non-JavaScript modes
    • Added browser cache busting for CSS/JS files on core/module/theme upgrades
    • Improved update notifications including alerts for revoked/unsupported releases
    • Fixed numerous E_NOTICE and E_WARNING issues across multiple modules

Migration Guide

Upgrading to Drupal 6 RC2

Before Upgrading

  1. Backup your database and files: Always create a complete backup of your site before upgrading.
  2. Check PHP memory requirements: Drupal 6 has increased PHP memory requirements. Ensure your server has sufficient memory allocated (#197720).
  3. Review the changes: Particularly note the default files directory change to sites/default/files.

During Upgrade

  1. Database updates: Run update.php after replacing your codebase with the RC2 files.
  2. Check for module compatibility: Ensure all contributed modules are compatible with Drupal 6.

After Upgrading

  1. Menu system: If you've customized menus, verify that breadcrumbs and titles display correctly after the menu inheritance fixes.
  2. File system: If you were using a custom files directory path, you may need to update your settings.
  3. Language settings: If you use multiple languages, review your language settings, especially if you have more than 5 languages or use domain-based language negotiation.
  4. Theme templates: If you've customized theme templates for comments or books, review them for compatibility with the template changes.
  5. Clear caches: Clear all caches to ensure the new CSS/JS cache busting feature works properly.

Special Notes

  1. Actions module: If upgrading from Drupal 5 with a previous actions installation, the old actions table will be preserved (#208542).
  2. Forum module: If you've disabled and re-enabled the forum module, verify that forum node types are correctly associated with the forum vocabulary.
  3. Book module: The book upgrade process has been fixed, but verify your book structure after upgrading.

Upgrade Recommendations

Who Should Upgrade

  • Drupal 6 RC1 users: All users of Drupal 6 RC1 should upgrade to RC2 as it contains numerous bug fixes and improvements.
  • Testers and developers: Anyone testing Drupal 6 for compatibility with modules or themes should use RC2 for the most accurate testing environment.
  • Early adopters: Sites already running Drupal 6 RC1 in production (though not recommended) should upgrade to improve stability.

Who Should Wait

  • Production Drupal 5 sites: Production sites should generally wait for the final Drupal 6.0 release unless they are specifically affected by issues fixed in RC2.
  • Sites with custom code: If you have heavily customized Drupal 5 code, wait for the final release and test thoroughly in a development environment first.

Upgrade Priority

Medium-High: This release candidate fixes over 80 issues including important security-related fixes, menu system improvements, and critical bug fixes. While it's still a release candidate (not final), the improvements are substantial enough to warrant upgrading for testing environments and early adopters.

Preparation Steps

  1. Review the PHP memory requirements for Drupal 6
  2. Test the upgrade on a development copy of your site first
  3. Ensure all contributed modules have Drupal 6 compatible versions
  4. Pay special attention to the default files directory change if you have custom file handling
  5. Allow extra time for testing menu functionality, language settings, and search features after upgrading

Bug Fixes

Menu System Fixes

  • Fixed menu inheritance issues (#203509)
  • Fixed broken breadcrumbs (#176748)
  • Fixed menu title arguments storage when empty (#206510)
  • Fixed node type names having underscores converted to hyphens in node/add links (#206670)
  • Fixed menu_valid_path() location, moved from menu.module to menu.inc (#205843)

Language Handling Fixes

  • Fixed domain language negotiation when comparing with current host (#202925)
  • Fixed language direction translation in the overview
  • Fixed language content type settings namespace issues (#206021)
  • Fixed handling of disabled languages in language lookup logic (#205602)
  • Fixed default value for mode radio button in locale import (#204872)

Search Module Fixes

  • Fixed leftover links not being properly removed in the reindexing process (#205199)
  • Fixed search result normalization calculation (#205795)
  • Fixed short term searches returning wrong results (#205920)

Form and AHAH Fixes

  • Fixed AHAH callbacks for regular buttons (#201017)
  • Fixed poll AHAH problem with caching (#202078)
  • Fixed theme settings form that relied on _POST[] and stored irrelevant formapi keys (#200777)
  • Fixed textarea.js assumption that #disabled fields are to be hidden (#204756)

Node and Content Fixes

  • Fixed node revision view page load arguments (#202895)
  • Fixed teaser splitter in both JavaScript and non-JavaScript modes (#201667)
  • Fixed upload form ordering and delete buttons on preview (#173656)

Comment and Forum Fixes

  • Fixed comment templates not checking status properly (#199809)
  • Fixed forum node type not being re-added to forum vocabulary when re-enabled (#199373)
  • Fixed forum delete confirm form message (#206820)

Book Module Fixes

  • Fixed book block throwing notice when used on non-book-node page (#205075)
  • Fixed book.js removal issue (#181125)
  • Fixed book upgrade process (#208492)

User Module Fixes

  • Fixed user_external_login() to match latest login process (#152497)
  • Fixed user_save() to abort on SQL errors to avoid data corruption (#204705)

Poll Module Fixes

  • Fixed access check and warning in poll module (#204996)
  • Fixed poll bar theme default value handling (#204996)

Other Fixes

  • Fixed trigger associations not being removed when deleting an advanced action (#203941)
  • Fixed path aliases not being allowed as default home page (#204344)
  • Fixed db_set_active() not consistently returning previous active database name (#168315)
  • Fixed numerous E_NOTICE and E_WARNING issues across multiple modules

New Features

Default Files Directory Change

The default files directory has been moved to sites/default/files, which can be created automatically during installation. This makes the installation process easier as users no longer need to be prompted about creating this directory (#194369).

Browser Cache Busting for CSS/JS

A short query string is now appended to CSS and JS files, changing on upgrades. This ensures that when core, modules, or themes are upgraded, browser caches will effectively "flush" the old versions (#199946).

Update Module Enhancements

The update module now informs users when their current release becomes revoked or unsupported, improving security awareness for site administrators (#197186).

Improved Language Selection

When more than 5 languages are available, the system now uses a dropdown selection instead of a radio button list, improving usability for multilingual sites (#205334).

Support for Subqueries

The db_rewrite_sql() function now supports subqueries, which is critical as Drupal core itself now uses subqueries in various places (#151910).

Security Updates

User Login Restrictions

  • Fixed user login under maintenance mode to prevent unauthorized access. Users without site configuration permission can no longer log in during maintenance mode (#50901).

Data Escaping

  • Fixed user-provided data in menu titles to use check_plain() instead of t() for proper escaping (#206272).
  • Fixed some incorrect use of %s for table name escaping and implemented better security checks (#198856).

Error Handling

  • Improved error display to show actual PHP error messages instead of generic 'HTTP error 200' messages when PHP errors occur (#201141).

Update Notifications

  • Enhanced update.module to inform users when their current release becomes revoked or unsupported, improving security awareness (#197186).

SQL Error Handling

  • Modified drupal_write_record() to properly return FALSE on query failure, preventing potential data corruption (#207170).
  • Improved user_save() to abort on SQL errors, preventing potential data corruption (#204705).

Performance Improvements

Search Performance

  • Improved search result normalization calculation (#205795)
  • Fixed short term searches that were returning incorrect results (#205920)

Menu Performance

  • Removed duplicate query from menu_enable() (#207372)
  • Improved menu_rebuild() handling after maintenance mode to prevent stale data (#202955)

Database Performance

  • Added support for subqueries in db_rewrite_sql(), which improves performance for complex queries (#151910)
  • Fixed improper type maps for numeric and char values in schema API (#198234)

Caching Improvements

  • Added browser cache busting for CSS and JS files by appending a short query string that changes on upgrades (#199946)
  • Improved locale() in-memory reset clearing to help with performance in certain scenarios (#206232)

UI Performance

  • Fixed a dozen issues with sticky table headers to improve table rendering performance (#194590)

Impact Summary

Drupal 6 RC2 represents a significant step toward a stable Drupal 6.0 release, with over 80 issues addressed. The primary impact is improved stability and security across multiple core systems.

The menu system has received substantial attention, with fixes for breadcrumbs, title handling, and inheritance issues that previously caused inconsistent navigation experiences. Language handling improvements make multilingual sites more usable, particularly with the new dropdown selection for sites with many languages.

Security has been enhanced through proper user login restrictions under maintenance mode and better data escaping in menu titles. The update module now properly alerts administrators about revoked or unsupported releases, improving overall site security awareness.

For developers, the addition of subquery support in db_rewrite_sql() and fixes to drupal_write_record() provide more reliable API functionality. The browser cache busting feature for CSS and JS files will ensure users get fresh assets after upgrades without manual cache clearing.

Content editors will benefit from the fixed teaser splitter, improved upload handling, and better forum functionality. End users will experience more consistent message displays and improved search results.

The default files directory change to sites/default/files simplifies installation and improves the out-of-box experience for new Drupal users. While primarily a bug-fix release, these collective improvements significantly enhance Drupal's usability, security, and stability.

Statistics:

File Changed117
Line Additions2,049
Line Deletions1,845
Line Changes3,894
Total Commits130

User Affected:

  • Improved menu system with fixed breadcrumbs and title handling
  • Better language handling with dropdown selection for 5+ languages
  • Enhanced security with proper user login restrictions under maintenance mode
  • Improved file handling with default files directory now at sites/default/files
  • Better update notifications including alerts for revoked/unsupported releases

Contributors:

gobadbuytaert