Changesets included in Core Weekly posts Changesets included in Core Weekly posts

Changes between September 23 and November 9, taken from Core Weekly posts. Revisions covered: [29756] to [30292]. For this list of commits, check the log on Trac.

Anything checked off has already been added to the version page in some form, or skipped.


Admin Admin

  • If the current user does not have the delete_posts cap on the current post type, don’t list delete or trash as bulk actions for the relevant context of Post list table. [29757] #20175 (@kpdesign)
  • TinyMCE: when pasting/inserting content before a view, add new paragraph above it and insert the content there. (@kpdesign)
  • TinyMCE: Use Tahoma for RTL in general and Arial for Hebrew in editor styles. [29773] #29553 (@kpdesign)
  • Fix tapping on the menu in iOS and Android [29770] #29365
  • Don’t display an empty comment author IP link on Comments screen. [29774] #29766
  • In the form handler logic for edit-tags.php, don’t redirect until $_REQUEST['paged']has been checked. All switch cases (except edit) now use break instead of exit. [29782] #16162
  • Show the number of approved comments instead of all comments on the dashboard in the “At a glance” section. [29785] #26738 (@kpdesign)
  • First pass at pinning the admin menu on scrolling similarly to how the side metaboxes are pinned on the Edit Post screen. [29835] #29806 (@kpdesign)
  • Add classes to form containers on Edit User and taxonomy screens. [29803] [29804] #29348 #28196
  • Add default z-index to the admin menu, see [29841] #29806
  • Use correct context for “Name” and “Parent” strings on taxonomy screens. Remove unnecessary context for “Slug” and “Description” strings. [29821] #29824
  • When switching to the Text editor, make the textarea visible to screen readers. [29815] #29815 (@kpdesign)
  • Add a default filter to title_save_pre to avoid extra whitespace. [29801] #19904 (@kpdesign)
  • Add missing labels to category filter dropdowns. [29870] [29871] #29921
  • Differentiate between invalid and missing admin emails when adding a new site [29877] #17890
  • Admin menu: Fix pinning after resizing the window. Merge the two DOM ready callbacks in common.js. Fix the submenus position adjustment on focus. [29898] #29806
  • Themes: Make “Live Preview” the primary action and “Activate” secondary. [29957] #26899 (@kpdesign)
  • Themes: Fix some theme install stylings [29959] #28148 #29556 (@kpdesign)
  • Live-update site title in toolbar when changing the corresponding field in General Settings. [29963] #28682
  • Allow apostrophes in email addresses when adding users via the Dashboard. [29966] #18039
  • Admin menu changes: Fix scrolling the pinned menu with a mouse wheel. Fix pinning when the menu is only slightly taller than the viewport. Disable pinning on IE8, updating CSS top makes it jump when scrolling with a mouse wheel. [29978] #29806
  • Add labels to the Personal Options input fields on the user profile editing screen. [30027] #30101
  • Display error message when Media Library upload fails. [30156] [30177] #29891 (@kpdesign)
  • Delete admin_created_user_subject() rather than deprecate. As it was never used as anything more than a callback to a filter before the MU merge, and is only available in user-new.php in multisite, it is safe to remove this function entirely. [30176] #29915 (@kpdesign)

Editor Editor

  • TinyMCE: fix the ‘wpgallery’ plugin to use a placeholder for galleries when either the ‘wpview’ plugin or wp.mce is not loaded. [29883] #28756 (@kpdesign)
  • Quicktags: move focusing the editor after inserting content to the end of the code blocks. [29884] #29944 (@kpdesign)
  • Editor-expand: reset the editor height after the window is resized. [29886] #29952 (@kpdesign)
  • Editor-expand: 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. [29929] #29954 (@kpdesign)
  • TinyMCE: update the default styles: make the font size larger and make it the same size in tables. [29986] #30038 (@kpdesign)
  • TinyMCE: update to 4.1.6+. Adds support for cache-busting when auto-loading JS and CSS. [29994] #30079 (@kpdesign)
  • Use <button> instead of <a> for the Visual/Text buttons, make them focusable. [30002] #27553 (@kpdesign)
  • First pass at merging the Focus feature plugin. (@kpdesign)

