WordPress 3.9, “Smith”, has just been released. It is named after James Oscar “Jimmy” Smith.
WordPress 3.9 is the hard result of hard work from 267 contributors. The WordPress 3.9 release was led by Andrew Nacin and Co-led by Mike Schroder.
I will have Andrew and Mike, plus three additional contributors on a live hangout tomorrow at 2 p.m. Eastern time, and we’d love for you to join us.
Get to know Smith first with this introductory video, produced by Mike Pick.
User facing features
There are many new and exciting features in WordPress 3.9 for users. Let’s go through those, then the stuff that’s behind the scenes.
Editing enhancements
WordPress 3.9’s most notable features for every day users are editing enhancements.
TinyMCE
TinyMCE has been updated so that the visual editing experience is better than ever. Paste from Microsoft Word? Gone. Simply paste. Ever used WordPress from a mobile device? The editor now adapts much better to that environment.
TinyMCE is also faster, with fewer bugs. This is a good day for writing in WordPress.
Developers that integrate with TinyMCE should read up on the updates, especially this one.
Image uploading, handling, and editing
Love drag and drop? Plupload, the engine WordPress uses for managing drag and drop interfaces, has gotten a nice upgrade. This allows WordPress to extend it so that drag and drop uploads can be done right on top of TinyMCE, and don’t even require clicking the “Add Media” button first.
Developers can learn about some of the technical parts of the Plupload upgrade as well.
Previously, if you inserted an image, then wanted to edit it, the process was quite annoying. You were presented with a thickbox, and you couldn’t change the image size. Now, there’s an entirely new interface.
This dialog box is a drastic improvement. When you want to edit the original image, you simply click the button, and the content of this dialog switches to the editing interface, without redirecting to the clunky media page of old.
When the image is in the editor, you can simply drag the handlebars if you want to resize it a bit inline.
Playlists for audio and video
Playlists are now available with a new shortcode in WordPress 3.9. Simply add your audio or video through the “Add Media” modal, and a playlist option will show up for you.
Through this modal, you can manage and edit audio and video playlists through screens similar to the image management and editing screens. The options are truly extensive, including poster image options per item, fallback media types for video, and much more.
Users can also use the playlist shortcode directly in the editor, even to external sources for the URLs. And with the type parameter, can specify a playlist to be for video.
On the front-end, most themes should support these new media playlists without any changes needed. Here’s a screenshot of mine, working perfectly with a two year old theme.
And it only gets better from there. Check out Scott Taylor’s walk-throughs and the post on his personal blog to see all the things you can do with playlists.
Widget Customizer
Widgets are completely revamped in WordPress 3.9. Now, widgets can be managed and previewed live, just like you already could with the theme customizer.
The widget customizer is this release’s only (but significant) features-as-plugin feature. Spearheaded by Weston Ruter, the widget customizer enables site configurations with a visual interface that simply wasn’t available before.
You can read Weston’s core proposal, and also view other features-as-plugins that are on the table for future releases.
Header images in customizer
In addition to the widgets being added to the customizer, header images can now be fully managed there as well, including previews and image cropping.
New theme browser
Want to add a new theme? Browsing themes on WordPress.org is now easier than ever before. In fact, it’s better than doing it on WordPress.org itself. You can browse straight from your dashboard with the improved interface:
And then preview the theme in a customizer view:
More user facing features
New oEmbed support
New services are often added to WordPress for support. With WordPress 3.9, you can now use oEmbed to insert items from Imgur and Meetup.
More autocomplete support
When you’re adding an admin email in multisite, it now uses autocomplete, thanks largely to the work of Helen Hou-Sandi. User screens also have improved autocomplete support.
Accessibility
Accessibility continues to be a priority in WordPress core. The default WordPress themes now have better keyboard accessibility, as does the theme installer. Focus styles were also improved for various admin interfaces.
Features for developers
There are loads of excellent new features and improvements for developers as well. I’m going to highlight some of my favorites. You can also check out all the new functions on Query Posts.
MySQLi support for queries
If WordPress installs support PHP 5.5 or higher, they will now use the mysqli PHP library. The “i” in MySQLi stands for “improved”. Installs that utilize MySQLi will have better performance and more flexibility.
It does mean that plugin developers need to revisit the way they do things, and make sure that they are taking the new layer into consideration. Gary Pendergast explains on the Make Core blog.
Crop images to anywhere
Image sizes now have an additional argument when registered, so that theme authors can define the default position to crop an image. No longer will your tall portfolio pictures have to crop to someone’s midsection.
Additional HTML5 support
Galleries and captions will now support HTML5. Themes can register support, and galleries will now use
and
figurefigcaption
instead of definition lists. You can learn more about how to support these features on Themeshaper.
Addition of has-post-thumbnail post class
If you’ve ever done any theming, you know that there are plenty of times where you want to add a post class if the current post has a post thumbnail. Now, it’s a default post class.
Updated libraries
Bundling various libraries in WordPress is quite a task. They are relatively thankless to maintain, and sometimes WordPress has to deal with less-than-ideal practices from the folks that maintain the original libraries. Here’s a list of those updated in WordPress 3.9.
- TinyMCE 4.0
- Masonry 3.0
- Backbone 1.1.2
- Underscore 1.6
- PHPMailer 5.2.7
- Plupload 2.1.1
- jQuery 1.11.0
- Query UI 1.10.4
- MediaElement 2.14
Specifically, I’d like to show you just how much effort WordPress core developers put in by pointing you to the ticket for Masonry’s update and the corresponding post on the Make blog. This is one example of how WordPress goes the extra mile to make WordPress have some of the best backward compatibility policies of any software in existence.
Multisite enhancements
A couple of old functions were deprecated, a new method for getting site information was introduced, and new filters are available for Multisite.
As Jeremy Felt notes in his summary of the changes to Multisite in 3.9, it’s exciting to see the activity and changes surrounding this popular WordPress feature.
Codex documentation
Okay, this isn’t specifically a core feature. But the Docs group has been busy this release, and they still need more help. Some of the new items in 3.9 are documented, but if you’ve followed along with this release and understand the new features, you can help update the Codex (there’s a list!) so other people will know how to use all these amazing features.
WordPress 3.9 continues the trend
WordPress 3.9 is the result of thousands of hours of work by hundreds of dedicated individuals. WordPress continues to evolve and get better. It is truly the world’s most amazing publishing platform.
Get Involved
If you want to learn even more, you can see more features for WordPress 3.9 on the Codex page.
And you can follow current and future core development updates on the Make Core blog.
Ready to start contributing? Head over to Trac, and check out the Contributor Handbook.
Special shoutout
One thing I especially noticed about this release was the significant communication from the core team about what’s going on in the development cycle. I’d like to especially thank Mike Schroder for his “This week in Core” posts, that he diligently posted, week after week. Those were fantastic for helping me, and I’m sure many others, follow the cycle for WordPress 3.9. I hope this continues in future cycles.
And to everyone that contributed to WordPress 3.9, whether in code, docs, or some other way: thank you.
Now what?
Oh, and are you already excited about WordPress 4.0? Good, but remember, it’s just another release too, even though it’s a round number.
Well, what are you waiting for? Go update your sites!
This really interests me, but I’m having trouble finding info about the available parameters. Where can I find more info on this
Hey Mike,
Once you upload one audio or video file (ever), you’ll then see the playlist option any time you click “Add Media”. You can see a sample of this in this screenshot:
https://cloudup.com/c9cT5BsVVxj
Thanks, I’m still not seeing any way of adding external sources to playlists. It seems to only support audio files already in the library. I’m wanting to create a playlist of files from an Amazon S3 bucket, but I don’t think this will be feasible with the shortcode.
Image properties used to let me add vertical and horizontal margin. Where did that go? I used to be able to experiment with changing image sizes using the ‘%’ shrink/zoom option which is also gone? Now I have to know the exact proportional dimensions I want to use?
Hy. i am not able to write anything in any new post. Please suggest something.
the visual editor is not appearing. what’s wrong?!
What happened to the shortcode icons under the visual tab?
All of my sites are getting an HTTP error when I try to upload media. Any fix for this?
WOW simply amazing! I’m really in love with new editing enhancements. Gonna update to 3.9 soon 🙂
Visual editor or HTML editor will not show up for me at all so it’s completely impossible to make a post! Ugh! Can someone help out with this issue?
Widget Customization & preview is an awesome feature. Previously we have to apply widgets for reviewing how it will be shown, now things got easier with this update,