WordPress Release: 2.6.0

Tag Name: 2.6.0

Release Date: 7/15/2008

WordPress LogoWordPress

World'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.6 "Tyner" introduces significant improvements to content management and administration. This release brings post revisions tracking, captions for images, Press This bookmarklet for quick blogging, and Google Gears integration for faster admin access. Security enhancements include SSL login options and cookie handling improvements. WordPress 2.6 also allows for more flexible installation with the ability to place wp-content outside the webroot, and introduces numerous performance optimizations and bug fixes.

Highlight of the Release

    • Post revisions system for tracking changes and restoring previous versions
    • Image caption support with shortcode implementation
    • Improved Press This bookmarklet for quick content creation
    • Google Gears integration for faster admin access
    • Ability to place wp-content directory outside the webroot
    • Enhanced SSL support for secure logins and administration
    • Bulk plugin management (activate/deactivate/delete)
    • Improved media uploader and gallery management

Migration Guide

Moving to WordPress 2.6

Before Upgrading

  1. Backup your database and files: Always create a complete backup of your WordPress installation before upgrading.
  2. Check plugin compatibility: Some plugins may need updates to work with WordPress 2.6, particularly those that interact with the editor or media functions.
  3. Review custom themes: If you have custom theme modifications, especially those involving media handling, you may need to update them for compatibility with the new caption system.

During Upgrade

  1. Deactivate plugins: Temporarily deactivate all plugins before upgrading to prevent potential conflicts.
  2. Follow the standard upgrade process:
    • Download WordPress 2.6
    • Replace your existing WordPress files (except wp-content and wp-config.php)
    • Run the upgrade script by visiting your site

After Upgrading

  1. Update wp-config.php: Consider adding the new cookie authentication keys to your configuration file.
  2. Check SSL settings: If you want to use the new SSL features, configure them in your wp-config.php file:
    define('FORCE_SSL_LOGIN', true); // Forces SSL for login
    define('FORCE_SSL_ADMIN', true); // Forces SSL for entire admin
    
  3. Review post revisions: The new revision system will start tracking changes to posts and pages. If you don't want this feature, you can disable it by adding to wp-config.php:
    define('WP_POST_REVISIONS', false);
    
  4. Update theme for captions: If your theme needs to support image captions, ensure your CSS properly handles the new caption classes.
  5. Moving wp-content: If you want to move your wp-content directory outside the webroot, follow these steps:
    • Create the new directory location
    • Copy all contents from the existing wp-content directory
    • Add these lines to wp-config.php:
    define('WP_CONTENT_DIR', '/absolute/path/to/wp-content');
    define('WP_CONTENT_URL', 'http://example.com/wp-content');
    
  6. Update bookmarklet: If you use the Press This bookmarklet, update to the new version from the Tools menu.

Potential Issues

  • Some plugins that extend the editor may conflict with the new revisions system
  • Custom image handling code may need updates to work with the new caption system
  • If you've customized admin URLs, you may need to update your code to use the new URL functions

Upgrade Recommendations

Recommendation Level: Recommended for all users

WordPress 2.6 brings significant improvements to content management, security, and performance that benefit all users. The post revisions system alone provides valuable protection against content loss, while the security enhancements help protect your site from potential threats.

Who should upgrade immediately:

  • Sites with multiple content contributors will benefit from the post revisions system
  • Sites concerned about security should upgrade to take advantage of the improved SSL support and cookie handling
  • Content creators who frequently use images will appreciate the new caption functionality
  • Administrators looking for improved plugin management capabilities

Considerations before upgrading:

  • If you use custom plugins that interact deeply with the editor or media functions, verify their compatibility first
  • Custom themes with specialized media handling may need adjustments for the new caption system
  • Sites with heavily customized admin areas should test thoroughly before upgrading

Upgrade difficulty:

Moderate - While the core upgrade process is standard, there are new features like post revisions and image captions that may require configuration or theme adjustments to fully utilize.

