Home

>

Tools

>

Drupal

>

Releases

>

6.16

Drupal Release: 6.16

Tag Name: 6.16

Release Date: 3/4/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 6.16 is a maintenance release that addresses numerous bugs and improves system stability. It introduces a locking framework for long-running operations, fixes SQL compatibility issues, improves memory management, and enhances theme handling. This release is important for maintaining site stability and security, particularly for sites using PostgreSQL databases or experiencing issues with memory leaks during bulk operations.

Highlight of the Release

    • Added a locking framework for long-running operations like menu rebuilding and locale cache
    • Fixed SQL compatibility issues for PostgreSQL users
    • Improved memory management when deleting multiple nodes
    • Enhanced theme handling with better class assignment and preprocess function execution
    • Fixed issues with path alias ordering and OpenID URL handling

Migration Guide

No specific migration steps are required for this update. This is a maintenance release that fixes bugs and improves performance without introducing breaking changes.

However, developers should note:

  1. The jQuery @disabled selector was deprecated in jQuery 1.2 and should no longer be used
  2. Replace any instances of drupal_to_js() with drupal_json() for proper JSON handling
  3. If you've implemented custom code that interacts with the locale module's JavaScript translation handling, be aware of the changes to error handling in this area

Upgrade Recommendations

This update is recommended for all Drupal 6 sites. While it doesn't contain security fixes, it addresses numerous bugs that could affect site stability and performance.

The update is particularly important for:

  • Sites using PostgreSQL databases
  • Sites that perform bulk operations like mass node deletion
  • Multilingual sites using the locale module
  • Sites experiencing memory issues during certain operations

As with any Drupal update, make sure to:

  1. Back up your database and files before updating
  2. Test the update on a staging environment if possible
  3. Run update.php after applying the code changes

Bug Fixes

SQL and Database Fixes

  • Fixed PHP notice when mass-unpublishing or deleting comments, and corrected form validation redirect
  • Resolved issues with SQL rewrites adding DISTINCT clauses
  • Reworked comment ordering subquery to be SQL standards (and PostgreSQL) compatible
  • Fixed db_field_set_default() to include type check on default value for non-NULL fields

Path and URL Handling

  • Fixed drupal_lookup_path() to respect path alias ordering when older aliases are retained
  • OpenID URLs containing fragment identifiers are now properly stripped
  • Fixed issues with :: in .info files that caused fatal errors

Memory and Performance Improvements

  • Prevented node_delete() from 'leaking' memory via node_load() caching when multiple nodes are deleted
  • Reduced memory usage of update module by only saving necessary attributes from .info files
  • Significantly improved initial loading speed of user admin page when no filters are used

Module-Specific Fixes

  • Fixed locale module's inability to recover from a lost JavaScript translation file
  • Added missing comment link altering from comment listing views
  • Ensured locale module variables are properly uninstalled when the module is removed
  • Fixed taxonomy_get_term() and taxonomy_vocabulary_load() to properly restore their internal caches
  • Fixed forum_load() to load the correct forum term ID for forum nodes

Other Fixes

  • Added missing Adobe Flash MIME types to the MIME listing
  • Re-enabled form rebuilds when a button of #type button is used
  • Fixed empty paragraph handling in _filter_autop()
  • Fixed node_save() to prevent broken data with certain database configurations when log messages are not included

New Features

Locking Framework for Long-Running Operations

A new locking framework has been added to solve issues with rebuilding menus and the locale cache. This framework helps prevent conflicts when multiple processes attempt to perform the same long-running operation simultaneously.

Improved Theme Handling

  • Both 'first' and 'last' CSS classes are now added to single menu items, providing better styling control
  • Themes in the profiles directory are now properly discovered during installation
  • Theme preprocess functions in include files now run correctly for tpl.php files in themes

Security Updates

No specific security fixes were mentioned in this release. However, as with any Drupal update, it's recommended to apply this update to ensure your site has the latest bug fixes and improvements that could indirectly affect security.

Performance Improvements

Memory Usage Optimization

  • Reduced memory usage during bulk node deletion operations by preventing memory leaks in node_load() caching
  • Optimized update module to save only necessary attributes from .info files, reducing memory consumption

Query Performance

  • Significantly improved the initial loading speed of the user admin page when no filters are applied
  • Enhanced SQL query efficiency for comment ordering, benefiting all database systems but especially PostgreSQL

Processing Efficiency

  • Removed unnecessary watchdog messages when JavaScript files are parsed by the locale module
  • Improved handling of path aliases with better respect for ordering, reducing lookup overhead

Impact Summary

Drupal 6.16 is primarily a bug fix and performance improvement release that enhances stability across various parts of the system. The introduction of a locking framework for long-running operations is particularly significant as it helps prevent conflicts during critical tasks like menu rebuilding.

PostgreSQL users will benefit from improved SQL compatibility, addressing long-standing issues with comment ordering and other database operations. Memory management improvements will help sites that perform bulk operations like mass node deletion, preventing memory leaks that could previously cause problems.

Theme developers gain better control with proper class assignment for menu items and improved handling of preprocess functions. The fixes for path alias ordering and OpenID URL handling improve the overall robustness of the system.

While this release doesn't introduce major new features, the cumulative effect of these bug fixes and performance improvements makes it a worthwhile update for all Drupal 6 sites, particularly those experiencing issues in the areas addressed.

Statistics:

File Changed37
Line Additions711
Line Deletions198
Line Changes909
Total Commits38

User Affected:

  • Benefit from improved stability during bulk operations like mass comment deletion
  • Can now use the new locking framework for long-running operations
  • Will experience fewer memory leaks when deleting multiple nodes
  • Will see faster loading of the user admin page when no filters are applied

Contributors:

gobadbuytaert