WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Version 4.0

On September 4, 2014, WordPress Version 4.0 "Benny," named for jazz musician Benny Goodman, was released to the public. For more information on this enhancement and bug-fix release, read the WordPress Blog, and see the Changelog for 4.0.

For Version 4.0, the database version (db_version in wp_options) changed to 29630, and the Trac revision was 29710.

Contents

Highlights

  • Manage your media and embedded content with style
    • Explore your uploads in a beautiful, endless grid
    • A new details preview makes viewing and editing any amount of media in sequence a snap.
  • The content-editing experience is better than ever
    • The visual editor now expands to fit your content
    • A fixed toolbar in the editor when you scroll
    • Embeddable content previews right in the visual editor
  • Better workflow for finding and installing plugins
  • For Developers
    • Customizer Panels API
    • Updated external libraries
    • Better flexibility for WP_Query ORDER BY

What's New

General

  • Featured image previews now support .bmp files
  • Featured Image meta box is now hidden for contributors lacking upload capabilities
  • New supported oEmbed providers: CollegeHumor, Issuu, Mixcloud, YouTube playlists, TED talks
  • Install WordPress in your language
  • Streamlined Language management right from the dashboard

Posts

  • Display embed previews for audio/visual URLs in Visual editor content box.
  • Page scrolling now scrolls post content box.
  • Edit Post/Page menu bar sticks to top of content box when scrolling (Visual and Text editor).
  • Color picker was re-added to the Visual editor

Media

  • Add Media Grid view option (default) for Media Library
  • Add "Bulk Select" button to Media Grid view to delete multiple items
  • Add oEmbed support for TED talks, Mixcloud, CollegeHumor.com, Issuu
  • Expand oEmbed support to include YouTube playlist URLs and Polldaddy’s short URL format
  • Remove Viddler oEmbed support
  • Update SlideShare oEmbed regex
  • Improved media experience on small screen sizes (embedded videos now responsive)
  • Native video and audio shortcodes now support Flash playback looping

Comments

  • Comments in trash can now be marked as spam.