Backward compatibility:

WordPress 2.6 maintains good backward compatibility with most plugins and themes. The most significant changes are in the media handling and editor areas, so plugins that extend these components may require updates.

For most users, the benefits of the security improvements, post revisions, and enhanced media capabilities make this upgrade worthwhile and recommended.

Bug Fixes

Comment Notifications

  • Fixed duplicate comment notifications issue (#6892)

Tag and Category Handling

  • Fixed slashing in tag feed links (#7044)
  • Prevented category looping issues (#7267)
  • Fixed get_post_ancestors() functionality (#7029)

Media and Upload Issues

  • Added charset to async-upload content-type header (#6873)
  • Fixed gallery sorting functionality (#6988)
  • Ensured attachment meta data is properly handled as an array (#7252)
  • Fixed image resizing inside captions (#6812)

Editor and Content Issues

  • Fixed word count functionality in the editor (#6991)
  • Enabled autosave for fullscreen mode (#7069)
  • Fixed handling of pre tags in content (#7056)
  • Fixed encoding issues to prevent splitting in the middle of UTF-8 characters (#7254)

User Interface Fixes

  • Fixed Write Post h2 positioning (#7063)
  • Corrected color CSS selectors for category tabs on the Write page (#6998)
  • Fixed dashboard validation issues (#7064)
  • Added missing label associations to Press This (#7067)

Plugin and Theme Issues

  • Made WP_Filesystem work with new directory constants (#7059)
  • Fixed theme editor file loading with WP_CONTENT_DIR (#7097)
  • Fixed load_plugin_textdomain() to work with WP_CONTENT_DIR (#6938)

URL and Path Handling

  • Fixed handling of ORIG_PATH_INFO (#6995)
  • Ensured htaccess marker begins on a new line (#7203)
  • Fixed URL encoding/decoding issues in Press This (#7105)

User Management

  • Fixed issue where posts would be unpublished when edited by users who can edit published posts but not publish new ones (#7070)
  • Fixed the same issue for pages (#6943)
  • Updated nickname in display name dropdown dynamically (#5691)

New Features

Post Revisions System

WordPress 2.6 introduces a comprehensive post revisions system that tracks changes to your posts and pages. This allows you to view previous versions and restore them if needed. The system automatically saves revisions as you edit, providing a safety net for your content.

Image Captions

A new caption shortcode has been added, allowing you to easily add captions to your images. The caption system integrates with the image editor and provides proper alignment options. Themes can customize the styling of captions or disable them entirely.

Press This Bookmarklet

The Press This bookmarklet has been completely redesigned and enhanced. It now offers a more streamlined interface for quickly creating posts from content you find on the web. Features include better image handling, tag suggestions, and improved content extraction.

Google Gears Integration

WordPress now integrates with Google Gears to provide faster access to the admin area. This allows WordPress to cache resources locally, reducing load times and improving the overall admin experience.

Flexible wp-content Location

WordPress 2.6 allows you to place the wp-content directory outside of the webroot, providing enhanced security and flexibility for your installation. This is particularly useful for shared hosting environments.

Enhanced SSL Support

Improved SSL support for admin and login areas with new options to force SSL for logins and/or the entire admin section. This enhances security for WordPress installations.

Bulk Plugin Management

The plugins page has been redesigned to support bulk actions. You can now activate, deactivate, or delete multiple plugins at once, making plugin management more efficient.

New URL Functions

New URL functions have been introduced: site_url(), admin_url(), content_url(), and plugins_url(). These provide more consistent URL handling throughout WordPress.

Security Updates

Cookie Handling Improvements

  • Introduced a new logged_in cookie for better security
  • Auth cookies are now only delivered to wp-admin areas, reducing exposure
  • Updated cookie handling for SSL logins and administration
  • Added new cookie keys in the sample configuration for enhanced security

SSL Enhancements

  • Added support for forcing SSL on login pages
  • Implemented option to force SSL for the entire admin section
  • Improved handling of SSL links and resources throughout the admin area

User Permissions

  • Added new capabilities: delete_plugins and update_plugins for more granular permission control (#7096)
  • Fixed issue where users could inadvertently unpublish content when they had edit but not publish permissions

Remote Publishing Security

  • Remote publishing (XML-RPC and AtomPub) is now disabled by default and can be enabled through options
  • Added proper 403 responses when publishing is disabled but attempted
  • Improved error messages for disabled publishing services

Input Validation

  • Added nonce protection to various admin actions
  • Improved validation for post revisions
  • Enhanced sanitization of user inputs throughout the system

File System Security

  • Support for placing wp-content directory outside the webroot
  • Improved WP_Filesystem implementation for safer file operations
  • Better handling of file paths and URLs to prevent potential exploits

Performance Improvements

Query Optimization

  • Improved category and page query performance by eliminating unnecessary database queries
  • Added caching for plugin lists with get_plugins() to reduce repeated file operations (#7113)
  • Optimized page_rows() function for better performance (#7286)

JavaScript Improvements

  • Updated to jQuery UI 1.5.1 for better performance and compatibility
  • Improved TinyMCE performance with update to version 3.1.1
  • Enhanced JavaScript handling in the admin area for faster response times

Resource Loading

  • Google Gears integration allows for local caching of admin resources
  • Improved script and style loading sequence for better page rendering
  • Optimized media handling for faster uploads and processing

Database Optimization

  • Made the SAVEQUERIES define more flexible for better debugging and performance analysis (#6764)
  • Improved handling of large datasets in admin lists with pagination
  • Optimized term queries with better cache key generation (#7213)

Code Efficiency

  • Removed unnecessary sizeof() calls in loops for better performance (#7147)
  • Made arguments for category dropdown query match the category table query to utilize caching
  • Improved socket handling in pingback discovery by properly closing connections

Impact Summary

WordPress 2.6 "Tyner" represents a significant step forward in WordPress's evolution as a content management system. The introduction of post revisions provides a robust safety net for content creators, allowing them to track changes and restore previous versions with ease. This feature alone transforms the content editing experience by eliminating the fear of losing work or making irreversible changes.

The new image caption functionality addresses a long-standing need for content creators who want to provide context for their images without resorting to custom code or plugins. By implementing this as a core feature with shortcode support, WordPress makes captioning accessible to all users regardless of technical expertise.

From a security perspective, the ability to place wp-content outside the webroot and the enhanced SSL options provide administrators with powerful tools to harden their WordPress installations. The improved cookie handling also reduces potential attack vectors by limiting cookie exposure.

For developers, the introduction of standardized URL functions (site_url(), admin_url(), content_url(), plugins_url()) creates a more consistent API for URL handling, which will lead to more robust plugins and themes. The extensive PHPDoc improvements throughout the codebase also make WordPress more accessible to new developers.

The Press This bookmarklet overhaul transforms it from a simple tool into a powerful content creation platform, making it significantly easier to blog about content found elsewhere on the web. Combined with Google Gears integration for faster admin access, WordPress 2.6 demonstrates a clear focus on improving the speed and efficiency of content creation.

Overall, WordPress 2.6 balances new features with important infrastructure improvements, security enhancements, and performance optimizations. It strengthens WordPress's position as both a blogging platform and a comprehensive content management system suitable for a wide range of websites.

Statistics:

File Changed288
Line Additions9,320
Line Deletions3,082
Line Changes12,402
Total Commits250

User Affected:

  • Benefit from post revisions tracking to recover previous versions
  • Can add captions to images with the new caption shortcode
  • Enjoy improved Press This bookmarklet for faster content creation
  • Experience better media management with gallery improvements

Contributors:

ryanborenmwestimarkjaquith