Drupal Release: 6.0-beta-4
Pre Release
Tag Name: 6.0-beta-4
Release Date: 12/5/2007
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.0 Beta 4: Polishing the User Experience
This beta release brings significant improvements to Drupal 6's user interface with the addition of drag-and-drop functionality for taxonomy, book navigation, profile fields, and uploads. Security has been enhanced with CSRF protections and improved string escaping. Performance optimizations reduce cache rebuilding frequency and improve language handling. The release also includes numerous bug fixes for path aliases, RTL language support, and theme compatibility issues, making this a more stable and refined beta as Drupal 6 approaches release candidate status.
Highlight of the Release
- New drag-and-drop interfaces for taxonomy, book navigation, profile fields, and uploads
- Ability to clear all caches with a single action
- Improved RTL language support, completing core theme compatibility
- Enhanced security with CSRF protections and better string escaping
- Performance optimizations for menu rebuilding and language handling
- More consistent button placement and terminology across the system
Migration Guide
Proxy Configuration Changes
- Proxy IP configuration options have been moved from the database to settings.php
- This change was necessary because these settings need to be available before Drupal loads variables from the database
- Update your configuration by moving any proxy settings to your settings.php file
Menu System Changes
- The
MENU_MODIFIABLE_BY_ADMINflag has been removed - Developers should now use
hook_form_alter()to modify menu editing behavior instead of relying on menu API flags
API Changes
module_invoke_all()now supports merging multiple arrays recursively- The PHP format was moved from filter/2 to php/0, which affects custom code that references filter IDs directly
- User autocomplete now returns JSON instead of a pipe-delimited list
Upgrade Recommendations
For Beta Testers
This beta release includes important bug fixes and enhancements that improve stability and user experience. If you're already testing Drupal 6 beta releases, upgrading to Beta 4 is strongly recommended to benefit from these improvements and to help identify any remaining issues before the release candidate.
For Production Sites
As this is still a beta release, it is not recommended for production websites. Continue using Drupal 5.x for production environments until the final release of Drupal 6.0.
Upgrade Notes
When upgrading from previous beta versions:
- Clear all caches after upgrading
- Review any custom code that interacts with the menu system, as some API changes have been made
- If you've implemented custom drag-and-drop interfaces, test them thoroughly as the underlying JavaScript has been updated
- Test multilingual functionality carefully, especially with RTL languages
Bug Fixes
User Interface Fixes
- Fixed teaser splitter behavior to properly respect break type precedence
- Corrected resizable textfields behavior to work properly with teaser splitter
- Fixed broken state of book updates
- Resolved issues with drag-and-drop and resizable textarea conflicts
- Corrected RTL positioning for table drag handler and indentation elements
Path and URL Handling
- Fixed several issues with URL generation and path aliasing
- Corrected handling of path aliases for node paths and front page links in themes
- Fixed domain language negotiation for external URLs
Multilingual Fixes
- Fixed XHTML validity with disabled checkboxes in locales form
- Corrected misuse of CSS inherit in RTL CSS files
- Ensured module version numbers are always displayed LTR
- Fixed user account page language switching issue
Database and Form Handling
- Added explicit accept-charset for forms to avoid browser guessing
- Fixed notice displayed on node form when node has no taxonomy property
- Better targeted user ID setting to prevent auto increment issues with wiped databases
- Fixed SQL error in PostgreSQL queries with double quotes
- Fixed missing brackets around table names in user.admin.inc
New Features
Drag-and-Drop Interfaces
- Taxonomy Management: New drag-and-drop interface for organizing taxonomy terms
- Book Navigation: Drag-and-drop support for arranging book pages in hierarchies
- Profile Fields: Added weights and drag-and-drop ordering for user profile fields
- File Uploads: New drag-and-drop ordering support for uploaded files
Administration Improvements
- Cache Management: New option to clear all caches at once
- Module Administration: Added labels to module names for better usability
- Permission Names: Improved content editing permission names for better clarity
Multilingual Enhancements
- RTL Support: Complete RTL styles for Pushbutton theme, finalizing RTL theme support in Drupal 6 core
- Language Handling: Better domain language negotiation and path alias handling for multilingual sites
Security Updates
Cross-Site Request Forgery Protection
- Added confirm forms for node revision and delete operations to prevent CSRF attacks
Input Validation and Escaping
- Improved string escaping throughout the system
- Fixed XSS vulnerabilities (forward-ported from Drupal 5.1)
- Additional security fixes forward-ported from Drupal 5.2
Performance Improvements
Cache Handling
- Drastically reduced calls to cache clearing when the menu needs to be rebuilt
- Improved cache clearing order: block cache is now cleared before page cache to prevent stale data
- Rebuild caches when displaying the module admin screen to avoid stale data in registries
Language Optimization
- Optimized
_locale_rebuild_js()to no longer run on every page view - Improved handling of language-aware path aliases
Menu System
- Enhanced taxonomy selector forms with improved performance
- Better handling of menu rebuilding to prevent duplicate menu items
Impact Summary
Drupal 6.0 Beta 4 represents a significant step toward release readiness with a focus on user experience refinements and bug fixes. The introduction of drag-and-drop interfaces across multiple core modules (taxonomy, book, profile, and uploads) brings a more intuitive administration experience. Security improvements address CSRF vulnerabilities and enhance string escaping. Performance optimizations reduce unnecessary cache rebuilding and improve language handling efficiency.
The release also makes substantial improvements to multilingual support, particularly for RTL languages, completing core theme compatibility for these languages. Path alias handling and URL generation have been fixed to work properly in various contexts, including multilingual sites.
For developers, the API has been refined with better maintenance theming support, recursive array merging in module_invoke_all(), and clearer guidance on menu system customization. The proxy configuration has been moved to settings.php for earlier availability in the bootstrap process.
Overall, this beta release demonstrates Drupal 6's maturing state with a balance of new features, usability improvements, and critical bug fixes that bring the platform closer to release candidate status.
Statistics:
User Affected:
- Benefit from new drag-and-drop interfaces for taxonomy, book navigation, profile fields, and uploads
- Can now clear all caches with a single action
- More intuitive permission naming for content editing
- Improved module administration interface with better labeling
