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.
Taxonomy
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.
Comments
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.
Miscellaneous
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!
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.
Pingback: WordPress 4.1, "Dinah" - Post Status
Cudos for thos query improvements. I really mean it.
Congrats, Boone, and thank you for your work!!
Thanks again for helping me get my first props! You did a staggering amount of awesomeness this release!
Hail Boone !
Quick note, probably not into your powers but you’ll know who to ping for it: I think the link on https://unit-tests.trac.wordpress.org/ should be updated, as it points to a repo that’s years back, and that page still has some prominence into Google results.
WP 4.1 = BoonePress.
Way to kill it on your first cycle as a Core Committer!
“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!
hear, hear! thanks for all your hard work Boone!
🙂
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!
Pingback: L’Hebdo WordPress n°248 - Web Interactive StudioWeb Interactive Studio
Thanks for your hard work! It improved a huge CPU hog issue we were having with the phpcgi.exe processes.
Thanks for the kind words, everyone!
Pingback: 2014 | Teleogistic
Pingback: Post Status: WordPress 4.1, “Dinah” | WordPress Planet