It’s no secret: I don’t like how WordPress development is handled over the past year or so. And best thing I can say about WP 3.4: it is a big maintenance release; all important changes are mostly tweaks or API related. My favorite features are Twitter embed and toolbar click top scroll.
WordPress 3.4 was released month ago, and it has one minor bug fixing release: WordPress 3.4.1. I decided to wait a bit more before writing the review, wanting to spend more time using the final version on multiple website.
It is a good thing to have improvements in the core, like many added in this version, problem is that you can’t really use any of them in your plugins if you want to maintain compatibility with older versions of WordPress. Writing duplicated code in plugins for new and old WordPress is out of the question, and writing for new WordPress only is equally bad because of the simple truth: only small number of users will upgrade to latest WordPress 3.4 over the next 6 months. I know that millions of downloads counter on WordPress.org does look impressive, but that is still only a small part of WordPress websites upgrading. If you run WordPress business, you need to work with all WordPress versions from 3.0 (at least) and that means that it will be a while until you can use new functions and other things in WP 3.4. What makes things worse, is that old functionalities might be deprecated, and when you debug your code in WP 3.4 you will see deprecation warnings.
Under the hood changes include many improvements to XML-RPC, updated third-party libraries, improvements to WP_Query to speed up complex queries, updates to database schema, added many new functions (for theme API, terms, translations…) and deprecated many old functions, WP_Theme class and much more. To see full list, visit the official release page on WordPress.org. And as you can see, the list is pretty long, and I will not be writing about each of them. I will first go through things I don’t like in WordPress 3.4.
The feature that core developers spent the most time on is the one that is most useless: Theme Customizer – replacement for Theme Preview. For themes that don’t support it you will see only: site title and tagline and selection for the front page. For themes that support it, you can see extra options for background, colors and some layout changes, depending on the theme. While the idea for Theme Customizer is interesting, it is 6 years too late. All themes have own frameworks that include customization screens with tons of settings that can’t possibly fit into the limited space Customizer have and will require massive changes to support. It can be used for some simpler (and limited in number) settings, but nothing more.
Also, how many users really make changes to the way website look? How many have more than one theme installed? And how many themes support Customizer at all? Not counting TwentyTen and TwentyEleven, that number is zero (for now). So, we have got a very complex feature that new users will play with for a few days, and realize that they want to use some theme other than TwentyTen or Eleven, and they will never start Customizer again.
Same goes for any changes made to the themes selection: endless scroll (makes sense if you run large multisite with 100 themes, most users have 2-3 themes max), themes searching or keyword search for installer. All completely pointless.
There are many good things in WP 3.4. They are not some big flashy changes, but a small improvements and features that you will immediately like. My favorite feature is Twitter support for oEmbed: Just add URL to the Twitter status, and you will get Tweet displayed in the post, just like with YouTube videos.
If you click on the empty space on the toolbar, it will scroll the page back to the top. This is a great tweak that I use many times ever since it was added during development of WP 3.4. HTML captions support HTML now, and WP_Query is improved. Many small changes to multisite. Blog_ID column is removed from wp_options database table. Improvements to cron locking (hopefully it will be more efficient than before).
Speed (Not really)
With every major release in the past 2 years, I have made a benchmark to compare WordPress in resource usage and speed. For now, I don’t plan such benchmark for WP 3.4. What I can say about it is: WordPress 3.4 uses more resources and it is slower than previous versions. Even there are some enhancements that were meant to improve speed (smaller translation files), they don’t have any effect considering that other features had negative effect on speed and resource usage.
But, there is one thing that is faster: new WP_Query. When you have some complex query and large database, you will notice improvements on both database side and in PHP code. But, this only goes for large websites, I couldn’t measure any improvements for small websites and normal use. Still, I like that query can be optimized further and that I can remove some of my code optimizations made for Dev4Press website.
Should you upgrade?
I am always for upgrading to latest WordPress, and I have upgraded all my websites. There is no downside to upgrading, and you will be able to use some new interesting features. If you don’t plan to use Theme Customizer, you will hardly notice any difference from WordPress 3.3. You should upgrade because of the bugs fixed (always a good thing) and improved security. Standard precautions apply: make sure plugins are working with WP 3.4, make a backup and then upgrade.
That’s it really, WordPress 3.4 is another bland release that is more of a maintenance release than a real upgrade. But, until core development team doesn’t change the way the development is done, and how long development cycles are, I expect seeing at least 2-3 similar releases in the next year. Let’s hope not.