Drupal Release: 4.7.0-beta-5
Pre Release
Tag Name: 4.7.0-beta-5
Release Date: 3/2/2006
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 4.7.0-beta-5 is a significant bug fix release that addresses over 100 issues from the previous beta. This update focuses on improving form handling, fixing critical bugs in session management, enhancing PostgreSQL compatibility, and refining the user experience. Key improvements include better error feedback for one-time login links, fixes for blank page issues with menu callbacks, and numerous performance optimizations. This release represents an important step toward stabilizing Drupal 4.7 before the final release.
Highlight of the Release
- Fixed critical issue with one-time login links providing better error feedback
- Resolved blank page issues when menu callbacks generate empty pages
- Improved session handling with reduced race conditions and database overhead
- Enhanced PostgreSQL compatibility with multiple database fixes
- Converted several modules to the new form API for better theming and customization
- Fixed issues with file uploads and replacements in node revisions
- Improved book and forum navigation with cleaner markup and UI enhancements
Migration Guide
This beta release is part of the development cycle toward Drupal 4.7.0 and contains numerous bug fixes and improvements. While there are no major breaking changes requiring specific migration steps, developers should be aware of the following changes:
Form API Changes
Several modules have been converted to use the new Form API, including:
- taxonomy.module (#51871)
- book.module (#50821)
- contact.module (#39135)
If you've customized these forms in your site, you'll need to update your code to work with the new Form API structure.
Database Changes
- Node revision information for files has been moved to a separate table (#31354).
- The database.mysql code is now engine agnostic (#50669).
Session Handling
Session handling has been significantly improved (#44947). If you have custom code that interacts with Drupal's session management, you should test it thoroughly with this release.
Path Handling
Fixed problems with using relative path names (#13148). If you were relying on specific path handling behavior, test your code with this release.
Form Submission
Several forms have been updated to use the new submission model. If you've customized form submission handlers, verify they still work correctly.
Theme Changes
- Book navigation markup has been cleaned up (#46400).
- Forum topic navigation has been updated to match book.module (#46743).
To update to this beta release:
- Back up your database and files
- Replace your existing Drupal files with the new release
- Run update.php to apply any necessary database changes
- Test thoroughly, especially if you have custom modules or themes
Upgrade Recommendations
Who should upgrade?
-
Beta Testers: If you're already running Drupal 4.7.0-beta-4, you should definitely upgrade to beta-5 as it fixes numerous critical bugs and improves overall stability.
-
Developers: If you're developing modules or themes for Drupal 4.7, upgrading to this beta will help you test against the latest API changes and bug fixes.
-
Production Sites: This is still a beta release, so production sites should exercise caution. However, if you're experiencing specific issues that are fixed in this release, upgrading might be beneficial after thorough testing.
Upgrade Priority: Medium-High
This beta-5 release fixes over 100 issues from the previous beta, including several critical bugs in session handling, form processing, and database operations. The improvements in stability and performance make this an important update for anyone testing Drupal 4.7.
Upgrade Steps:
-
Backup: Always create a complete backup of your site files and database before upgrading.
-
Review Changes: Check the full list of changes to see if any affect your custom code or site functionality.
-
Test First: If possible, create a staging environment to test the upgrade before applying to your live site.
-
Update Files: Replace your existing Drupal core files with the new 4.7.0-beta-5 files.
-
Run Update Script: Navigate to
update.phpin your browser and follow the instructions to update your database schema. -
Clear Cache: Clear all caches after the upgrade is complete.
-
Test Functionality: Thoroughly test your site's functionality, especially areas affected by the fixes in this release.
Special Considerations:
-
If you've modified any of the core forms in taxonomy, book, or contact modules, you'll need to update your code as these have been converted to the new Form API.
-
Custom session handling code may need updates due to the significant improvements in session management.
-
Test thoroughly if you use PostgreSQL, as several database-specific fixes are included in this release.
Bug Fixes
-
Login and Authentication:
- Fixed one-time login link to provide adequate feedback for user errors (#35499).
- Made it possible to change passwords when using PHP5 (#46759).
- Fixed password reset functionality for prefetching scenarios (#24398).
- Resolved issues with user login block not being fully themed (#44133).
-
Form Handling:
- Fixed issue where form API data was being saved for user registrations (#46255).
- Resolved problem with comment token (#46227).
- Fixed issue with buttons on GET-forms (#43953).
- Corrected form redirects and destination handling (#51189, #49375, #50772).
-
Content Management:
- Fixed issue where forum node is not updated when stored with "sticky" or "promote to front" checked (#45810).
- Resolved problem with deleting comments (#47045).
- Fixed issue with node-level permissions and forums (#46864).
- Corrected problem with moderated nodes not being indexed (#46933).
- Fixed issue with comment moderation/approval forms (#47705).
- Resolved problem with 'delete the selected posts' operation (#43622, #46627).
-
Navigation and UI:
- Fixed blank page when menu callbacks generate empty pages (#44993).
- Resolved missing breadcrumb for pages using menu_set_location() (#46184).
- Fixed incorrect links (#46827).
- Corrected book navigation divs when book has no child pages (#47098).
- Fixed indentation of messages on IE6 (#50995).
- Resolved mispositioned resizable textarea grippie in Opera (#46797).
-
Database and Performance:
- Fixed PostgreSQL compatibility issues (#45810, #48518, #48616).
- Resolved race condition in session handling (#44947).
- Fixed issue with field 'translation' not having a default value (#42390).
- Corrected problem with system table not being updated when moving modules (#48025).
-
File Handling:
- Fixed problems with using relative path names (#13148).
- Resolved issue with user pictures being deleted after editing user account (#44290).
- Fixed issue with replacing files (#49675).
- Moved node revision information for files to a separate table (#31354).
-
Other Fixes:
- Fixed problem with anonymous user role not being properly initialized (#47344).
- Resolved issue with profile fields being mangled (#49132).
- Fixed issue with setting profile field to hidden not removing it from user edit form (#41509).
- Corrected problem with aggregator destroying certain links (#42068).
- Fixed issue with creating shadow topics in forums (#45850).
- Resolved problem with comment upgrades (#48161).
New Features
- Module Installation Hook: Added a new hook for module installation, allowing modules to perform actions when they are installed (#46422).
- JavaScript Alert for PHP Errors: Added functionality to show JavaScript alerts when PHP errors occur, improving developer debugging (#47510).
- Enhanced Search Box: Improved the search_box() function to be used for non-node searches, increasing flexibility (#44850).
- Better Form Validation: Added the ability to skip option validation for select elements when needed (#39179).
- Improved Debugging Support: Enhanced debugging capabilities for developers (#41870).
- More Flexible Search Results: Made the search results page more flexible and customizable (#51110).
Security Updates
-
Access Control: Fixed incorrect access check in user module (#49476).
-
Session Management: Improved session handling security with reduced race conditions (#44947).
-
Form Validation: Enhanced form validation and submission processes to prevent potential security issues.
-
Link Generation: Prevented unaccessible links from being generated, improving security by not exposing restricted content links (#44298).
-
User Authentication: Fixed issues with one-time login links and password resets, ensuring secure authentication processes (#35499, #24398).
-
Input Validation: Added validation to prevent accepting spaces in certain inputs (#43572).
Performance Improvements
-
Session Handling: Reduced query overhead and database load in session handling, fixing race conditions (#44947).
-
Database Optimizations:
- Improved performance for the active topics block by removing selection of unused columns (#47868).
- Enhanced performance for forum topic read tracking (#47691).
- Made database.mysql engine agnostic for better compatibility (#50669).
-
Memory Usage:
- Reduced locale module memory requirements (#47610).
- Improved code efficiency with removal of array_merge in favor of += operator in multiple places (#46705).
-
Code Efficiency:
- Removed dead code and unused variables in multiple modules (#47066, #48042, #48021, #47999, #48235, #50219).
- Simplified code in various places (#50105).
- Fixed inefficient comment thread coding (#48239).
-
Form Processing:
- Removed POST from poll module for better performance (#48918).
- Improved form handling and submission processes throughout the system.
Impact Summary
Drupal 4.7.0-beta-5 represents a significant step toward a stable Drupal 4.7 release, with over 100 bug fixes and improvements across the system. This update primarily focuses on stability, performance, and user experience enhancements rather than introducing major new features.
The most impactful changes address core functionality issues that affected usability and reliability in previous betas. Critical fixes for session handling reduce database overhead and eliminate race conditions, while improvements to form processing enhance both security and user experience. PostgreSQL compatibility has been significantly improved, making Drupal more reliable across different database platforms.
For developers, the conversion of several key modules to the new Form API provides better theming capabilities and customization options. The code base has also been cleaned up with removal of dead code, unused variables, and performance optimizations throughout.
End users will benefit from improved navigation in books and forums, better error feedback (especially for login issues), and various UI enhancements that make the system more intuitive and responsive. Site administrators will appreciate the fixes for user management, theme administration, and content moderation.
While this is still a beta release and not recommended for production sites without thorough testing, it represents an important milestone in the development cycle, addressing many of the issues reported in earlier betas and providing a more stable foundation for the upcoming release candidates.
Statistics:
User Affected:
- Improved form API handling with better validation and submission processes
- Enhanced PostgreSQL compatibility with multiple database fixes
- Better session handling with reduced race conditions and query overhead
- More consistent error reporting and debugging support
- Cleaner code with removal of dead code and unused variables