Top ↑

Bundled Themes Bundled Themes

  • Prevent the arrow in “Continue reading” links from wrapping to a second line. [29771] #27908 (@kpdesign)
  • Twenty Fourteen: Include Latin Extended font subset for Lato. [29772] #29690 (@kpdesign)
  • Add an alt attribute with the site title for header images linked to the home page. [29842] #15926 (@kpdesign)
  • 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' ). [30074] #18548 (@kpdesign)
  • Introduce some new template functions for navigation: get_the_post_navigation() and the_post_navigation() for navigation to the next and previous post. get_the_posts_navigation() and the_posts_navigation() for navigation to the next and previous page of posts. get_the_pagination() and the_pagination() for paginated navigation between pages of posts. Uses paginate_links(). This reduces the need for themes to define their own sets of navigation functions. [30065] #29808 (@kpdesign)

Top ↑

Twenty Fifteen Twenty Fifteen

Top ↑

Comments Comments

Top ↑

Customizer Customizer

  • Change instances of “Theme Customizer” to just “Customizer”, as the Customizer isn’t necessarily theme-specific. [29903] #29947 (@eliorivero)
  • Only POST dirty settings to preview to improve performance. [29905] #29983 (@eliorivero)
  • Don’t trigger a change event if two unchanged object values are equal, second pass. [29907] #26061 (@eliorivero)
  • Introduce customize_preview_$setting->type action to handle multiple settings of the same type. [29948] #29165 (@eliorivero)
  • Extract content markup for panels to its own method,WP_Customize_Panel::render_content(). This allows to override the behavior of a panel and its contents. [29950] #29324 (@eliorivero)
  • Add the ability for a customizer control to render its controls via a JavaScript template. Switches the default color picker control to a JavaScript template. [30014] #29572 (@eliorivero)
  • Improve/introduce Customizer JavaScript models for Controls, Sections, and Panels, along with a reference. [30102] see #28032, #28579, #28580, #28650, #28709, #29758. Fixes #29529. (@eliorivero)
  • Improve ColorControl‘s wpColorPicker to update UI based on setting changes. Update Twenty Fifteen’s colorScheme control to properly interact with the API, using wp.customize.control(). [30126] #30031 (@eliorivero)
  • Add stable sorting for panels, sections and controls in JS. Improve sorting in PHP. [30214] #30225 (@eliorivero)
  • Bind input and propertychange events for range input types. [30219] #30223 (@eliorivero)
  • Twenty Fourteen: Make featured content in Customizer contextual to the front page. [30143] #29578 (@kpdesign)

Top ↑

External Scripts External Scripts

  • Update jQuery UI to 1.11.1. Rename all files, remove the jquery.ui. prefix. Add old files to $_old_files. Add and use non-minified files in /src. Add grunt task to minify jQuery UI files. (Non-minified files will not be shipped.) [29847] #29833 (@kpdesign)
  • Update jQuery UI to 1.11.2. [29920] #29833 (@kpdesign)

Top ↑