Plugins

  • Display plugins list as grid, with thumbnails, on Add New screen.
  • Add popup window with plugin details (displays info from plugin's directory page).
  • Add "Beta Testing" tab to Plugins screen for new features-as-plugins.

Accessibility

  • Improved keyboard accessibility in the Add Media panel
  • Improved screen-reader support for Customizer sections
  • Makes links in help tabs keyboard accessible
  • Improvements for screen-readers when managing widgets in the Customizer

Install Process

  • Add language select menu as first Installation screen (skipped for localized installs)

Multisite

  • mp4 file extension was added to allowed upload file types

Under The Hood

General

  • Performance and effectiveness improvements to wptexturize()
  • Ensure custom post types nested under top-level menu items get the proper classes
  • Added a src parameter to the embed shortcode
  • Fixes for handling nested shortcodes
  • Make default 'template' argument of the_taxonomies() and get_the_taxonomies() translatable
  • Remove a redundant condition for comment feeds from WP_Query::get_posts()
  • The Customizer now properly honors theme support defaults for background images
  • Installed Themes search now shows a proper "no results" message
  • Improved, more consistent styling for HTML5 input elements
  • Post previews now redirect to the permalink if the post has been published
  • Email and URL input types have been implemented where appropriate in the admin
  • Most uses of extract() have been removed from the core code
  • 3gp mime type support was added
  • wp_handle_upload|sideload() logic was consolidated
  • Remove dead and unused code from dashboard.php following changes in 3.8
  • The operator argument now case-insensitive in tax queries
  • Now possible to disable drag and drop functionality in wp_editor() instances
  • Trigger _doing_it_wrong() when a registered post type or taxonomy slug is too long (20 characters max)
  • Widgets management in the Customizer to leverage the new Panels API.

JavaScript

  • Heartbeat API "experimental" labels have now been removed
  • Improved inline documentation for Media Views
  • Forces an autosave on switch from Visual to Text editor

Bug Fixes

  • Fix a notice with media attached to non-existent post type
  • Fix expanding and collapsing the admin menu on small screen sizes
  • Fix a bug where multiple Add Media buttons shared an ID attribute
  • Fix get_the_ID() not checking for a proper post object
  • Fix current track highlighting in audio playlists
  • Fixed bug with audio player not properly floating around images in the editor
  • Fix a bug where bulk actions would be performed upon clicking the Filter button in some circumstances
  • Fix remove_all_filters() always returning true via has_filter() in some scenarios
  • Fix a notice in wp_reschedule_event
  • Fix paragraph tags not being converted in PressThis for the Text editor
  • Fix get_the_excerpt() not always checking $post->post_excerpt
  • Introduce caching for oEmbed responses
  • Fix an issue where attachment display settings didn't work for galleries
  • Leverage iframe sandboxing for audio and video, allowing arbitrary scripts to be loaded
  • Ensure all plugins have an accurate oEmbed provider list by loading them "just in time"
  • Fixed several problems with formatting of curly quotes, square braces, non-breaking spaces, and related performance issues.

Multisite

  • Fix a bug where an incorrect schema was shown on the Edit Site screen

Classes

What's New

  • Introduce WP_Customize_Panel
  • Introduce WP_Session_Tokens
  • Introduce WP_User_Meta_Session_Tokens
  • Introduce WP_oEmbed::get_provider()
  • Introduce WP_oEmbed::_add_provider_early()
  • Introduce WP_oEmbed::_remove_provider_early()
  • Introduce WP_Widget_Area_Customize_Control::active_callback()

Functions

What's New

  • Introduce attachment_url_to_postid()
  • Introduce get_comments_number_text()
  • Introduce get_editor_stylesheets()
  • Introduce is_customize_preview()
  • Introduce translations_api()
  • Introduce upgrade_400()
  • Introduce wp_ajax_set_attachment_thumbnail()
  • Introduce wp_ajax_parse_embed()
  • Introduce wp_can_install_language_pack()
  • Introduce wp_destroy_all_sessions()
  • Introduce wp_destroy_current_session()
  • Introduce wp_destroy_other_sessions()
  • Introduce wp_download_language_pack()
  • Introduce wp_dropdown_languages()
  • Introduce wp_embed_handler_youtube()
  • Introduce wp_get_all_sessions()
  • Introduce wp_get_available_translations()
  • Introduce wp_get_session_token()
  • Introduce wp_install_language_form()
  • Introduce wpview_media_sandbox_styles()
  • Introduce wp_spaces_regexp()
  • Introduce wp_validate_boolean()

Deprecated

  • get_all_category_ids() - use get_terms() instead.
  • like_escape() - use $wpdb->esc_like() instead.
  • url_is_accessable_via_ssl()

Actions & Filters

  • The ISO date standard YYYY-MM-DD format was added to the date_formats filter.
  • The $post parameter was added to preview_post_link.
  • wp_handle_upload_prefilter was renamed to {$action}_prefilter.

New Actions

  • Introduce customize_render_panel
  • Introduce customize_render_panel_{$this->id}
  • Introduce delete_user_form
  • Introduce pre_get_users
  • Introduce rss_tag_pre

New Filters

  • Introduce async_update_translation
  • Introduce attach_session_information
  • Introduce customize_control_active
  • Introduce human_time_diff
  • Introduce oembed_remote_get_args
  • Introduce oembed_ttl
  • Introduce run_wptexturize
  • Introduce session_token_manager
  • Introduce term_search_min_chars
  • Introduce translations_api
  • Introduce translations_api_result
  • Introduce wp_editor_expand
  • Introduce wp_editor_settings
  • Introduce wp_embed_handler_youtube
  • Introduce wp_list_comments_args
  • Introduce wp_spaces_regexp
  • Introduce wp_title_parts
  • Introduce wxr_export_skip_commentmeta

Constants

Deprecated

External Libraries

  • Update to TinyMCE 4.1.3
  • Update to jQuery 1.11.1
  • Update to MediaElement 2.15
And see others WordPress Versions.