Version 3.9

On April 16, 2014, WordPress Version 3.9, named for jazz musician Jimmy Smith, was released to the public. For more information on this enhancement and bug-fix release, read the WordPress Blog, and see the Changelog for 3.9.

For Version 3.9, the database version (db_version in wp_options) changed to 27916, and the Trac revision was 28154.

Highlights

  • A smoother media editing experience
    • Improved visual editing – speed, accessibility, and mobile support
    • Edit images easily – quicker access to crop and rotation tools, scale images directly in the editor
    • Drag and drop your images right onto the editor
    • Image gallery previews right in the editor
    • Showcase music and clips with simple audio and video playlists
    • Live widget and header image previews in the Customizer
    • Stunning new theme browser
  • For Developers
    • Themes can now use HTML5 markup for captions and galleries
    • Inline code documentation for action and filter hooks, and media manager and customizer APIs
    • External libraries have been updated
    • Improved database layer
    • New utility functions

What’s New

General

  • The “update” message has been restored to the dashboard

Posts

  • Add “Return to post editor” link from Revisions screen
  • A “View Post” link will now show for any post an author can read
  • Distraction Free Writing mode is now responsive to any size device

Media

  • Edit images from the Add Media modal
  • Improvements to the “Attach Media” pop-up interface
  • Better support for auto-playing videos
  • Drag and Drop files into the editor
  • Full-screen Drag and Drop zone in Distraction Free Writing
  • oEmbed support added for imgur and meetup.com

Comments

  • Small improvements to comment administration screens, link colors, language tweaks

Appearance

  • Widget Customizer management
  • Upload header images with cropping in the Customizer
  • Improved theme install workflow

Users

  • Admin auto-complete improvements
  • Make sure the “Send this password to the new user by email” toggle option value is remembered

Accessibility

  • Improved focus styles for form elements throughout the admin
  • Keyboard accessibility added for theme install screen and theme action buttons

Install Process

  • Make it easier to customize the install process
  • Passwords with apostrophes are no longer allowed on installation

Multisite

  • Add autocomplete for the admin email account to the “new site” form

Under The Hood

General

  • Add ability to output galleries as HTML5
  • Introduce doing_filter() and doing_action() to identify hooks in progress
  • Introduce .dashicons-before class to make it easier to use a Dashicon before an element
  • Add ability to symlink plugins
  • The core colors.css file was merged into wp-admin.css, resulting in 1,065 fewer lines of admin CSS
  • Dashicons updated to latest. Adds line break, paragraph, code, and bbPress.
  • Add a TTL to core update checks to allow narrowing of the 12-hour update window
  • The ‘role’ attribute is now allowed in kses for all elements
  • Rewrite endpoints can now specify a query variable name

JavaScript

  • Autosave JS has been refactored to use the Heartbeat API
  • Heartbeat: Hooks will now always receive unslashed data
  • Options passed to Backbone.View’s constructor are no longer attached automatically. wp.Backbone.View now handles this
  • Big improvements to documentation of Backbone media-views
  • Updated media-views and wp.Backbone.View for Backbone 1.1
  • Masonry has a new script handle, ‘masonry’, and no longer depends on jQuery

Bug Fixes

  • wp_auth_check now runs properly on every Heartbeat tick
  • Post/page items are now removed from nav menus when the post/page is deleted
  • Ensure the $path is trailing-slashed in domain_exists()
  • Fix bulk activation of network-only plugins
  • Texturize: Massive performance improvements (~600% faster); better handling of braces, nbsp, double, and weird spaces

Multisite

  • Introduce get_network_by_path()
  • Introduce wp_get_network()
  • Introduce Function_Reference/get_site_by_path|get_site_by_path()
  • Incremental improvements and bug fixes with the multisite load process
  • Introduce an ms_site_not_found filter to replace NOBLOGREDIRECT

Classes

What’s New

  • Introduce WP_Upgrader_Skin::decrement_update_count()
  • Introduce Bulk_Upgrader_Skin::decrement_update_count()

Functions

What’s New

  • Introduce wp_normalize_path|wp_normalize_path()
  • Introduce has_image_size()
  • Introduce remove_image_size()
  • Introduce wp_playlist_shortcode()
  • Introduce wp_maybe_generate_attachment_metadata()
  • Introduce _count_posts_cache_key()
  • Introduce get_the_permalink()
  • Introduce wp_validate_logged_in_cookie()

Deprecated

Actions & Filters

New Actions

  • Introduce resetpass_form
  • Introduce wp_install
  • Introduce wp_upgrade
  • Introduce wp_playlist_scripts
  • Introduce dynamic_sidebar_before
  • Introduce dynamic_sidebar_after

New Filters

  • Introduce get_adjacent_post_query_args
  • Introduce post_playlist
  • Introduce wp_insert_attachment_data
  • Introduce incompatible_sql_modes
  • Introduce theme_page_templates
  • Introduce pre_get_network_by_path
  • Introduce network_by_path_segments_count
  • Introduce site_by_path_segments_count
  • Introduce pre_get_site_by_path
  • Introduce pre_wp_nav_menu
  • Introduce pre_set_theme_mod_$name
  • Introduce determine_current_user
  • Introduce playlist_styles
  • Introduce dynamic_sidebar_has_widgets
  • Introduce is_active_sidebar
  • Introduce ms_site_not_found
  • Introduce pre_update_option

Deprecated

  • format_to_post

External Libraries

  • Update to TinyMCE 4.0
  • Update to Masonry 3.0
  • Update to Backbone 1.1.2
  • Update to Underscore 1.6
  • Update to PHPMailer 5.2.7
  • Update to Plupload 2.1.1
  • Update to jQuery 1.11.0
  • Update to jQuery UI 1.10.4
  • Update to MediaElement 2.14

Miscellaneous

See also: other WordPress Versions.

First published

Last updated