Internals Internals

  • wp_extract_urls() needs to also grab URLs with query strings and hashes. [29756] #29314
  • In wp_ajax_replyto_comment(), if $_POST['comment_type'] is set, use it for the value of $comment_type, which the compact() call has assumed is set since [8720]. It never was. [29758] #29704
  • Ordering by RAND(): The shortcode callbacks for gallery and playlist check for 'RAND' == $atts['order'], which isn’t a valid value for order. Remove those checks and update the docs. In WP_Query, if the value of orderby is rand, order is irrelevant and should be unset. [29760] #29629
  • Add safeguards for when ext/hash is not compiled with PHP. [29761] [29751] #29518
  • Improve and clarify inline commenting inside the check_comment() function. [29763] [29762] #29734
  • Create correct permalinks for child posts of hierarchical post types when default permalinks are used. [29765] #29615
  • Allow bookmarks to be ordered by link_description in get_bookmarks(). [29778] #29763
  • In paginate_links(), ensure that query string args are propagated to the resulting paginated links. [29780] #29636
  • The joys of wptexturize(): Revert parts of [28773] and [28727] and [29748]. Do not ignore unclosed HTML comments. Do not break unregistered shortcodes, e.g. [hello attr=”value”], or when there is extra whitespace, e.g. [ hello ]. Do not break HTML in shortcode attributes, e.g. [hello attr=”<”]. [29781] #29557
  • Use SSL for all references to WordPress.org [29787] [29788] [29789] #27115 (@kpdesign)
  • Change the default orderby value in wp_get_nav_menus() to 'name'. [29792] [29796] #29460 (@kpdesign)
  • Handle deficiencies in PHP’s parse_url in older versions of PHP (<5.4.7) in WP_HTTP::make_absolute_url(). Correctly handle url’s containing url’s in WP_HTTP::make_absolute_url(). Correctly support Schemeless URLs in WP_HTTP::make_absolute_url() by respecting the ‘host’ field if present in the relative url. [29851] [29850] [29861] #28001, #29886
  • New remove() method and some unit tests for the WP_Error class. @29854 #28092 (@kpdesign)
  • Return an error when adding a term to a non-existent parent. [29867] #29614
  • Add a 6th (!) attribute to wp_get_attachment_link() to allow aria-describedby to be added to gallery output. [29914] #27402
  • Cache get_term_by() calls: Add a helper function, wp_get_last_changed(), to retrieve a last-modified timestamp by cache group. Original term cache entries maintain BC. [29915] #21760 (@kpdesign)
  • wp_schedule_single_event() should not prevent scheduling a future duplicate event. It should only reject an event as a duplicate if there is already a similar event scheduled within 10 minutes of the given timestamp. [29939] #28213
  • Add ID attribute to style element from wp_add_inline_style(). [29956] [29958] #30032
  • Move password hint text to a function. Add password_hint filter. [29962] #21243 (@kpdesign)
  • HTTP API: Support both the limit_response_size and stream parameters at the same time, allowing a partial file download. [29968] #26726
  • Deprecate admin_created_user_subject() [30005] #29915 (@kpdesign)
  • Introduce an edit_form_before_permalink action which gets fired after the title field but before the permalink fields. [30028] #29691 (@kpdesign)
  • In wp_link_pages(), only output link separators between actual pagination links. [30030] #24940
  • Rename _wp_password_hint() to _wp_get_password_hint() to bring it inline with core terminology. [30033] #21243 (@kpdesign)
  • Don’t add sticky class in get_post_class() if ignore_sticky_posts query var is set. [30036] #18035 (@kpdesign)
  • Don’t display Standard post format twice in the meta box if the theme unnecessarily mentions it in the add_theme_support() call. [30038] #16555
  • Add comment_reply_link_args filter for get_comment_reply_link() arguments. [30039] #10569 (@kpdesign)
  • Allow slug param of get_terms() to accept an array. [30042] #23636
  • Introduce orderby=include support for get_terms(). [30052] #23261
  • Remove UNIQUE key from slug column of terms table. [30056] #22023
  • Add wp_json_encode(), a wrapper for json_encode() that ensures everything is converted to UTF-8. Change all core calls from json_encode() to wp_json_encode(). [30055] #28786
  • Introduce wp_is_trusted_network(). A first step to establish concepts around trusted and untrusted networks. [30071] #30145 (@kpdesign)
  • Don’t hardcode height for videos – this was a workaround for MediaElement internals causing problems. Responsive videos now work properly and don’t cause extra whitespace. [30082] #30078 (@kpdesign)
  • Introduce some actions and filters which aid plugins in revisioning post meta. [30091] #20564 (@kpdesign)

