Title: Version 3.9
Published: May 19, 2019

---

# Version 3.9

## In this article

 * [Highlights](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#highlights)
 * [What’s New](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#whats-new)
    - [General](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#general)
    - [Posts](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#posts)
    - [Media](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#media)
    - [Comments](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#comments)
    - [Appearance](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#appearance)
    - [Users](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#users)
    - [Accessibility](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#accessibility)
    - [Install Process](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#install-process)
    - [Multisite](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#multisite)
 * [Under The Hood](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#under-the-hood)
    - [General](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#general-2)
    - [JavaScript](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#javascript)
    - [Bug Fixes](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#bug-fixes)
    - [Multisite](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#multisite-2)
    - [Classes](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#classes)
    - [Functions](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#functions)
    - [Actions & Filters](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#actions-filters)
    - [External Libraries](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#external-libraries)
    - [Miscellaneous](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#miscellaneous)

[ Back to top](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#wp--skip-link--target)

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](https://wordpress.org/news/2014/04/smith/), and
see the [Changelog for 3.9](https://codex.wordpress.org/Changelog/3.9).

For **Version 3.9**, the database version (**db_version** in **wp_options**) changed
to 27916, and the [Trac](https://core.trac.wordpress.org/) revision was 28154.

 * [View Closed Tickets](https://trac.wordpress.org/query?status=closed&milestone=3.9)

## 󠀁[Highlights](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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](https://codex.wordpress.org/Theme_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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#whats-new)󠁿

### 󠀁[General](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#general)󠁿

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

### 󠀁[Posts](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#comments)󠁿

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

### 󠀁[Appearance](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#appearance)󠁿

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

### 󠀁[Users](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#users)󠁿

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

### 󠀁[Accessibility](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#accessibility)󠁿

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

### 󠀁[Install Process](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#install-process)󠁿

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

### 󠀁[Multisite](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#multisite)󠁿

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

## 󠀁[Under The Hood](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#under-the-hood)󠁿

### 󠀁[General](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#general-2)󠁿

 * 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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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()](https://codex.wordpress.org/Function_Reference/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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#multisite-2)󠁿

 * 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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#classes)󠁿

#### 󠀁[What’s New](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#whats-new-2)󠁿

 * Introduce [WP_Customize_Widgets](https://codex.wordpress.org/Class_Reference/WP_Customize_Widgets)
 * Introduce [WP_Customize_Manager->$widgets](https://codex.wordpress.org/Class_Reference/WP_Customize_Manager)

 * Introduce WP_Upgrader_Skin::decrement_update_count()
 * Introduce Bulk_Upgrader_Skin::decrement_update_count()

 * Introduce [wpdb::$reconnect_retries](https://codex.wordpress.org/Class_Reference/wpdb)
 * Introduce [wpdb::$incompatible_modes](https://codex.wordpress.org/Class_Reference/wpdb)
 * Introduce [wpdb::$use_mysqli](https://codex.wordpress.org/Class_Reference/wpdb)
 * Introduce [wpdb::set_sql_mode()](https://codex.wordpress.org/Class_Reference/wpdb)
 * Introduce [wpdb::check_connection()](https://codex.wordpress.org/Class_Reference/wpdb)

### 󠀁[Functions](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#functions)󠁿

#### 󠀁[What’s New](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#whats-new-3)󠁿

 * 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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#deprecated)󠁿

 * _relocate_children()
 * default_topic_count_text()
 * [get_current_site_name()](https://codex.wordpress.org/Function_Reference/get_current_site_name)
 * [format_to_post()](https://codex.wordpress.org/Function_Reference/format_to_post)
 * [wpmu_current_site()](https://codex.wordpress.org/Function_Reference/wpmu_current_site)

### 󠀁[Actions & Filters](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#actions-filters)󠁿

#### 󠀁[New Actions](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#deprecated-2)󠁿

 * format_to_post

### 󠀁[External Libraries](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#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](https://wordpress.org/documentation/wordpress-version/version-3-9/?output_format=md#miscellaneous)󠁿

    ```wp-block-preformatted
    See also: other WordPress Versions.
    ```

First published

May 19, 2019

Last updated