Title: Version 4.1
Author: Subrata Sarkar
Published: March 13, 2019

---

# Version 4.1

## In this article

 * [Highlights](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#highlights)
 * [What’s New](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#whats-new)
    - [General](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#general)
    - [Posts](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#posts)
    - [Media](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#media)
    - [Appearance](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#appearance)
    - [Users](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#users)
    - [Accessibility](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#accessibility)
    - [Multisite](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#multisite)
 * [Under The Hood](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#under-the-hood)
    - [General](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#general-2)
    - [JavaScript](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#javascript)
    - [Customizer](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#customizer)
    - [Bug Fixes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#bug-fixes)
    - [Bundled Themes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#bundled-themes)
    - [Themes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#themes)
    - [Media](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#media-2)
    - [Revisions](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#revisions)
    - [Translations](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#translations)
    - [Multisite](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#multisite-2)
    - [Query](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#query)
    - [Comments](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#comments)
    - [Classes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#classes)
    - [Functions](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#functions)
    - [Actions & Filters](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#actions-filters)
    - [External Libraries](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#external-libraries)

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

On December 18, 2014, WordPress **Version 4.1**, named for jazz musician Dinah Washington,
was released to the public. For more information on this enhancement and bug-fix
release, read the [WordPress Blog](https://wordpress.org/news/), and see the [Changelog for 4.1](https://codex.wordpress.org/Changelog/4.1).

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

## 󠀁[Highlights](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#highlights)󠁿

 * **New Default Theme – [Twenty Fifteen](https://codex.wordpress.org/Twenty_Fifteen)**
    - Clean, blog-focused theme, designed for clarity.
    - Your content always takes center stage, whether viewed on a phone, tablet,
      laptop, or desktop computer.
    - Great language support, with help from [Google’s Noto font family](http://www.google.com/get/noto/).
      The straightforward typography is readable on any screen size.
    - Designed to maximize tools available in the Customizer.
 * **The Finer Points**
    - Distraction-free writing: Just write. Sometimes, you just need to concentrate
      on putting your thoughts into words. Try turning on distraction-free writing
      mode. When you start typing, all the distractions will fade away, letting 
      you focus solely on your writing. All your editing tools instantly return 
      when you need them.
    - Choose your language – Right now, WordPress 4.1 is already translated into
      44 languages, with more always in progress. You can switch to any translation
      on the [General Settings](https://codex.wordpress.org/Settings_General_Screen)
      screen.
    - If you’ve ever worried you forgot to sign out from a shared computer, you 
      can now go to your [profile](https://codex.wordpress.org/Users_Your_Profile_Screen)
      and log out everywhere.
    - Inline toolbar gives you quicker access to image editing tools.
    - Plugin installer suggests plugins for you to try. Recommendations are based
      on the plugins you and other users have installed.
    - [Embedding](https://codex.wordpress.org/Embeds) videos from [Vine](https://vine.co/)
      is as simple as pasting a URL onto its own line in a post.
 * **For Developers**
    - Complex queries – Meta, date, and term queries now support advanced conditional
      logic, like nested clauses and multiple operators – A OR ( B AND C ).
    - <title> tags in themes – [add_theme_support( ‘title-tag’ ) ](https://codex.wordpress.org/Function_Reference/add_theme_support#Title_Tag)
      tells WordPress to handle the complexities of [document titles](https://codex.wordpress.org/Title_Tag).
    - [Customizer API](https://codex.wordpress.org/Theme_Customization_API) – Expanded
      JavaScript APIs in the customizer enable a new media experience as well as
      dynamic and contextual controls, sections, and panels.
    - [Developer reference](https://developer.wordpress.org/reference) – Continued
      improvements to inline code documentation have made the developer reference
      more complete than ever.

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

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

 * Show the number of approved comments, instead of total comments, in the “At A
   Glance” section in the dashboard.
 * Site Language: Install translations on the fly on the General Settings screen.
   The language drop down now includes installed languages and all available translations
   when the filesystem is writable by WordPress.
 * Admin notices: There are now four types of notices: success (green), warning (
   orange), error (red), and info (blue).

### 󠀁[Posts](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#posts)󠁿

 * Spellchecking is enabled for the post title field on the Edit Post screen.

### 󠀁[Media](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#media)󠁿

 * Disable multi-file uploading in iOS 7.x Safari as it prevents uploading of videos.
 * Allow PSDs (Photoshop documents) to be uploaded.
 * [oEmbed](https://codex.wordpress.org/Embeds): Add support for the Vine endpoint.
 * Display error message when Media Library upload fails.

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

 * [Custom Header](https://codex.wordpress.org/Custom_Headers) and [Custom Background](https://codex.wordpress.org/Custom_Backgrounds)
   screens removed. Admin menu links now go to the Customizer.
 * Widgets screen now has a **Manage in Customizer** link at top of screen.
 * Themes: Make “Live Preview” the primary action and “Activate” secondary.

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

 * Introduce a button on the user profile screen which clears all other sessions,
   and on the user editing screen which clears all sessions.

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

 * Admin menu separators are now hidden from screen readers.
 * Improved keyboard control of Edit Selection mode in the media manager.
 * Improved keyboard accessibility on Custom Header and Custom Background screen.
 * Improved text contrast against dark backgrounds in the admin menu and toolbar.
 * When switching to the Text editor, make the textarea visible to screen readers.
 * Use <button> instead of <a> for the Visual/Text buttons to make them focusable.
 * Improve the focus style for review links in the plugin info modal.
 * TinyMCE:
    - Return focus to the editor on pressing Escape while the image toolbar is focused.
    - Add a Close button to the Help modal and close it on Escape.
    - Override the title on the editor iframe (read by screen reader apps), replace
      with the Alt+Shift+H shortcut.
    - Add focus shortcuts descriptions to the Help modal.

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

 * Set the default network language on the [Network Settings](https://codex.wordpress.org/Network_Admin_Settings_Screen)
   screen.

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

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

 * Lots of new unit tests added, reorganization of Multisite unit tests, and review/
   removal of failing tests. The base PHPUnit tests now take less than half the 
   time to run than in 4.0, despite the improved coverage.

### 󠀁[JavaScript](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#javascript)󠁿

 * Formal adoption of JSDoc3 for documentation
 * Improvements to documentation in media views
 * Heartbeat: Use the page visibility API (when available) and document.hasFocus()
   instead of window.onfocus/onblur

### 󠀁[Customizer](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#customizer)󠁿

 * “Theme Customizer” is now just “Customizer”, since it isn’t necessarily theme-
   specific.
 * Expanded JavaScript APIs in the Customizer enable support for dynamic and contextual
   controls, sections, and panels.
 * Only changed settings are now sent to preview for better performance.
 * Alternative API that allows controls to be written as JavaScript templates extending
   [WP_Customize_Control::content_template()](https://developer.wordpress.org/reference/classes/wp_customize_control/content_template)
   and render these controls on the client without any server-side call.
 * Color control listens to other controls that might change color settings (like
   Color Scheme select in TwentyFifteen) and updates wpColorPicker value accordingly.
 * Screen reader users receive feedback when moving widgets up or down.
 * Panels and sections have their type added as CSS class in their HTML container
   using WP_Customize_Panel::$type and WP_Customize_Section::$type respectively.
 * Sections added to a panel are now rendered in its own method, WP_Customize_Panel::
   render_content(), separated from the panel container, allowing to override a 
   panel and its contents independently.
 * When an object value is updated, a change event is no longer incorrectly triggered
   if the object value was unchanged. Uses Underscore’s _.isEqual() to compare the
   object values.
 * Introduces customize_preview_{$setting->type} action hook to handle preview of
   multiple settings of the same type when they’re not a theme_mod or an option.
   Hooked Functions receive the WP_Customize_Setting instance as parameter.
 * Customizer elements are now JS-rendered, so a stable sorting for panels, sections
   and controls was added in JS. Sorting in PHP was improved and section, panels
   and controls store their instantiation order in $instance_number property in 
   each class.
 * Controls of range type now listen for input and propertychange events so the 
   value is updated on mouse drag and not only on mouse release.

### 󠀁[Bug Fixes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#bug-fixes)󠁿

 * Fix setting default quality in WP_Image_Editor.
 * Always sanitize user_nicename in [wp_insert_user()](https://developer.wordpress.org/reference/functions/wp_insert_user)
   to avoid broken author archive permalinks.
 * Don’t list delete or trash as bulk actions for the relevant context of Post list
   table if current user does not have the delete_postscap on the current post type.
 * Don’t print an empty HTML markup when [comment_reply_link()](https://developer.wordpress.org/reference/functions/comment_reply_link)
   returns no link.
 * Avoid a PHP notice in [list_plugin_updates()](https://developer.wordpress.org/reference/functions/list_plugin_updates)
   if [plugins_api()](https://developer.wordpress.org/reference/functions/plugins_api)
   returned a [WP_Error](https://developer.wordpress.org/reference/classes/wp_error)
   object.
 * Plugin search: Wrap results in a form to fix pagination’s paged input field.
 * Use correct links for filtering plugin reviews.
 * Quicktags: move focusing the editor after inserting content to the end of the
   code blocks.
 * Add size to the UI for Gallery Settings in the media modal. Ensure that the TinyMCE
   view is refreshed when size changes.
 * Theme Install: Fix some theme install style issues:
    - Move the “based on” string below the rating to avoid wrapping to a second 
      line.
    - Reduce the gap between the theme screenshot and description.
    - Fix Install button height on mobile.
 * TinyMCE:
    - When pasting/inserting content before a view, add new paragraph above it and
      insert the content there.
    - Fix the wpgallery plugin to use a placeholder for galleries when either the
      wpview plugin or wp.mce is not loaded.
    - Update the default styles: increase the font size, and ensure it is the same
      size in tables.
 * Full-height editor:
    - Reset the editor height after the window is resized.
    - Better calculation for the caret position when auto-scrolling while typing.
      Fix auto-scrolling for non-WebKit browsers when the caret is above the top
      of the editor.

### 󠀁[Bundled Themes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#bundled-themes)󠁿

 * Prevent the arrow in “Continue reading” links from wrapping to a second line.
 * Add an alt attribute with the site title for header images linked to the home
   page.

#### 󠀁[Twenty Fourteen](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#twenty-fourteen)󠁿

 * Include Latin Extended font subset for Lato.
 * Improve post thumbnail HTML output
 * Add aria-hidden attribute to reduce verbosity on archive pages
 * Add alt text in archives to avoid confusing link texts
 * Replace ellipses appended to automatically generated excerpts with both ellipses
   and a “Continue Reading” link to meet accessibility-ready requirements
 * Make featured content in Customizer contextual to the front page

#### 󠀁[Twenty Thirteen](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#twenty-thirteen)󠁿

 * Replace ellipses appended to automatically generated excerpts with both ellipses
   and a “Continue Reading” link to meet accessibility-ready requirements
 * Fix non-responsive layout in IE8.
 * Use proper method for retrieving Customizer settings values
 * Add bottom margin to audio and video players

#### 󠀁[Twenty Twelve](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#twenty-twelve)󠁿

 * Fix jQuery selector for menu items with submenus on mobile
 * Use proper method for retrieving Customizer settings values

#### 󠀁[Twenty Eleven](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#twenty-eleven)󠁿

 * Add bottom margin to audio and video players

#### 󠀁[Twenty Ten](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#twenty-ten)󠁿

 * Add bottom margin to audio and video players

### 󠀁[Themes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#themes)󠁿

 * Introduce a new means of outputting a <title> tag in the theme head. Requires
   a theme to add support by calling add_theme_support( ‘title-tag’ ).
 * Introduce some new template functions for navigation, reducing the need for themes
   to define their own sets of navigation functions:
    - [get_the_post_navigation()](https://developer.wordpress.org/reference/functions/get_the_post_navigation)
      and [the_post_navigation()](https://developer.wordpress.org/reference/functions/the_post_navigation)
      for navigation to the next and previous post.
    - [get_the_posts_navigation()](https://developer.wordpress.org/reference/functions/get_the_posts_navigation)
      and [the_posts_navigation()](https://developer.wordpress.org/reference/functions/the_posts_navigation)
      for navigation to the next and previous page of posts.
    - [get_the_posts_pagination()](https://developer.wordpress.org/reference/functions/get_the_posts_navigation)
      and [the_posts_pagination()](https://developer.wordpress.org/reference/functions/the_posts_pagination)
      for paginated navigation between pages of posts. Uses [paginate_links()](https://developer.wordpress.org/reference/functions/paginate_links).
 * Improve body class for page templates:
    - Also convert slash to dash.
    - Add sub-folder name as a separate body class.
    - New classes are additional classes, old syntax will persists for backwards
      compatibility.
    - For example, /page-templates/full-width.php will produce page-template, page-
      template-page-templates, page-template-full-width, and page-template-page-
      templatesfull-width-php.

### 󠀁[Media](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#media-2)󠁿

 * Media Grid/List Table parity: when MEDIA_TRASH is true and trash is the current
   filter for the grid, add a second bulk action button: “Delete Selected”.
 * Account for orphan sizes in [wp_delete_attachment()](https://developer.wordpress.org/reference/functions/wp_delete_attachment)
   by looping over the sizes stored in metadata, instead of relying on the current
   sizes stored in $_wp_additional_image_sizes.
 * Don’t hardcode height for videos so responsive videos work properly.

### 󠀁[Revisions](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#revisions)󠁿

 * Allow revision Backbone classes to be used on pages other than revision.php.
 * Add a single responsibility function for outputting Revisions JS templates: [wp_print_revision_templates()](https://developer.wordpress.org/reference/functions/wp_print_revision_templates).
   Use it in wp-admin/revision.php.
 * Revisions modules should not rely on global settings; only pass in global settings
   on init, this allows the classes to be used agnostically elsewhere.

### 󠀁[Translations](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#translations)󠁿

 * Remove translations when deleting a theme or a plugin.

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

 * Don’t send a welcome notification when noconfirmation has been flagged.
 * Don’t display update count for Themes when the user doesn’t have the update_themes
   cap.
 * Don’t display update count for Plugins when there aren’t any or the count is 
   0.
 * Properly check if the theme is active on the main site to avoid deleting it via
   bulk actions.
 * Include the login URL in the [wp_new_blog_notification()](https://developer.wordpress.org/reference/functions/wp_new_blog_notifications)
   email template.
 * In [activate_plugin()](https://developer.wordpress.org/reference/functions/activate_plugin),
   do not re-run the activation routine for already-active network-wide plugins.
 * Optimize site query when performing network database upgrades.
 * Improve width of input fields on Add New Site and Edit Site screens in Network
   admin.

### 󠀁[Query](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#query)󠁿

 * WP_Meta_Query, WP_Tax_Query, and WP_Date_Query now support a nested query syntax,
   allowing for much more complex and comprehensive queries.
 * The efficiency of meta and tax queries has been improved, with redundant table
   joins having been eliminated in many cases.
 * ‘orderby=meta_value’ now works properly when used in a meta query with the relation‘
   OR’.
 * Tax queries now support the ‘EXISTS’ and ‘NOT EXISTS’ operator.
 * Date queries can now be used properly in conjunction with meta and tax queries.
 * The parameters passed to date queries are now checked to ensure that they contain
   valid date values, generating errors for developers when invalid dates are detected.
 * Users can now be queried by date queries against the ‘user_registered’ column.
 * “Inclusive” logic for date queries has been improved when using the ‘before’ 
   or ‘after’ parameters.

### 󠀁[Comments](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#comments)󠁿

 * Add a class attribute for submit button in comment form.
 * Add an aria-label attribute with commenter’s name to [get_comment_reply_link()](https://developer.wordpress.org/reference/functions/get_comment_reply_link).
 * Add aria-describedby attributes to [comment_form()](https://developer.wordpress.org/reference/functions/comment_form).
 * [comments_template()](https://developer.wordpress.org/reference/functions/comments_template)
   now uses [WP_Comment_Query](https://developer.wordpress.org/reference/classes/wp_comment_query)
   when fetching comments, rather than making a direct query to the database. This
   simplifies and standardizes the techniques required to customize comment queries
   across front- and back-end interfaces.
 * New parameters for [WP_Comment_Query::query()](https://developer.wordpress.org/reference/classes/wp_comment_query/query/):
    - ‘comment__in’
    - ‘comment__not_in’
    - ‘post_author__in’
    - ‘post_author__not_in’
    - ‘author__in’
    - ‘author__not_in’
    - ‘post__in’
    - ‘post__not_in’
    - ‘include_unapproved’
    - ‘type__in’
    - ‘type__not_in’

### 󠀁[Classes](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#classes)󠁿

 * [wpdb::has_cap()](https://developer.wordpress.org/reference/classes/wpdb/has_cap/)–
   Added case ‘utf8mb4’ to the switch statement.

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

 * Introduce [WP_Customize_Sidebar_Section](https://developer.wordpress.org/reference/classes/wp_customize_sidebar_section)

 * Introduce [WP_Customize_Control::get_content()](https://developer.wordpress.org/reference/classes/wp_customize_control/get_content)
 * Introduce [WP_Customize_Control::json()](https://developer.wordpress.org/reference/classes/wp_customize_control/json)
 * Introduce [WP_Customize_Control::print_template()](https://developer.wordpress.org/reference/classes/wp_customize_control/print_template)
 * Introduce [WP_Customize_Color_Control::content_template()](https://developer.wordpress.org/reference/classes/wp_customize_color_control/content_template)
 * Introduce [WP_Customize_Upload_Control::content_template()](https://developer.wordpress.org/reference/classes/wp_customize_upload_control/content_template)

 * Introduce [WP_Customize_Manager::register_control_type()](https://developer.wordpress.org/reference/classes/wp_customize_manager/register_control_type)
 * Introduce [WP_Customize_Manager::render_control_templates()](https://developer.wordpress.org/reference/classes/wp_customize_manager/render_control_templates)

 * Introduce [WP_Customize_Panel::active()](https://developer.wordpress.org/reference/classes/wp_customize_panel/active)
 * Introduce [WP_Customize_Panel::active_callback()](https://developer.wordpress.org/reference/classes/wp_customize_panel/active_callback)
 * Introduce [WP_Customize_Panel::get_content()](https://developer.wordpress.org/reference/classes/wp_customize_panel/get_content)
 * Introduce [WP_Customize_Panel::json()](https://developer.wordpress.org/reference/classes/wp_customize_panel/json)

 * Introduce [WP_Customize_Section::active()](https://developer.wordpress.org/reference/classes/wp_customize_section/active)
 * Introduce [WP_Customize_Section::active_callback()](https://developer.wordpress.org/reference/classes/wp_customize_section/active_callback)
 * Introduce [WP_Customize_Section::get_content()](https://developer.wordpress.org/reference/classes/wp_customize_section/get_content)
 * Introduce [WP_Customize_Section::json()](https://developer.wordpress.org/reference/classes/wp_customize_section/json)
 * Introduce [WP_Error::remove()](https://developer.wordpress.org/reference/classes/wp_error/remove)
 * Introduce [WP_Date_Query::sanitize_query()](https://developer.wordpress.org/reference/classes/wp_date_query/sanitize_query)

 * Introduce [WP_Meta_Query::get_sql_for_clause()](https://developer.wordpress.org/reference/classes/wp_meta_query/get_sql_for_clause)
 * Introduce [WP_Meta_Query::sanitize_query()](https://developer.wordpress.org/reference/classes/wp_meta_query/sanitize_query)
 * Introduce [WP_Query::setup_postdata()](https://developer.wordpress.org/reference/classes/wp_query/setup_postdata)

 * Introduce [WP_Tax_Query::get_sql_for_clause()](https://developer.wordpress.org/reference/classes/wp_tax_query/get_sql_for_clause)
 * Introduce [WP_Tax_Query::sanitize_query()](https://developer.wordpress.org/reference/classes/wp_tax_query/sanitize_query)
 * Introduce [WP_Tax_Query::sanitize_relation()](https://developer.wordpress.org/reference/classes/wp_tax_query/sanitize_relation)

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

 * [count_user_posts()](https://developer.wordpress.org/reference/functions/count_user_posts)–
   Added the $post_type argument.
 * [get_ancestors()](https://developer.wordpress.org/reference/functions/get_ancestors)–
   Added the $resource_type argument.
 * [wp_die()](https://developer.wordpress.org/reference/functions/wp_die) – The 
   $title and $args parameters were changed to optionally accept an integer to be
   used as the response code.
 * [wp_get_nav_menus()](https://developer.wordpress.org/reference/functions/wp_get_nav_menus)–
   Default value of the ‘orderby’ argument was changed from ‘none’ to ‘name’.
 * [wp_make_link_relative()](https://developer.wordpress.org/reference/functions/wp_make_link_relative)–
   Support was added for relative URLs.
 * [wp_send_json_error()](https://developer.wordpress.org/reference/functions/wp_send_json_error)–
   The $data parameter is now processed if a WP_Error object is passed in.

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

 * Introduce [get_the_archive_title()](https://developer.wordpress.org/reference/functions/get_the_archive_title)
 * Introduce [get_the_archive_description()](https://developer.wordpress.org/reference/functions/get_the_archive_description)
 * Introduce [get_the_post_navigation()](https://developer.wordpress.org/reference/functions/get_the_post_navigation)
 * Introduce [get_the_posts_navigation()](https://developer.wordpress.org/reference/functions/get_the_posts_navigation)
 * Introduce [get_the_posts_pagination()](https://developer.wordpress.org/reference/functions/get_the_posts_pagination)
 * Introduce [network_settings_add_js()](https://developer.wordpress.org/reference/functions/network_settings_add_js)
 * Introduce [the_archive_description()](https://developer.wordpress.org/reference/functions/the_archive_description)
 * Introduce [the_archive_title()](https://developer.wordpress.org/reference/functions/the_archive_title)
 * Introduce [the_post_navigation()](https://developer.wordpress.org/reference/functions/the_post_navigation)
 * Introduce [the_posts_navigation()](https://developer.wordpress.org/reference/functions/the_posts_navigation)
 * Introduce [the_posts_pagination()](https://developer.wordpress.org/reference/functions/the_posts_pagination)
 * Introduce [wp_ajax_destroy_sessions()](https://developer.wordpress.org/reference/functions/wp_ajax_destroy_sessions)
 * Introduce [wp_clean_update_cache()](https://developer.wordpress.org/reference/functions/wp_clean_update_cache)
 * Introduce [wp_get_password_hint()](https://developer.wordpress.org/reference/functions/wp_get_password_hint)
 * Introduce [wp_json_encode()](https://developer.wordpress.org/reference/functions/wp_json_encode)
 * Introduce [wp_print_revision_templates()](https://developer.wordpress.org/reference/functions/wp_print_revision_templates)

#### 󠀁[Deprecated](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#deprecated)󠁿

 * [WP_Customize_Image_Control::prepare_control()](https://developer.wordpress.org/reference/classes/wp_customize_image_control/prepare_control)
 * [WP_Customize_Image_Control::add_tab()](https://developer.wordpress.org/reference/classes/wp_customize_image_control/add_tab)
 * [WP_Customize_Image_Control::remove_tab()](https://developer.wordpress.org/reference/classes/wp_customize_image_control/remove_tab)
 * [WP_Customize_Image_Control::print_tab_image()](https://developer.wordpress.org/reference/classes/wp_customize_image_control/print_tab_image)

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

 * The $comment_ID parameter was added to the following filters:
    - [author_email](https://developer.wordpress.org/reference/hooks/author_email)
    - [comment_author](https://developer.wordpress.org/reference/hooks/comment_author)
    - [comment_excerpt](https://developer.wordpress.org/reference/hooks/comment_excerpt)
    - [comment_url](https://developer.wordpress.org/reference/hooks/comment_url)
    - [get_comment_ID](https://developer.wordpress.org/reference/hooks/get_comment_ID)

 * The $comment parameter was added to the [comment_email](https://developer.wordpress.org/reference/hooks/comment_email)
   filter.
 * The $author and $comment_ID parameters were added to the [get_comment_author_link](https://developer.wordpress.org/reference/hooks/get_comment_author_link)
   filter.
 * user_registered was added to the default recognized columns in the [date_query_valid_columns](https://developer.wordpress.org/reference/hooks/date_query_valid_columns)
   filter.
 * The $comment_ID and $comment parameters were added to the following filters:
    - [get_comment_author](https://developer.wordpress.org/reference/hooks/get_comment_author)
    - [get_comment_author_email](https://developer.wordpress.org/reference/hooks/get_comment_author_email)
    - [get_comment_author_IP](https://developer.wordpress.org/reference/hooks/get_comment_author_IP)
    - [get_comment_author_url](https://developer.wordpress.org/reference/hooks/get_comment_author_url)
    - [get_comment_excerpt](https://developer.wordpress.org/reference/hooks/get_comment_excerpt)
    - [get_comment_type](https://developer.wordpress.org/reference/hooks/get_comment_type)
 * The $post_type argument was added to the [get_usernumposts](https://developer.wordpress.org/reference/hooks/get_usernumposts)
   filter.
 * The $depth parameter was added to the following filters:
    - [nav_menu_css_class](https://developer.wordpress.org/reference/hooks/nav_menu_css_class)
    - [nav_menu_item_id](https://developer.wordpress.org/reference/hooks/nav_menu_item_id)
    - [nav_menu_link_attributes](https://developer.wordpress.org/reference/hooks/nav_menu_link_attributes)

 * The $user_login and $user_data parameters were added to the [retrieve_password_message](https://developer.wordpress.org/reference/hooks/retrieve_password_message)
   filter.
 * The $this parameter was added to the [the_post](https://developer.wordpress.org/reference/hooks/the_post)
   action.
 * The $post_type parameter was added to the [wp_editor_expand](https://developer.wordpress.org/reference/hooks/wp_editor_expand)
   filter.
 * The $size parameter was added to the [wp_get_attachment_image_attributes](https://developer.wordpress.org/reference/hooks/wp_get_attachment_image_attributes)
   filter.

#### 󠀁[New Actions](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#new-actions)󠁿

 * Introduce [customize_preview_{$this->type}](https://developer.wordpress.org/reference/hooks/customize_preview_this-type)
 * Introduce [edit_form_before_permalink](https://developer.wordpress.org/reference/hooks/edit_form_before_permalink)
 * Introduce [pre_delete_term](https://developer.wordpress.org/reference/hooks/pre_delete_term)
 * Introduce [wp_creating_autosave](https://developer.wordpress.org/reference/hooks/wp_creating_autosave)

#### 󠀁[New Filters](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#new-filters)󠁿

 * Introduce [comment_reply_link_args](https://developer.wordpress.org/reference/hooks/comment_reply_link_args)
 * Introduce [customize_panel_active](https://developer.wordpress.org/reference/hooks/customize_panel_active)
 * Introduce [customize_section_active](https://developer.wordpress.org/reference/hooks/customize_section_active)
 * Introduce [default_page_template_title](https://developer.wordpress.org/reference/hooks/default_page_template_title)
 * Introduce [get_the_archive_description](https://developer.wordpress.org/reference/hooks/get_the_archive_description)
 * Introduce [get_the_archive_title](https://developer.wordpress.org/reference/hooks/get_the_archive_title)
 * Introduce [image_add_caption_text](https://developer.wordpress.org/reference/hooks/image_add_caption_text)
 * Introduce [meta_query_find_compatible_table_alias](https://developer.wordpress.org/reference/hooks/meta_query_find_compatible_table_alias)
 * Introduce [password_hint](https://developer.wordpress.org/reference/hooks/password_hint)
 * Introduce [pre_get_col_charset](https://developer.wordpress.org/reference/hooks/pre_get_col_charset)
 * Introduce [pre_get_table_charset](https://developer.wordpress.org/reference/hooks/pre_get_table_charset)
 * Introduce [process_text_diff_html](https://developer.wordpress.org/reference/hooks/process_text_diff_html)
 * Introduce [revision_text_diff_options](https://developer.wordpress.org/reference/hooks/revision_text_diff_options)
 * Introduce [script_loader_tag](https://developer.wordpress.org/reference/hooks/script_loader_tag)
 * Introduce [wp_get_revision_ui_diff](https://developer.wordpress.org/reference/hooks/wp_get_revision_ui_diff)
 * Introduce [wp_save_post_revision_post_has_changed](https://developer.wordpress.org/reference/hooks/wp_save_post_revision_post_has_changed)

### 󠀁[External Libraries](https://wordpress.org/documentation/wordpress-version/version-4-1/?output_format=md#external-libraries)󠁿

 * Update to TinyMCE 4.1.7
 * Update to getID3 1.9.8
 * Update to MediaElement 2.16.2
 * Update to Iris 1.0.7

First published

March 13, 2019

Last updated