Top ↑

Database Database

  • Bump db_version and add upgrade routine for schema change in [30056]. [30121] [30134] #22023
  • WPDB’s __get() function should perform strict comparisons against member names. [30292]

Top ↑

Metadata Metadata

Top ↑

Queries Queries

  • Use the primary meta_query clause when parsing orderby in WP_Query. [29855] #16814
  • Introduce support for nested queries in WP_Meta_Query. [29887] #29642
  • Use only LEFT JOINs when a meta_query contains a NOT EXISTS clause. [29890] #29062
  • Introduce support for nested queries in WP_Tax_Query. [29891] #29718 #29738
  • Support EXISTS and NOT EXISTS in WP_Tax_Query. [29896] #29181
  • Support nested tax query syntax in redirect_canonical(). [29901] #29738
  • Avoid redundant table joins in WP_Tax_Query. [29902] #18105
  • Check that search value is scalar before parsing. Prevents PHP notices when non-scalar values are passed. [29912] #29736
  • Introduce nested query support to WP_Date_Query. [29923] #29822
  • Throw notices _doing_it_wrong() notices are now generated when passing out-of-range values (month=13) or invalid dates (2014-02-29) to WP_Date_Query. [29925] #25834
  • Support date_query by user_registered in WP_User_Query. [29934] #27283
  • Comment/post author in/not_in for WP_Comment_Query. [29935] #29885
  • Better “inclusive” support for string values in WP_Date_Query. [29936] #29908
  • Allow ORDER BY in WP_Comment_Query::query() to be disabled. [30004] #29902 DisableORDER BY by passing boolean false, an empty array, or the string none to the orderbyparameter. This mirrors the behavior of WP_Query.
  • Accept orderby=include in WP_User_Query. [30016] #30064 This lets the results of a user query be sorted manually by the value of the include param.
  • Fix count in WP_Comment_Query when using meta_query. [30026] #23369
  • Optimize site query when performing network database upgrades [30029] #30097 (@kpdesign)
  • Improve WP_Tax_Query param sanitization for empty strings. [30031] #30117
  • Support multiple status values in WP_Comment_Query. [30084] #29612
  • Improvements to WP_User_Query [30094] #23849, #27026 and WP_Comment_Query [30098] #12668.
  • Introduced dayofweek_iso time param for WP_Date_Query. [30142] #28063 (@kpdesign)

Top ↑

Revisions Revisions

  • Allow revision Backbone classes to be used on pages other than revision.php. [30128] #30221 (@kpdesign)
  • Add a single responsibility function for outputting Revisions JS templates: wp_print_revision_templates(). Use it in wp-admin/revision.php. [30129] #30220 (@kpdesign)
  • Revisions modules should not rely on global settings; only pass in global settings on init, this allows the classes to be used agnostically elsewhere. [30131] #30219 (@kpdesign)

Top ↑

Taxonomies Taxonomies

  • Do not create shared taxonomy terms. [30240] #21950; See #5809. (@kpdesign)
  • Split shared taxonomy terms during term update. [30238] [30239] [30241] #5809 (@kpdesign)
  • Don’t force child_of=0 for non-hierarchical taxonomies in get_terms(). [30265] #30275
  • In get_adjacent_post(), $excluded_terms should check term_id rather than term_taxonom_id. [30263] #29663, #22112.
  • Allow resource_type to be specified in get_ancestors(). Being explicit about resource type (taxonomy vs post_type) allows for the proper resolution of conflicts when a taxonomy and post_type share a slug. [30141] #15029
  • In wp_insert_term(), clean up accidental duplicate terms after insert. [30238] See #22023, #5809.
  • Add some unit tests for is_object_in_term(). These tests check a number of the ways that different kinds of values for $terms (integers that match term_id, strings that match term_id or name or slug) are handled. [30204] #29467
  • In in_object_in_term(), only check numeric string values against term_id. [30205] #29467
  • Introduce term_template param to get_the_taxonomies() to allow theme and plugin authors to specify the formatting on term links as they are parsed into the taxonomy list. [30209] See #27238.
  • Allow duplicate slugs across different post types. [30158] #18962
  • In get_terms(), do not override hierarchical and pad_count when parent is present. The previous behavior resulted in descendant terms being improperly excluded from the results when passing a parent, even when hierarchical had been set to true. [30107] #29815
  • Clean up get_term_by() caching, fix cache key/group modification that was missed in [30073], and update unit tests. [30108] #21760 (@kpdesign)

