WordPress 3.9, “Smith”

wordpress-3-9-smithWordPress 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

wp39-tiny-tinymceTinyMCE 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.

wp39-drag-n-drop

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.

wp39-image-edit

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.

wp39-edit-actual-image

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.

wp39-playlist-add

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.

wp39-playlist-front

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.

wp39-widget-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.

wp39-header-images

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:

wp39-theme-browser

And then preview the theme in a customizer view:

wp39-theme-browser-preview

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
figure
and figcaption 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!