Drupal Release: 7.0-unstable-8
Pre Release
Tag Name: 7.0-unstable-8
Release Date: 7/23/2009
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 7.0-unstable-8 is a significant development release with numerous improvements to the core system. This update includes major enhancements like jQuery UI integration, image manipulation capabilities, a new administration toolbar, and extensive Field API improvements. It also contains hundreds of bug fixes, documentation updates, and performance optimizations that strengthen Drupal's foundation. This release represents important progress toward a more robust, developer-friendly, and user-friendly Drupal 7.
Highlight of the Release
- Added jQuery UI 1.7.2 to core, providing a rich set of UI components and interactions
- Introduced image effects and actions system for image manipulation (resize, scale, crop, etc.)
- Added new administration toolbar for improved navigation
- Enhanced Field API with better query support and more granular theming
- Improved database abstraction with new features like cache_get_multiple() and INSERT INTO...SELECT FROM support
- Added per-content type visibility settings for blocks
- Improved comment form and preview functionality
Migration Guide
Deprecated Functions and APIs
- hook_perm() has been renamed to hook_permission()
- user_admin_perm() has been renamed to user_admin_permission()
- hook_validate has been removed in favor of Form API validation
- db_placeholders() and db_affected_rows() have been removed
- Multiple tid and depth handling for core taxonomy paths has been removed
Path Changes
- URL aliases management moved from admin/build/path to admin/config/search/path
- Admin paths have been reorganized:
- admin/site-building is now admin/structure
- Various taxonomy administration pages have moved
- Comment administration is now on a tab
Field API Changes
- Field cardinality storage has been updated
- field_attach_query() has been redesigned
- 'exclude from' display setting has been removed
- Build modes have been overhauled and extended
Theme Changes
- Added name/type as CSS class for form elements
- More granular theming of drupal_render()ed elements
- Added new 'html_top' region
- Added a region at the top of the page above the header region
Other Changes
- Drupal.settings is now reset after loading AHAH response data
- drupal_attributes() has been enhanced for multiple valued attributes
- Form IDs/classes have been cleaned up
Upgrade Recommendations
This is an unstable development release (7.0-unstable-8) and is not recommended for production sites. It contains significant API changes and new features that are still being refined.
For Developers
If you're actively developing for Drupal 7, this release provides important updates to test against. You should:
- Update any custom modules that use hook_perm() to use hook_permission() instead
- Review your database queries to ensure compatibility with the enhanced database abstraction layer
- Test any image-related functionality with the new image effects system
- Update any code that relies on deprecated functions or APIs
For Site Owners
This release is only appropriate for:
- Development environments
- Testing and evaluation purposes
- Contributing to Drupal 7 development
Wait for a stable release before upgrading production sites from Drupal 6.
Testing Recommendation
If you do install this release for testing, thoroughly test all custom and contributed modules, especially those that:
- Interact with the database layer
- Modify or display images
- Use the Field API
- Implement custom theming
Bug Fixes
Database and Performance Issues
- Fixed issues with the database abstraction layer in various modules
- Fixed session handling code for better performance and reliability
- Fixed path_node_delete() which could leave abandoned URL aliases
- Added md5 as a function to SQLite to prevent fatal errors
- Fixed taxonomy_form_vocabulary which always returned an error
Form and UI Fixes
- Fixed CSS preventing 'Add new comment' link from displaying in Garland
- Fixed JS Clean URL test to remove phantom redirects
- Fixed notice in PHP 5.3 with renderable arrays
- Fixed text_field_sanitize() error
- Fixed broken links to taxonomy administration pages
- Fixed headers sent by the image module
Comment System Improvements
- Fixed comment links when paging is used
- Fixed issues with comment validate/save logic
- Removed collapsed comments feature and related code
Documentation and Help Text
- Fixed corrupted sentence in documentation for hook_user()
- Fixed documentation error in node.tpl.php
- Corrected and improved documentation for hook_mail_alter()
- Fixed typos in various documentation files
- Improved help texts throughout the system
Other Fixes
- Fixed merge problems and conflicts from previous patches
- Fixed issues with format_date()
- Fixed regression in run-tests.sh
- Fixed context bug in translation system
- Fixed case-sensitivity issue in file_get_mimetype()
- Fixed issues with system.install incorrectly assuming ANON and AUTH RID are always sequential
New Features
jQuery UI Integration
jQuery UI 1.7.2 has been added to core, providing a rich set of UI components and interactions for developers to use in their modules and themes.
Image Manipulation System
A new image effects and actions system has been added, allowing for image manipulation operations like resize, scale, crop, rotate, and grayscale. This includes a UI similar to the previous ImageCache contributed module.
Administration Toolbar
A new administration toolbar has been added to improve navigation through the Drupal administration interface.
Enhanced File Handling
New file transport mechanisms have been added to core, paving the way for a plugin manager system. This includes improvements to file transfer capabilities.
Library Registration
Added ability for modules to register JavaScript and CSS libraries, making it easier to manage and reuse assets.
Improved Caching
New cache_get_multiple() function allows retrieving multiple cache items at once, and clearing multiple cache IDs simultaneously.
jQuery Cookie Library
Added jQuery cookie library to core for improved client-side cookie handling.
Advanced Database Features
Added support for INSERT INTO...SELECT FROM queries and improved sub-select functionality.
HTML Top Region
Added 'html_top' region for placing elements at the top of the HTML document, used by the admin toolbar.
Security Updates
No specific security fixes were mentioned in the commit messages for this release. However, there were some improvements that could indirectly enhance security:
- Hardened user login by correctly using the form API
- Improved session handling code
- Added better validation for various form submissions
- Improved database abstraction layer with better query handling and sanitization
Performance Improvements
Caching Improvements
- Added cache_get_multiple() function to retrieve multiple cache items at once
- Added ability to clear multiple cache IDs simultaneously
- Improved CSS caching by only clearing the cache when submitting the form, not when displaying it
- Converted comment module to drupal_static caching for better performance
- Added better tests for field caching
Database Optimizations
- Improved indices on comment table for better query performance
- Added option to ignore slave servers in certain situations
- Improved database abstraction layer with better query handling
- Added support for INSERT INTO...SELECT FROM queries for more efficient data operations
Function Performance
- Improved performance of t() function
- Faster implementation of format_date()
- Optimized drupal_function_exists() for better speed
- Moved various rebuild functions to module page submission rather than viewing for vastly increased performance
Memory Usage
- Enabled PHP's garbage collector on systems where it might be disabled
- Removed unnecessary code and functions to reduce memory footprint
Impact Summary
Drupal 7.0-unstable-8 represents a significant step forward in Drupal's evolution with major improvements to core functionality. The addition of jQuery UI and the image manipulation system brings powerful new capabilities directly to core, reducing dependency on contributed modules. The new administration toolbar and improved navigation enhance the user experience for site administrators.
For developers, this release offers substantial improvements to the database abstraction layer, Field API, and theming system. The introduction of library registration and enhanced file handling provides better infrastructure for module development. Performance optimizations in caching and database operations should result in faster sites.
The large number of bug fixes and documentation improvements indicates a maturing codebase, though as an unstable release, there may still be significant changes before the final Drupal 7 release. The path changes and API updates require attention from module developers to ensure compatibility.
Overall, this release demonstrates Drupal's commitment to improving developer experience, site performance, and user interface while maintaining the flexibility and power that makes Drupal a leading CMS platform.
Statistics:
User Affected:
- Benefit from new jQuery UI 1.7.2 integration and jQuery cookie library
- Can use new image effects and actions API for image manipulation
- Improved database abstraction layer with new features like cache_get_multiple() and INSERT INTO...SELECT FROM support
- Enhanced Field API with better query support and more granular theming options
- New file transport mechanisms and transfer system improvements
