Latest in branch 2.9
2.9.2
Released 15 Feb 2010
(16 years ago)
SoftwareWordPress
Version2.9
Initial release2.9.0
18 Dec 2009
(16 years ago)
Latest release2.9.2
15 Feb 2010
(16 years ago)
Support statusNo
Release noteshttps://wordpress.org/documentation/wordpress-version/version-2-9-2/
Source codehttps://github.com/WordPress/wordpress-develop/tree/2.9.2
Documentationhttps://wordpress.org/documentation/
Downloadhttps://wordpress.org/download/releases/#branch-29
WordPress 2.9 ReleasesView full list

What Is New in WordPress 2.9

Category Key Changes
New Features Built-in Image Editor, Global Post Trash, Batch Plugin Update, oEmbed Support
Improvements Comment API, Theme Directory Browsing, Canonical Redirects, Database Optimization
Developer Tools Custom Post Type Archives, Simplified Database Queries, Comment API
Bug Fixes Over 170 bugs fixed across the platform

How did WordPress 2.9 improve media management?

The standout feature is the built-in image editor. You can now crop, rotate, flip, and scale images directly from the WordPress media library without needing an external editor. This is a huge time-saver for content creators who need to make quick adjustments.

It also adds oEmbed support, letting you automatically embed content from popular sites like Flickr, YouTube, and Twitter by just pasting the URL into a post. The editor handles the rest, which simplifies the process of adding rich media.

What workflow changes did the Global Post Trash introduce?

WordPress 2.9 finally added a trash system for posts and pages, similar to what comments already had. When you delete something, it goes to the trash and stays there for 30 days before being permanently deleted. This is a simple but critical safety net that prevents accidental data loss.

In practice, this means you can recover a page or post if a client or editor deletes it by mistake. It fundamentally changes the risk profile of content management on the site.

How did version 2.9 help with plugin and theme maintenance?

This release introduced batch updating for plugins. Instead of updating each plugin one by one, you can now select multiple plugins and update them all at once. This streamlines site maintenance, especially for installations with a large number of plugins.

It also improved the theme installer by allowing you to browse the official theme directory directly from your admin dashboard. This makes discovering and testing new themes a much more integrated experience.

What new tools did developers get in this release?

Custom Post Type Archives

Developers can now easily create archive pages for their custom post types by using the new has_archive argument when registering them. This provides a standardized way to handle archives for custom content.

Comment API

A new API allows for the creation of more advanced comment types, paving the way for plugins that extend commenting beyond the standard text comment, such as ratings or check-ins.

Database Optimization

The new wp_get_sites() function simplifies querying sites in a WordPress Multisite network. The release also included general optimizations to make database queries more efficient.

FAQ

How do I use the new built-in image editor?
Edit an image by navigating to Media > Library, clicking on an image, and then selecting the "Edit Image" button. From there, you'll see tools for cropping, rotating, and flipping. Remember to click "Save" to keep your changes or "Update" the post to apply them.

Is the post trash feature like the recycle bin on a desktop?
Exactly. It acts as a recovery system. Deleted items are moved to a trash folder and are permanently erased only after 30 days, giving you a long window to restore anything deleted by accident.

What sites are supported by the oEmbed feature?
It supports many popular services out of the box, including YouTube, Vimeo, Flickr, Scribd, and Twitter. You just paste the public URL of the content into your post editor on its own line.

How do I enable archives for my custom post type?
When registering your post type with register_post_type(), set the has_archive argument to true. You can also pass a string to define a custom slug for the archive URL.

Were there any security fixes in this release?
While the main focus was on features and improvements, the update included fixes for over 170 bugs, which would have included security-related issues as part of the overall hardening of the core code.

Releases In Branch 2.9

VersionRelease date
2.9.215 Feb 2010
(16 years ago)
2.9.105 Jan 2010
(16 years ago)
2.9.018 Dec 2009
(16 years ago)