Top ↑

Language Packs Language Packs

Top ↑

Media Media

  • Add two properties to media.model.Attachments.propmap: include and exclude, which are aliases for post__in and post__not_in. This allows you to instantiate a library that includes and/or excludes specific attachments by passing a single ID or an array of IDs. [29759] #26587 (@kpdesign)
  • Disable multi-file uploading in iOS 7.x Safari as it prevents uploading of videos. [29776] #29602 (@kpdesign)
  • When the modal is open, don’t respond to arrow keys when <textarea> has focus. [29777] #29725 (@kpdesign)
  • Add size to the UI for Gallery Settings in the media modal. Ensure that the TinyMCE view is refreshed when size changes. [29779] #18143 (@kpdesign)
  • Account for MEDIA_TRASH in both the Media Grid and Media List Table. [29810] [29811] [29812] #29742 (@kpdesign)
  • Add the date filter from media grid to the media modal. [29813] #28990 (@kpdesign)
  • Add a namespace to the click handler registration for .insert-media in media-editor.js: click.add-media-button to allow devs to override the default behavior. [29802] #23096 (@kpdesign)
  • In wp_delete_attachment(): account for orphan sizes by looping over the sizes stored in metadata, instead of relying on the current sizes stored in $_wp_additional_image_sizes. [29816] #24518 (@kpdesign)
  • For attachment-compat fields, show a spinner while wp.media.model.Attachment.saveCompat() is firing. #27028 [29831]
  • In the admin, give media list table icons auto for width and height. In the post thumbnail metabox, apply width: auto. If someone turns on support SVG files, this will allow them to show up. [29832] #26256
  • Allow PSDs (Photoshop documents) to be uploaded. [29833] #28805 (@kpdesign)
  • Fix setting default quality in WP_Image_Editor. [29834] #29856 (@kpdesign)
  • Pass the requested size to wp_get_attachment_image_attributes filter. [29836] #29869 (@kpdesign)

Top ↑

Multisite Multisite

Top ↑

Network Admin Network Admin

  • Don’t display update count for Themes when the user doesn’t have the update_themes cap. [29817] #29651 (@kpdesign)
  • Don’t display update count for Plugins when there aren’t any/count is 0 [29817] #29651 (@kpdesign)
  • Properly check if the theme is active on the main site to avoid deleting it via bulk actions. [29839] #29861 (@kpdesign)

Top ↑

Plugins Plugins

Top ↑

Templates Templates

  • Introduce new template functions for archive titles and descriptions: get_the_archive_title() and the_archive_title() for returning/displaying the title of the current term, date, post type, post format, or author archive. get_the_archive_description() and the_archive_description() for returning/displaying the description associated with the current term archive.[30223] #21995 (@kpdesign)
  • In get_page_children(), only check $page->ancestors once to avoid duplicates when the function recurses. Adds an argument, $ancestors. [30246] #18962 (@kpdesign)
  • Allow get_pages(), with child_of passed to it, to work with interrupted hierarchies. [30159] #18962 (@kpdesign)

Top ↑

Users Users

  • In the wp_new_blog_notification() email template, include the login url. [29806] #21089 (@kpdesign)
  • Always sanitize user_nicename in wp_insert_user() to avoid broken author archive permalinks. [29819] #29696 (@kpdesign)