Week In Core, May 18 – May 24 2016

Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [37457-37550]. Here are the highlights:

  • 93 commits
  • 33 contributors
  • 67 tickets created
  • 11 tickets reopened
  • 77 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • The Thickbox “Close” control should always be a button. [37531] #36267


  • During password reset, user-submitted login/email should be stripslashed. This prevents errors when an email address contains an apostrophe. See [29966] for similar treatment of a related problem. [37474] #36322
  • Refine the FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients. credentials form interaction. Properly toggle SSH2 Authentication Keys fieldset visibility. [37467] #34376


  • Make sure that preview and return URLs are URLs. [37527] #
  • Replace invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. reference to $_SERVER['customized'] with $_POST['customized']. Introduced in r31421. [37520] #36852
  • Add setting validation model and control notifications to augment setting sanitization. See #30937. [37476] #35210, #30937, #34893


  • Don’t generate unnecessary warnings in wpdb::query(). [37548] #23085
  • Support backticks around field names when parsing a query for the field type. [37538] #20263
  • Remove debug comments in dbDelta(). [37533] #
  • Reduce the number of strtolower() calls in dbDelta(). [37532] #36919
  • dbDelta() will no longer try to downgrade the size of TEXT and BLOB columns. [37525] #36748
  • Remove some duplicate code. schema.php was manually defining the character set/collation query, instead of using wpdb::get_charset_collate(). [37524] #35756
  • Use the utf8mb4_unicode_520_ci collation, when available. [37523] #32105
  • Obey localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English.-specific utf8 collation settings. [37521] #32405


  • Fix the hook doc for upgrader_process_complete to notate all values that might be present in the hook_extra array in the various update contexts. h/t Nextendweb. [37550] #32246
  • The $context parameter in remove_meta_box() is not optional. [37545] #32246
  • Apply inline @see tags to hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. referenced in DocBlocks in following list of files. Applying these specially-crafted @see tags allows the Code Reference parser to recognize and link these elements as actions and filters.
  • Standardize filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. docs in root folder files to use third-person singular verbs per the inline documentation standards for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. [37535] #36913
  • Update the return notation for get_current_screen() to note that null can also be returned if the screen has not been defined. [37534] #36382
  • Standardize filter docs in following files:
  • Standardize hook docs in following files:
  • Remove/replace invalid inline @link tags in DocBlocks in:
  • Fix some parameter alignment and backtick-escaping in two DocBlocks in wp-admin/includes/media.php. [37484] #32246
  • Remove invalid inline @link tags from docs in wp-admin/includes/media.php. [37483] #36910
  • Improve @return documentation for WP_Comment_Query::get_comments(). [37482] #36896
  • Correct @since tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) for Emoji SVG filters [37473] #36525
  • Correct variable type for WP_Upgrader::$strings. [37462] #36883
  • Fix an incorrect Codex link in the file headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. for wp-includes/cache.php. Introduced in [7990]. [37460] #36880


  • Ensure embed widths are integers. This prevents a warning in PHP trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. when a non-integer width is passed. [37549] #36435


External Libraries

  • Update jQuery to 1.12.4. Merge of [37433] and [37526] to the 4.5 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. [37528] #36533
  • Update jQuery to 1.12.4. #36533
  • Update jQuery Migrate to 1.4.1 [37472] #36892
  • After [37402], replace two more instances of split() with explode() in wp-includes/atomlib.php. [37461] #20673


Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site

  • Clean up WP_Error documentation and handling in wp-signup.php [37547] #36927
  • Disable autocapitalize and autocorrect for user_name input on signup [37546] #36833
  • Introduce WP_Site_Query Provides a consistent way to query $wpdb->blogs for WP_Site objects. [37477] #35791
  • Wrap the main bootstrap process in a function Introduce ms_load_current_site_and_network. [37475] #34941
  • Introduce get_site(). [37468] #35791
  • Filter the links displayed on “Edit Site” views. [37466] #15800

Post Types

  • In get_page_by_path(), values fetched from cache should obey $output param. Introduced in [37479]. [37481] #36711
  • Cache queries in get_page_by_path(). [37479] #36711
  • Improve tests for get_page_by_path(). Move existing test into its own file. Add tests that cover most pieces of functionality. [37478] #36711

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • get_terms() ‘search’ test should have more precise fixtures. [37519] #13992, #35381
  • Move get_the_terms() tests to their own file. [37480] #36814
  • Introduce required argument for wp_dropdown_categories(). This allows the HTML5 required attribute to be added to the select element. [37465] #31909
  • Move wp_dropdown_categories() tests into their own file. [37464] #31909
  • Beautify, simplify, lovelify, alignify the default argument array in wp_dropdown_categories(). [37463] #31909


  • In wp_get_archives() use add_query_arg() instead of sprintf() to build the archive URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. [37530] #36414



Thanks to @afercia, @barryceelen, @bassgang, @boonebgorges, @Bueltge, @c3mdigital, @celloexpressions, @craig-ralston, @davidmosterd, @dcavins, @DrewAPicture, @flixos90, @jeremyfelt, @johnjamesjacoby, @jorbin, @josephscott, @mbijon, @michaelbeil, @mrahmadawais, @mt8biz, @Mte90, @ocean90, @pcarvalho, @pento, @peterwilsoncc, @rafaelangeline, @screamingdev, @SergeyBiryukov, @spacedmonkey, @sudar, @tloureiro, @travisnorthcutt, @westonruter, and @wzislam for their contributions!

#4-6, #week-in-core