WordPress Release: 2.2.0
Tag Name: 2.2.0
Release Date: 5/15/2007
WordPressWorld's most popular open-source content management system powering over 40% of all websites. Offers extensive plugin ecosystem, themes, and robust community support for blogs, e-commerce, and corporate websites. Highly customizable and scalable platform suitable for beginners and advanced developers.
TL;DR
WordPress 2.2 "Getz" introduces a major new feature with native widget support, allowing users to customize their sidebars without editing code. This release also includes numerous performance improvements, bug fixes, and enhancements to the admin interface. The filter system has been optimized to reduce bottlenecks, and several security improvements have been implemented. WordPress 2.2 represents a significant step forward in making the platform more user-friendly while maintaining its flexibility for developers.
Highlight of the Release
- Native widget support for customizing sidebars without editing code
- Performance improvements to the filter system reducing bottlenecks
- TinyMCE editor upgraded to version 2.1.0
- Dynamic comment list refreshing when comments are deleted or marked as spam
- New 'Deactivate All Plugins' feature for troubleshooting
- Improved feed titles showing more relevant information
Migration Guide
Upgrading to WordPress 2.2
-
Back up your database and files before upgrading.
-
Widget Plugin Users: If you were using the Widgets plugin from Automattic, it will be automatically deactivated as widgets are now part of the core. Your existing widget settings will be preserved.
-
Theme Developers: If your theme doesn't already support widgets, you'll need to add the following code to your sidebar.php file to enable widget support:
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
<!-- Your default sidebar content here -->
<?php endif; ?>
-
Plugin Developers:
- The filter system has been optimized. If you were relying on specific behavior of the filter system, test your plugins thoroughly.
- New hooks are available, including
get_sidebaraction andthe_meta_keyfilter. - The
url_to_postidfilter has been added for URL handling.
-
Configuration Constants: WordPress now supports
WP_HOMEandWP_SITEURLconstants in wp-config.php, which will override the database settings for these values. -
Language Files: Language files have been moved from wp-includes/languages to wp-content/languages. Update your wp-config.php if you're using a non-English installation.
Upgrade Recommendations
Recommended for all users: WordPress 2.2 includes significant performance improvements and security enhancements that benefit all users. The new widget functionality makes WordPress more accessible to non-technical users who want to customize their sites.
Priority: Medium to High
Timing:
- For personal blogs and small sites: Upgrade at your convenience, but it's recommended to do so within a month.
- For larger sites or those with custom themes/plugins: Test the upgrade in a staging environment first to ensure compatibility with your customizations.
Preparation:
- Back up your database and files completely before upgrading
- Check if your plugins are compatible with WordPress 2.2
- If you have a heavily customized theme, review the widget implementation requirements
- Set aside time to test your site functionality after the upgrade
The widget functionality alone makes this upgrade worthwhile for most users, and the performance improvements will benefit sites of all sizes.
Bug Fixes
Comment Management Fixes
- Dynamic comment list refreshing when a comment is deleted or marked as spam
- Fixed encoding of categories added over AJAX
- Improved handling of comments awaiting moderation for their authors
Admin Interface Fixes
- Fixed rich editing checkbox on user-edit page to prevent settings from being reset
- Fixed inline uploader page links
- Fixed double header when WP importer file upload fails
- Fixed WebKit browser compatibility for TinyMCE editor
Permalink and URL Handling
- Fixed fancy permalinks on draft previews
- Fixed URL handling in add_query_arg() to properly encode values
- Fixed robots.txt to be served with the correct content type (text/plain)
Internationalization Fixes
- Added fallback to English for TinyMCE if requested locale is not available
- Fixed gettext's plural forms for more than 2 plural forms
- Improved translation support throughout the application
Other Fixes
- Fixed wp_title() to correctly display months
- Fixed empty list output in various functions
- Fixed non-object error when wp_die() is called before $wp object is instantiated
- Fixed double encoding of gzip output if gzip is already set in php.ini
- Fixed handling of PHP 5.2.2 compatibility issues
New Features
Native Widget Support
WordPress 2.2 introduces built-in widget support, allowing users to customize their sidebars without editing code. This feature was previously available only through a plugin. The core now includes several default widgets:
- Categories (with dropdown option)
- Archives (with dropdown option)
- Pages
- Calendar
- Recent Posts
- Recent Comments
- Search
- Text
- RSS
Deactivate All Plugins
A new "Deactivate All Plugins" feature has been added to help troubleshoot plugin conflicts and issues. This provides a quick way to disable all active plugins at once.
Enhanced Feed Titles
Feed titles now show more relevant information, including the current category, date, and other contextual information, making feeds more descriptive and useful.
Widget Support in Default Themes
Both default themes (Default and Classic) now include widget support out of the box, making it easier for users to take advantage of the new widget functionality.
Security Updates
Input Validation and Sanitization
- Improved URL sanitization with additional int casts and clean_url calls
- Better handling of HTTP methods, including returning 405 status code when wp-comments-post.php is requested with GET instead of POST
Nonce Implementation
- Added nonces to importers for better security
- Added nonce to avoid "Are You Sure" dialog when restoring image header
Output Escaping
- Improved attribute escaping in the OPML feed title
- Better escaping throughout the widgets interface
Performance Improvements
Filter System Optimization
Major performance improvements have been made to the filter system, addressing bottlenecks found using xdebug and kcachegrind. The merge_filters() function was being called over 1000 times in some cases, and this has been optimized.
Category Listing Speed Improvements
The category hierarchy is now cached, making category listing significantly faster. This improves performance throughout the admin interface and on the frontend when displaying category lists.
Reduced Database Queries
- Speed improvements to
wp_list_authors()by consolidating database queries - Optimized option retrieval by calling
get_option('siteurl')outside loops to save dozens of redundant calls
Admin Interface Performance
- Improved write page loading speed by converting most buttons to an image map
- Removed slow-loading iframe in favor of a popup link in certain admin screens
Impact Summary
WordPress 2.2 "Getz" represents a significant step forward in WordPress's evolution, particularly in making the platform more accessible to non-technical users through the introduction of native widget support. This feature allows users to customize their sidebars without touching code, democratizing site customization.
Performance improvements are another major highlight of this release. The optimization of the filter system addresses bottlenecks that were affecting site speed, and the caching of category hierarchies improves performance throughout the application. These changes will be particularly noticeable on larger sites with complex themes and many plugins.
For developers, WordPress 2.2 offers new hooks and filters, enhancing the platform's extensibility. The addition of the widget API opens up new possibilities for plugin developers to create sidebar tools that users can easily implement.
Security has also been improved with better input validation, sanitization, and the implementation of nonces in various parts of the application. These changes help protect WordPress sites from common vulnerabilities.
The upgrade to TinyMCE 2.1.0 enhances the content creation experience, while improvements to comment management make moderation more efficient. The new "Deactivate All Plugins" feature simplifies troubleshooting, which will be appreciated by administrators and support professionals.
Overall, WordPress 2.2 balances user-facing improvements with under-the-hood enhancements that strengthen the platform's foundation, making it more robust, user-friendly, and performant.
Statistics:
User Affected:
- Can now customize sidebars using widgets without editing code
- Improved comment management with dynamic comment list refreshing
- Better feed titles showing more relevant information (current category, date, etc.)
- Enhanced post editing experience with improved TinyMCE editor
