Drupal Release: 6.20
Tag Name: 6.20
Release Date: 12/15/2010
DrupalHighly 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.20 Release Overview
This maintenance release for Drupal 6 includes numerous documentation improvements, bug fixes, and minor enhancements. Key improvements include better search engine indexing permissions in robots.txt, fixes for theme inheritance in sub-themes, hidden module handling, and enhanced multilingual support. The release also addresses several issues with database handling, caching, and file processing that improve overall stability and performance.
Highlight of the Release
- Improved robots.txt to allow search engines to index content in /sites/ directories
- Fixed theme settings inheritance for sub-themes
- Added configurable syslog identity through the user interface
- Added support for tel: protocol in filter_xss_bad_protocols()
- Improved handling of multilingual content and translations
- Fixed CSS optimization for files with non-UTF-8 characters
Migration Guide
This is a maintenance release with no major architectural changes requiring special migration steps. Standard update procedures apply:
- Back up your database and site files
- Put your site into maintenance mode
- Update your codebase to Drupal 6.20
- Run the update script (update.php)
- Take your site out of maintenance mode
Note that if you're upgrading from Drupal 5, this release includes a fix (#767408) that addresses semaphore site creation issues during the upgrade process.
Upgrade Recommendations
All Drupal 6 sites should upgrade to this version to benefit from the numerous bug fixes and improvements. This is a maintenance release with no known breaking changes, making it a low-risk upgrade that improves stability, documentation, and adds several minor enhancements.
Sites experiencing issues with theme inheritance, multilingual content, CSS optimization with special characters, or search relevance will particularly benefit from this upgrade.
As always, test the upgrade on a staging environment before applying to production.
Bug Fixes
- Theme Inheritance: Fixed issue where theme settings forms were not properly inherited by sub-themes (#481142)
- Module Display: Hidden modules (typically included for testing) are now properly hidden on the modules page (#764548)
- Caching: Fixed notice in cache.inc when $user->cache is not defined (#698248)
- Path Lookup: Fixed drupal_lookup_path() to always return FALSE if the source was not found, not just for subsequent calls (#829968)
- HTTP Requests: Modified system_check_http_request() to not follow redirections since only basic HTTP request functionality needs verification (#245990)
- Multilingual Content:
- Fixed issue where published status wasn't respected for translation links (#366768)
- Improved handling of language source URLs (#971400)
- Fixed retention of translation node ID (tnid) values for new nodes (#357785)
- Menu Handling: Fixed notice in menu rebuild process (#809616)
- Forum Module: Fixed case where non-forum taxonomy terms might get incorrectly selected as forum topic terms (#422218)
- Search Relevance: Fixed calculation failure when last_comment_timestamp is NULL (#488166)
- CSS Optimization: Fixed issue where CSS files with non-UTF-8 characters broke CSS optimization (#881132)
- File Processing: Fixed file identification bug with image file processing on Microsoft IIS (#307636)
- Schema Handling:
- Added fallback to empty array if hook_schema is not defined for a module (#280930)
- Improved handling of invalid hook_schema() results by casting them to arrays (#287647)
- Upgrade Path: Fixed site creation semaphore issues when upgrading from Drupal 5 (#767408)
New Features
- Configurable Syslog Identity: The syslog identity is now configurable through the user interface instead of being hardcoded to 'drupal' (#881540)
- Search Engine Indexing: Modified robots.txt to give search engine crawlers permission to index content in /sites/* directories, such as uploaded images (#494462)
- Tel Protocol Support: Added support for the increasingly popular tel: protocol in filter_xss_bad_protocols() (#931304)
- Database Collation Control: Added the ability to specify default collation for database tables, which previously depended entirely on database configuration (#772678)
Security Updates
- No major security fixes were explicitly mentioned in this release. However, several improvements to input validation, entity handling, and protocol filtering contribute to overall system security.
Performance Improvements
- Module and Theme Data: Implemented prevention of multiple, parallel rebuilding of module and theme data, which reduces unnecessary processing (#147000, later rolled back due to installation issues)
- Unicode Entity Handling: Improved support for unicode entities with more complete handling in decode_entities() (#212130)
Impact Summary
Drupal 6.20 is primarily a maintenance release that focuses on documentation improvements, bug fixes, and minor enhancements rather than major new features. The changes improve stability and usability across several areas of the system.
The most notable improvements include better search engine indexing through robots.txt modifications, fixed theme inheritance for sub-themes, configurable syslog identity, and enhanced multilingual support. Several long-standing bugs related to database handling, caching, and file processing have been addressed.
Developers will benefit from significantly improved API documentation across many functions, while site administrators gain better control over system logging and search engine indexing. The release also includes important fixes for CSS optimization and unicode entity handling that improve compatibility with non-ASCII content.
Overall, this is a solid maintenance release that improves stability without introducing breaking changes, making it a recommended upgrade for all Drupal 6 sites.
Statistics:
User Affected:
- Improved robots.txt configuration allows better search engine indexing of content in /sites/ directories
- Configurable syslog identity through the user interface instead of hardcoded values
- Hidden modules are now properly hidden from the modules page
- Better handling of multilingual content and translations
