WordPress 4.1 and me

WordPress 4.1 “Dinah” was just released. In September, I was asked to do a stint as a committer. It was a blast. Here’s what I worked on:

Query improvements

My primary goal for 4.1 was to rework the WP_Meta_Query, WP_Tax_Query, and WP_Date_Query classes so that they supported nested query syntax. In the process, I worked through much of the backlog of Trac tickets related to these three classes, fixing some longtime annoyances and adding a few nice features. I published an in-depth write-up on these improvements in October.


I decided to use my new position to stir up trouble related to the taxonomy roadmap. My goal was to make some progress on Trac’s Worst Ticket. I wrote a couple boatloads of unit tests for functions related to term editing and creation, helped shepherd through fixes to a few edge cases related to duplicate term creation, and pulled the trigger on changing the wp_terms database schema. In #21950 we stopped creating new shared taxonomy terms, and we came very close to splitting existing shared terms in this release, but pulled it out at the last minute so we’d have a bit more time for developer education. I look forward to continuing my unofficial role as Taxonomy Gadfly in future releases.

Unit tests

I contributed hundreds of automated tests to WP during the 4.1 cycle, and so the slowness of the phpunit suite was a particular pain point for me. Based in part on some ideas of nacin’s at WCSF, I took a few steps toward reorganizing and refactoring a couple parts of the phpunit suite, with the end result that running $ phpunit on WordPress takes less than half the time today as what it took in 4.0, despite the addition of many, many tests. I’m equally proud that I was able to help a few contributors to include unit tests in their WP patches for the first time.


I spent some time in 4.1 improving comment queries. I reworked comments_template() (the function used by WP to display comments on a blog post in most themes) to use the internal comments API, resolving a ticket that has bugged me for a long time. I also helped to add some additional query params to WP_Comment_Query, and worked with a number of contributor to pave the way for a better system for custom comment types in the future.


I took advantage of what may be a once-in-a-lifetime opportunity to address a couple personal peeves, like better support for apostrophes in email addresses. It was also a pleasure to do a bit of developer outreach, in the form of helping a few folks to get their first WordPress props, as well as clearing out some old has-patch tickets.

Working on a huge project like WordPress has been a lot of fun. 4.1 FTW!

15 thoughts on “WordPress 4.1 and me

  1. Joe McGill

    Congrats on a the huge amount of work that you put into this release. Also, thanks for helping new contributors (like myself) get our feet wet with the unit testing suite.

  2. Pingback: WordPress 4.1, "Dinah" - Post Status

  3. dcavins

    “I committed a zillion change sets and all I got was this lousy ‘Taxonomy Gadfly’ t-shirt.”

    Thanks especially for starting us down The Nace’s path to taxonomy table nirvana. You’ve done the BuddyPress Bloc proud!

  4. Knut Sparhell

    Your excellent WP_Query work has made it possible for me to refactor a lot of code, making it faster and less memory consuming. You have transformed WP_Quwery form a beast to a beauty. Thanks!

  5. Pingback: L’Hebdo WordPress n°248 - Web Interactive StudioWeb Interactive Studio

  6. Pingback: 2014 | Teleogistic

  7. Pingback: Post Status: WordPress 4.1, “Dinah” | WordPress Planet

Leave a Reply

Your email address will not be published. Required fields are marked *