Upgrading WordPress

Yesterday WordPress version 2.0.2 was released, fixing several security issues. If you haven’t upgraded already, you should go do so.

I spent most of my Friday upgrading WordPress installations (this blog, my Golf blog, the FeedLounge site and the King Design site). For the most part, everything went smoothly – however there were a few notable exceptions. 🙂

I was upgrading all of these sites from 1.5.2 (plus security patches) except for the Golf blog. I had no trouble to speak of upgrading this blog or the golf blog; then I got to the FeedLounge site.

  1. I ran into some caching issues right away on the test server and had to disable cache.
  2. The upgrade plus the cache issue also seemed to convert me back to the old FeedLounge theme – possibly due to the theme name having a space in it (“FeedLounge v2” vs. “FeedLounge”).
  3. The changes in how the rewrite rules are handled violently disagreed with the permalink structure I’d chosen for feedlounge.com. The main problem was me wanting /blog to be both the root of the blog and the base for the categories. I was finally able to track down the specific problem and fix it – more on this later.
  4. Then feedlounge.com went away for a bit. Good times!

The King Design site was pretty smooth, with the only issues being:

  1. get_the_excerpt() no longer appears to work for pages.
  2. The new rewrite rule handling broke some of my is_single() checks.

For being such a major upgrade, I have to say WordPress did a pretty good job keeping things compatible. With a project used in such a wide variety of ways, it must be a huge challenge to keep moving forward while trying not to break existing installations.

I plan to report the issues I ran into1 with test cases so that folks can decide if they are worth fixing or not. Details of the issues and work-arounds to follow when I have more time.

UPDATE: Oops, found one other issue. It seems that WP now loads the execute-pings.php page via an internal GET call (in the spawn_pinger() function). If you’ve password protected your /wp-admin directory (as I think is a wise idea), sending pings and trackbacks will not happen unless you manually load the execute-pings.php page. I’ll try fixing this via plugin if I can.

  1. Actually, I’ve reported some already. [back]

This post is part of the following projects: Tasks Pro™, FeedLounge. View the project timelines for more context on this post.