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

Administration

  • 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

Customize

  • Makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). 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

Database

  • 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

Docs

  • 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. [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

Embeds

  • 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

Emoji

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

Menus

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 Sitesite (versus network, blog)” 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

Template

  • 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

Tests

Props

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

Component Page Updates for 4.4

Now that 4.4 is underway, let’s update the component pages to reflect 4.4 activity. The Customize, Editor, and Press This pages serve as good templates, though they all need 4.4 updates. The component pages are targeted at betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. testers. They should describe the component, list milestones (roadmap), and explain what needs testing and how to test it. Good component pages assist triage. For details, see the previous round of component page updates.

Also, if your component has a corresponding SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. chat, link to the component page from the chat’s channel topic. This assists using Slack in beta testing flows.

Component maintainers, here are your component pages…

Continue reading

#components, #maintainership

Commit announcements for 3.9

Lots of news to share! First: Helen Hou-Sandí has had guest commit for the past three releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. cycles. She’s been spending the last year reviewing contributions, mentoring contributors, and working on some of our larger UIUI User interface projects. I’m proud to announce @helen is now a permanent committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. to WordPress!

We’ve invited John Blackbourn (@johnbillion) to be a committer for the 3.9 cycle. His strong, consistent contributions have been backed by excellent judgment and temperament.

Matt Thomas, who led the dashboard redesign in 3.8 (and 3.2, and 2.7, etc.), will keep his commit to continue to maintain and improve WordPress UI. He’s been a great mentor to many contributing designers and his long-term impact is indelible.

For the last few years, we’ve been granting commit access on per-cycle basis, sometimes for a particular component, feature, etc. Generally, after about a year, a guest committer can be considered for permanent commit access. Dominik Schilling, Sergey Biryukov, Drew Jaynes, and Scott Taylor have all had their commit extended for 3.9.

Drew (@DrewAPicture) was given temporary commit for inline documentation starting with 3.7. He’s been heading up the long-running initiative to document every hook in WordPress. Scott (@wonderboymusic) also started committing during 3.7, and has a particular penchant for digging deep into the query and 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. APIs. And Sergey (@SergeyBiryukov) and Dominik (@ocean90), well, they are forces of nature.

(@aaroncampbell was also given guest commit in 3.7, but he ended up not having much time to use it.)

Here’s a full list of those with permanent commit: @markjaquith, @ryan, @westi, @matt, @azaozz, @dd32, @koopersmith, @duck_, @helen, and me (@nacin); @lancewillett for bundled themes; @iammattthomas for UI. You might have also seen commits before from @josephscott (XML-RPC), @nbachiyski (internationalization), and @mdawaffe (secret weapon for really tricky problems).

Next weekly meeting is January 8. Happy new year, everyone. Here’s to a great 2014.

#3-9, #commit