Drupal Release: 6.3

Tag Name: 6.3

Release Date: 7/9/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.3: Maintenance and Performance Update

This release focuses on bug fixes, performance improvements, and security enhancements for Drupal 6. It addresses numerous E_NOTICE warnings, fixes race conditions in node saving, improves menu performance, enhances PostgreSQL compatibility, and upgrades jQuery to version 1.2.6. While there are no major new features, the release significantly improves stability and performance, making it a recommended upgrade for all Drupal 6 sites.

Highlight of the Release

    • Fixed race condition in node saving that caused duplicate key errors on busy sites
    • Upgraded to jQuery 1.2.6 for improved JavaScript performance and bug fixes
    • Optimized search performance by removing unnecessary database joins
    • Improved PostgreSQL compatibility
    • Enhanced menu performance by not localizing inaccessible menu items

Migration Guide

No specific migration steps are required for this maintenance release. Simply update your Drupal 6 installation following the standard update procedure:

  1. Back up your database and site files
  2. Put your site in maintenance mode
  3. Replace your existing Drupal files with the new version, preserving any customizations
  4. Run the update script by navigating to update.php in your browser
  5. Take your site out of maintenance mode

Note that this release includes an improvement that allows users to create settings.php instead of requiring Drupal to do so, making upgrades easier.

Upgrade Recommendations

This release is recommended for all Drupal 6 sites. The performance improvements and bug fixes address several important issues that could affect site stability and security.

Priority: Medium Timing: Update during your next regular maintenance window Preparation: Standard backup procedures are sufficient

The update addresses several race conditions and performance bottlenecks that are particularly important for high-traffic sites. Sites experiencing issues with node saving, menu performance, or PostgreSQL compatibility should prioritize this update.

Bug Fixes

  • Fixed E_NOTICE warnings in various parts of the system:

    • XML-RPC library
    • theme_fieldset()
    • menu.inc (undefined index: attributes)
    • author information block
  • Fixed OpenID 1.0 implementation where trust_root was not set due to an undefined variable

  • Fixed RSS feeds to ensure they validate properly

  • Fixed incorrect parameters in watchdog() calls

  • Fixed file_scan_directory() to properly scan directories named '0'

  • Fixed comment table aliasing in comment_render()'s count query to work properly with db_rewrite_sql()

  • Fixed form API caches not being flushed, which could lead to performance issues

  • Fixed theme .info file reloading when clearing cache

  • Fixed HTML markup issues in help text

  • Fixed l() attributes not being properly updated to Drupal 6 in theme_username()

  • Fixed drupal_write_record() to return objects consistently instead of arrays in some error cases

  • Fixed notification emails for pending user registrations that had blank subject lines

  • Fixed header cell removal when headers use colspans

  • Fixed primary and secondary links not getting the active-trail class

  • Fixed division by zero error when all search weights are set to 0

  • Fixed taxonomy caching issues

  • Fixed text selection via click and drag in IE7 when using Drupal's drag and drop interface

  • Fixed inconsistent node deletion behavior that would leave comments and other related content in the database

  • Fixed taxonomy_get_term_by_name() to use = instead of LIKE in queries, allowing % to be used in free tags

  • Fixed menu_set_active_trail() to properly include all items, improving breadcrumb navigation

  • Fixed 'js' class addition to HTML tag to preserve existing classes

  • Fixed book module to avoid saving data when another user changed the book in the meantime

New Features

No significant new features were added in this maintenance release. Drupal 6.3 focuses on bug fixes, performance improvements, and security enhancements to the existing feature set.

Security Updates

  • Fixed race condition in node saving code that could lead to duplicate key errors on busy sites, improving data integrity

  • Fixed invalid XML-RPC error messages that were exposing HTML tags in the message string

  • Improved handling of strong and em tags to properly support attributes, enhancing security of markup

  • Enhanced node deletion to consistently remove all associated content (comments, ratings, etc.), preventing orphaned data

Performance Improvements

  • Optimized menu performance by not localizing menu items that are not accessible, reducing processing time

  • Improved search speed by removing an unnecessary join in the do_search query

  • Reduced window for error in menu table rebuilding by only emptying the table once we have data to save

  • Upgraded to jQuery 1.2.6, which includes performance improvements for JavaScript operations

  • Avoided calling the full Drupal bootstrap for nonexistent favicon.ico requests, reducing server load

  • Improved PostgreSQL query performance with better handling of DISTINCT ON and ORDER BY expressions

  • Enhanced form API cache handling to prevent performance degradation

  • Optimized node saving code to remove possible race conditions, improving performance on busy sites

Impact Summary

Drupal 6.3 is a maintenance release that focuses on stability, performance, and bug fixes rather than introducing new features. The most significant improvements include fixing a race condition in node saving that affected busy sites, upgrading jQuery to version 1.2.6 for better JavaScript performance, optimizing search queries, and enhancing PostgreSQL compatibility.

For site administrators, this release offers improved stability with fewer PHP notices and warnings, better performance with optimized menu handling, and enhanced security. Developers will benefit from better PostgreSQL compatibility, improved form API cache handling, and fixed drupal_write_record() functionality for NULL values. Content editors will experience fixed text selection issues in IE7 and improved breadcrumb handling.

The performance improvements are particularly notable, with optimizations to menu handling, search queries, and JavaScript operations that should result in better overall site performance. While there are no breaking changes, the numerous bug fixes make this a worthwhile update for all Drupal 6 sites.

Statistics:

File Changed49
Line Additions471
Line Deletions326
Line Changes797
Total Commits66

User Affected:

  • Improved stability with fewer PHP notices and warnings
  • Better performance with optimized menu handling and search queries
  • Enhanced security with fixed race conditions in node saving
  • Improved cache handling for theme files

Contributors:

gobadbuytaert