Following up on the summary of changes for WordPress 3.8 we now take a look at WordPress 3.9. WP 3.9 introduces improvements to the visual editor, media library and added widget and header previews to the Customizer. Additionally, and more improtantly for us, improvements were made to the database layer, new utility functions were added and external libraries were updated.
The biggest change we should (and already are) aware of is the switch to using MySQLi by default on servers running PHP 5.5. For the most part migrating from mysql to mysqli is straightforward though be prepared for some of the parameters switching their order.
- Themes can now use HTML5 markup for captions and galleries
- Post/page items are now removed from nav menus when the post/page is deleted
- Texturize: Massive performance improvements (~600% faster); better handling of braces, nbsp, double, and weird spaces
- Introduce an ms_site_not_found filter to replace NOBLOGREDIRECT
- Use MYSQLi by default on servers running PHP 5.5+
- oEmbed support added for imgur and meetup.com
- Introduce doing_filter() and doing_action() to identify hooks in progress
- Add ability to symlink plugins
- Rewrite endpoints can now specify a query variable name
WordPress 3.9.1, 3.9.2 and 3.9.3 were reviewed as well but contained only bug fixes and security hardening patches and are not summarized in this post.