Home

>

Tools

>

Drupal

>

Releases

>

6.24

Drupal Release: 6.24

Tag Name: 6.24

Release Date: 2/1/2012

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.24: Documentation Improvements, Bug Fixes, and Performance Enhancements

This release primarily focuses on documentation improvements, bug fixes, and performance enhancements. It addresses numerous documentation issues, fixes several critical bugs that could cause data loss or security vulnerabilities, and includes performance optimizations for taxonomy and database operations. While there are no major new features, the release significantly improves stability, accessibility, and database performance, particularly for sites with large taxonomies or that perform mass user operations.

Highlight of the Release

    • Extensive documentation improvements throughout the codebase
    • Performance optimizations for taxonomy_get_tree() for better handling of large taxonomies
    • Added missing timeout support to drupal_http_request() to prevent hanging on web service requests
    • Fixed critical issues with block visibility that could cause blocks to disappear during updates
    • Added database indexes to improve performance of mass-user operations
    • Improved PHP 5.3 compatibility

Migration Guide

No specific migration steps are required for this update. This is a maintenance release that focuses on bug fixes, documentation improvements, and performance enhancements.

When updating:

  1. Follow the standard Drupal core update procedure:

    • Back up your database and site files
    • Put your site in maintenance mode
    • Replace your existing Drupal core files with the new version
    • Run update.php
    • Take your site out of maintenance mode
  2. Note that if you're updating from a version earlier than 6.22, make sure to review the security advisories and update notes for intermediate versions.

  3. If you're using custom modules that interact with taxonomy, blocks, or user management, test thoroughly after updating as several fixes in these areas might affect custom code behavior.

Upgrade Recommendations

This update is recommended for all Drupal 6 sites as it contains important bug fixes, performance improvements, and documentation enhancements.

Priority: Medium

While this release doesn't contain critical security fixes, it does address several bugs that could cause data loss or unexpected behavior, particularly related to blocks disappearing during updates and issues with taxonomy term handling.

The performance improvements for sites with large taxonomies and those performing mass-user operations make this update particularly valuable for larger Drupal 6 sites.

Sites experiencing issues with blocks disappearing, slow taxonomy operations, or PHP notices/warnings should prioritize this update.

Bug Fixes

  • Block Visibility Issues: Fixed critical issues in _block_rehash(), poll_block(), and aggregator_block() that could cause blocks to disappear when rehashing blocks with users lacking certain permissions.

  • Database and Query Fixes:

    • Fixed lock_acquire() not properly extending expired locks due to misuse of db_query().
    • Fixed blog module query to include all ORDER BY fields for PostgreSQL compatibility.
    • Fixed node revisions sorting to use vid instead of timestamp.
    • Added missing fields to taxonomy queries for PostgreSQL compatibility.
  • User Management:

    • Fixed issue where /user/0/delete was accessible to administrators.
    • Improved user_register_validate() for better PHP 5.3 compatibility.
  • Content Management:

    • Fixed taxonomy term handling to refresh node terms when nodes are updated.
    • Fixed hardcoded body field label in validation error messages.
    • Fixed node_build_filter_query() to consider node revisions when joining on term_data.
  • Other Fixes:

    • Fixed notice in file_create_filename() when ext variable didn't exist.
    • Fixed email validation to reject addresses with dots at the end.
    • Fixed batch processing to prevent batches from running indefinitely.
    • Fixed Drupal.formatPlural() to pass extra arguments for translations.
    • Fixed duplicate paths issue in path_set_alias().
    • Fixed aggregator to properly handle Atom id elements.

New Features

No significant new features were added in this release. This update focuses primarily on documentation improvements, bug fixes, and performance enhancements to existing functionality.

Security Updates

  • Fixed an issue where /user/0/delete was accessible to administrators, which could potentially be exploited.

  • Improved HTTP protocol handling by responding with the HTTP protocol version requested instead of hardcoding the version, enhancing security and compatibility.

  • Added measures to hide the /filter/tips page from search engines to prevent potentially sensitive information from being indexed.

  • Fixed email validation to reject addresses with dots at the end, which could potentially be used for spoofing in some contexts.

Performance Improvements

  • Taxonomy Optimization: Significantly improved taxonomy_get_tree() by building the tree internally instead of recursively, resulting in much better performance for sites with large taxonomies.

  • Database Indexing:

    • Added index for comment_count on node_comment_statistics to avoid full table scans.
    • Backported indexes from Drupal 7 on comments and node_comment_statistics tables to improve performance of mass-user operations.
  • HTTP Request Handling: Added missing timeout support to drupal_http_request() to prevent Drupal from hanging on web service requests.

  • Caching and Locking: Reworked module_rebuild_cache() and system_theme_data() to support locking, preventing data corruption from concurrent requests and fixing issues where themes could get disabled unexpectedly.

Impact Summary

Drupal 6.24 is primarily a maintenance release that focuses on documentation improvements, bug fixes, and performance enhancements rather than introducing new features.

The most significant impacts are:

  1. Improved Stability: Fixes for critical issues that could cause blocks to disappear during updates or when rehashing blocks with users lacking certain permissions.

  2. Performance Enhancements: Significant optimization of taxonomy operations and database queries, particularly beneficial for sites with large taxonomies or that perform mass-user operations.

  3. Better Documentation: Extensive documentation improvements throughout the codebase, making it easier for developers to understand and work with Drupal 6 APIs.

  4. PHP 5.3 Compatibility: Several fixes to improve compatibility with PHP 5.3, including silencing deprecated function warnings.

  5. Accessibility Improvements: Enhanced accessibility of the search form and improved color contrast in the Garland theme.

This release is particularly important for site administrators managing large Drupal 6 sites or those experiencing issues with blocks, taxonomy, or database performance. While not containing major security fixes, the stability and performance improvements make it a recommended update for all Drupal 6 sites.

Statistics:

File Changed43
Line Additions661
Line Deletions278
Line Changes939
Total Commits59

User Affected:

  • Improved stability with fixes for block visibility issues when rehashing blocks
  • Better performance for sites with large taxonomies
  • Enhanced database performance for mass-user operations
  • Fixed issues with concurrent requests that could disable themes
  • More reliable batch processing that won't run indefinitely

Contributors:

gobadbuytaert