On December 8, 2015, WordPress Version 4.4, named for jazz musician Clifford Brown, 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.4.
For Version 4.4, the database version (db_version in wp_options) changed to 35700, and the Trac revision was 35842.
Highlights
- New Default Theme – Twenty Sixteen
- Modern take on the classic blog design
- Flexible header and fun color schemes will make your content shine
- Mobile-first and responsive
The Finer Points
- Responsive images:
WordPress now takes a smarter approach to displaying appropriate image sizes on any device, ensuring a perfect fit every time. You don’t need to do anything to your theme, it just works.
- Embed your WordPress content:
Now you can embed your posts on other sites, even other WordPress sites. Simply drop a post URL into the editor and see an instant embed preview, complete with the title, excerpt, and featured image if you’ve set one. We’ll even include your site icon and links for comments and sharing.
- Even more embed providers:
In addition to post embeds, WordPress 4.4 also adds support for five new oEmbed providers: Cloudup, Reddit Comments, ReverbNation, Speaker Deck, and VideoPress.
For Developers
- REST API infrastructure: Infrastructure for the REST API has been integrated into core, the first part of a multi-stage rollout. Inclusion of core endpoints is targeted for an upcoming release. To get a sneak peek of the core endpoints, and for more information on extending the REST API, check out the official WordPress REST API plugin.
- Term meta: Terms now support metadata, just like posts. See add_term_meta(), get_term_meta(), and update_term_meta() for more information.
- Comment query improvements: Comment queries now have cache handling to improve performance. New arguments in WP_Comment_Query make crafting robust comment queries simpler.
- Term, comment, and network objects: New WP_Term, WP_Comment, and WP_Network objects make interacting with terms, comments, and networks more predictable and intuitive in code.
What’s New
General
- Developer reference – Improvements to inline code documentation.
- i18n support – Improvements to translation strings all over the core.
- Admin page headings were adjusted from H3 to H2 tags to reinforce page hierarchy
- Improvements to how list tables are displayed on all size screens
Posts
- The post/page permalink UI was simplified, linking the permalink and removing the “View” button
Media
Comments
- The “View Comment” link was relocated from the Status meta box in the comment-editing screen
- Many comment functions can now accept a full object instead of ‘comment_ID’ to reduce cache/db lookups
- Orphaned comments now fall back to the ‘edit_posts’ capability
Appearance
- Site icons will now fall back to the ‘full’ size URL when the ‘thumbnail’ size doesn’t exist
Users
Install Process
Multisite
- The language chooser was added to the new site form on wp-signup.php
- Sites may no longer be created with the following reserved slugs: wp-admin, wp-content, wp-includes, or wp-json
Accessibility
Under The Hood
General
- Unclosed HTML elements in shortcode attributes were disallowed
- HTML was removed from all translatable text strings
- Rewrite rules are now flushed on theme switch
- Most core classes were moved to their own files
Embeds
- Add oEmbed support for Cloudup.
- Add oEmbed support for Reddit Comments.
- Add oEmbed support for ReverbNation.
- Add oEmbed support for Speaker Deck.
- Add oEmbed support for VideoPress.
- Remove oEmbed support for Blip.
JavaScript
- Customizer: Ensure persistence of unchanged active state for controls, sections, and panels
- Customizer: Fixed logic for determining the container element when focusing on a panel, section, or control
- Customizer: Fixed clearing of a color control’s setting by using proper empty value
Bug Fixes
- Fail gracefully when checking mapped capabilities against unregistered post types
- Visibility was restored for the Tags auto-suggest tooltip in Quick Edit
- The $public_only parameter was added to count_user_posts()
- Cron: Events are now rejected when the provided $timestamp value is not a valid timestamp
- Users with no role are now redirected to the home page on login instead of their profile-editing screen
Multisite
- A network can now be retrieved by its ID through WP_Network::get_instance()
- A network can now be created or completed by passing arguments to WP_Network
- Network-level capabilities were clarified and some long-time bugs were fixed
Classes
What’s New
- WP_Comment_Query->$found_comments
- WP_Comment_Query->$max_num_pages
- WP_Comment_Query->$meta_query_clauses
- WP_Comment_Query->$sql_clauses
- WP_Comment_Query::fill_descendants()
- WP_Comment_Query::get_comment_ids()
- WP_Customize_Manager->$autofocus
- WP_Customize_Manager->$preview_url
- WP_Customize_Manager->$return_url
- WP_Customize_Manager::customize_pane_settings()
- WP_Customize_Manager::get_autofocus()
- WP_Customize_Manager::get_document_title_template()
- WP_Customize_Manager::get_preview_url()
- WP_Customize_Manager::get_return_url()
- WP_Customize_Manager::is_ios()
- WP_Customize_Manager::set_autofocus()
- WP_Customize_Manager::set_preview_url()
- WP_Customize_Manager::set_return_url()
- WP_Customize_Setting->$is_multidimensional_aggregated
- WP_Customize_Setting->$is_previewed
- WP_Customize_Setting::$aggregated_multidimensionals
- WP_Customize_Setting::_multidimensional_preview_filter()
- WP_Customize_Setting::aggregate_multidimensional()
- get_root_value/ WP_Customize_Setting::get_root_value()
- id_data/ WP_Customize_Setting::id_data()
- set_root_value/ WP_Customize_Setting::set_root_value()
- WP_Customize_Widgets::get_widget_control_parts()
- WP_Customize_Widgets::is_panel_active()
- WP_Filesystem_SSH2::sftp_path()
- WP_HTTP_Response
- WP_List_Table::get_primary_column()
- WP_Locale->$start_of_week
- WP_MS_Sites_List_Table::column_id()
- WP_MS_Users_List_Table::column_id()
- WP_Media_List_Table->$comment_pending_count
- WP_Network
- WP_Posts_List_Table::get_edit_link()
- WP_Query->$is_embed
- WP_Query->$updated_comment_meta_cache
- WP_Query->$updated_term_meta_cache
- WP_Query::is_embed()
- WP_Query::lazyload_comment_meta()
- WP_Query::lazyload_term_meta()
- WP_REST_Request
- WP_REST_Response
- WP_REST_Server
- WP_Screen->$_screen_reader_content
- WP_Screen::get_screen_reader_content()
- WP_Screen::get_screen_reader_text()
- WP_Screen::remove_screen_reader_content()
- WP_Screen::render_list_table_columns_preferences()
- WP_Screen::render_meta_boxes_preferences()
- WP_Screen::render_screen_reader_content()
- WP_Screen::render_view_mode()
- WP_Screen::set_screen_reader_content()
- WP_Term
- >$update WP_Theme
- WP_User::__unset()
- >$request WP_User_Query
- WP_User_Query::fill_query_vars()
- WP_Users_List_Table::get_role_list()
- WP_Widget_Calendar::$instance
- WP_Widget_Tag_Cloud::_get_current_taxonomy()
- WP_oEmbed_Controller
- wpdb->$termmeta
Deprecated
Functions
What’s New
- _prime_comment_caches()
- add_network_option()
- add_term_meta()
- delete_network_option()
- delete_term_meta()
- enqueue_embed_scripts()
- get_header_image_tag()
- get_html_split_regex()
- get_network_option()
- get_oembed_endpoint_url()
- get_oembed_response_data()
- get_oembed_response_data_rich()
- get_password_reset_key()
- get_post_embed_html()
- get_post_embed_url()
- get_preview_post_link()
- get_rest_url()
- get_shortcode_atts_regex()
- get_subdirectory_reserved_names()
- get_term_meta()
- get_the_author_posts_link()
- get_the_comments_navigation()
- get_the_comments_pagination()
- get_the_post_thumbnail_url()
- is_embed()
- is_post_type_viewable()
- is_registered_sidebar()
- map_deep()
- print_embed_comments_button()
- print_embed_scripts()
- print_embed_sharing_button()
- print_embed_sharing_dialog()
- print_embed_styles()
- register_rest_route()
- rest_api_default_filters()
- rest_api_init()
- rest_api_loaded()
- rest_api_register_rewrites()
- rest_cookie_check_errors()
- rest_cookie_collect_status()
- rest_do_request()
- rest_ensure_request()
- rest_ensure_response()
- rest_get_date_with_gmt()
- rest_get_url_prefix()
- rest_handle_deprecated_argument()
- rest_handle_deprecated_function()
- rest_handle_options_request()
- rest_output_link_header()
- rest_output_link_wp_head()
- rest_output_rsd()
- rest_parse_date()
- rest_send_allow_header()
- rest_send_cors_headers()
- rest_url()
- signup_get_available_languages()
- strip_fragment_from_url()
- stripslashes_from_strings_only()
- the_comments_navigation()
- the_comments_pagination()
- the_excerpt_embed()
- the_header_image_tag()
- the_post_thumbnail_url()
- update_network_option()
- update_term_meta()
- update_termmeta_cache()
- urldecode_deep()
- wp_ajax_delete_inactive_widgets()
- wp_ajax_generate_password()
- wp_ajax_save_wporg_username()
- wp_calculate_image_sizes()
- wp_calculate_image_srcset()
- wp_embed_excerpt_attachment()
- wp_embed_excerpt_attachment()
- wp_filter_oembed_result()
- wp_get_attachment_image_sizes()
- wp_get_attachment_image_srcset()
- wp_get_attachment_image_url()
- wp_get_document_title()
- wp_get_server_protocol()
- wp_get_users_with_no_role()
- wp_handle_comment_submission()
- wp_image_add_srcset_and_sizes()
- wp_installing()
- wp_is_numeric_array()
- wp_make_content_images_responsive()
- wp_maybe_decline_date()
- wp_new_comment_notify_moderator()
- wp_new_comment_notify_postauthor()
- wp_oembed_add_discovery_links()
- wp_oembed_add_host_js()
- wp_oembed_ensure_format()
- wp_oembed_register_route()
- wp_parse_url()
- wp_remote_retrieve_cookie()
- wp_remote_retrieve_cookie_value()
- wp_remote_retrieve_cookies()
- wp_removable_query_args()
- wp_rest_server_class()
- wp_send_new_user_notifications()
- wp_term_is_shared()
Deprecated
Actions & Filters
New Actions
- after_password_reset
- after_signup_site
- after_signup_user
- attachment_updated
- before_signup_header
- clean_user_cache
- customize_post_value_set
- customize_post_value_set_{$setting_id}
- delete_plugin
- delete_widget
- deleted_plugin
- edit_user_created_user
- embed_content
- embed_content_meta
- embed_footer
- embed_head
- enqueue_embed_scripts
- invite_user
- manage_posts_extra_tablenav
- ms_network_not_found
- network_site_new_created_user
- network_site_users_created_user
- network_user_new_created_user
- page_attributes_meta_box_template
- post_submitbox_minor_actions
- pre_auto_update
- register_new_user
- rest_api_init
- wp_add_nav_menu_item
- wp_mail_failed
- wp_verify_nonce_failed
New Filters
- admin_post_thumbnail_size
- comment_excerpt_length
- comment_form_fields
- content_pagination
- customize_loaded_components
- dashboard_recent_drafts_query_args
- dashboard_secondary_items
- default_hidden_columns
- document_title_parts
- document_title_separator
- duplicate_comment_id
- embed_html
- embed_oembed_discover
- embed_site_title_html
- embed_template
- embed_thumbnail_image_shape
- embed_thumbnail_image_size
- enclosure_links
- expiration_of_site_transient_{$transient}
- expiration_of_transient_{$transient}
- export_wp_filename
- feed_links_show_comments_feed
- feed_links_show_posts_feed
- found_comments_query
- get_header_image_tag
- get_page_of_comment
- get_page_uri
- get_post_status
- get_role_list
- get_sample_permalink
- get_terms_defaults
- get_{$adjacent}_post_excluded_terms
- hidden_columns
- illegal_user_logins
- image_get_intermediate_size
- insert_user_meta
- max_srcset_image_width
- mejs_settings
- nav_menu_item_args
- nav_menu_item_title
- navigation_markup_template
- network_admin_plugin_action_links
- network_admin_plugin_action_links_{$plugin_file}
- notify_moderator
- notify_post_author
- oembed_discovery_links
- oembed_endpoint_url
- oembed_min_max_width
- oembed_response_data
- old_slug_redirect_url
- plugin_action_links
- plugin_action_links_{$plugin_file}
- post_edit_category_parent_dropdown_args
- post_embed_url
- postmeta_form_keys
- pre_delete_post
- pre_get_document_title
- pre_get_lastpostmodified
- register_post_type_args
- register_taxonomy_args
- respond_link
- rest_url
- rest_url_prefix
- screen_options_show_submit
- show_network_active_plugins
- signup_get_available_languages
- subdirectory_reserved_names
- submenu_file
- taxonomy_labels_{$taxonomy}
- the_category_list
- the_excerpt_embed
- update_right_now_text
- user_profile_picture_description
- users_list_table_query_args
- view_mode_post_types
- wp_calculate_image_sizes
- wp_calculate_image_srcset
- wp_dropdown_users_args
- wp_http_ixr_client_headers
- wp_post_revision_title_expanded
- wp_prepare_revision_for_js
- wp_theme_editor_filetypes
- xmlrpc_chunk_parsing_size