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 [40857-40877]. Here are the highlights:

  • 21 commits
  • 25 contributors
  • 43 tickets created
  • 3 tickets reopened
  • 46 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

  • Dashboard: Better titles for the Recent Drafts widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.. [40877] #37595

Build/Test Tools

  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 5.2 compatibility for grandchild methods which expect exceptions to be raised. [40876] #39822
  • Fixed support of PHPUnit_Framework_TestCase as the base class. [40873] #39822

Bundled Theme

  • Import Twenty Sixteen, default theme for 2016. [40860] #36497
  • Import Twenty Sixteen for the 4.6 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".. [40857] #36497

Help/About

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Improve translator comments for strings in the community events widget. [40866] #40865

Media

  • Fix an issue selecting media when clicking item edges. [40874] #40578

Misc

  • 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. is really 4.9-alpha now [40871] #
  • Trunk is now 4.9-alpha [40870] #
  • Branch 4.8 [40869] #
  • Bump version after RC2 [40868] #
  • Bump version for WordPress 4.8 RC2 [40867] #
  • Travis: After [40857], stop cloning Twenty Sixteen [40859] #

Networks and Sites

  • 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: Revert indentation of the sample page content added in [40296]. [40864] #40895

TinyMCE

  • Force urlencoding of commas in URLs added by plugins to prevent warnings about missing stylesheets. [40862] #40893

Thanks to @bridgetwillard, @adamsilverstein, @afercia, @azaozz, @bhargavbhandari90, @circlecube, @dimadin, @flixos90, @francina, @iandunn, @iseulde, @jenblogs4u, @johnbillion, @johnroper100, @melchoyce, @michelleweber, @obenland, @ocean90, @psiico, @rcutmore, @soniakash, @sudar, @swissspidy, @voldemortensen, and @zachwtx for their contributions!

#week-in-core

Week in Core, May 24th – 30th 2017

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 [40827-40856]. Here are the highlights:

  • 30 commits
  • 27 contributors
  • 40 tickets created
  • 7 tickets reopened
  • 26 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Build/Test Tools

  • Add a missing class to the PHPUnit 6 back compatback compat Backward compatibility - a desire to ensure that plugins and themes do not break under new releases - is a driving philosophy of WordPress. While it is a commonly accepted software development practice to break compatibility in major releases, WordPress strives to avoid this at all costs. Any backward incompatible change is carefully considered by the entire core development team and announced, with affected plugins often contacted. It should be noted that external libraries, such as jQuery, do have backward incompatible changes between major releases, which is often going to be a greater concern for developers.. [40854] #39822
  • Remove mentions of HHVM from the test infrastructure on Travis for the 4.0 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".. [40833] #40548

Bundled Theme

Emoji

Help/About

  • About: Introduce design and add link to Media Widgets APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. dev note. [40849] #40721
  • About: Further polish for Under The Hood. [40841] #40721
  • About: Further polish for feature descriptions. [40838] #40721

Media

Misc

Plugins

  • Fix regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in search input field size. [40840] #40130, #40857

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • In the adminadmin (and super admin) area, ensure the REST API endpoint URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org is forced to https when necessary. [40843] #36451

TinyMCE

Widgets

  • Normalize YouTube and Vimeo URLs in video shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. (primarily for Video widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.) to work around ME.js 2.22 bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.. [40847] #32417, #39994, #40866
  • Ensure that audio and video files appear in media library browser upon upload. [40836] #32417, #39994, #39995, #40803
  • Supply missing descriptions for instance schema fields in media widgets. [40835] #32417
  • Prevent multiple items from being selectable when first populating a media widget. [40827] #32417

Thanks to @apmarshall @obenland, @hedgefield, @reportermike, @ryelle, @rclations, @westonruter, @adamsilverstein, @apmarshall, @azaozz, @bridgetwillard, @celloexpressions, @iandunn, @jnylen0, @johnbillion, @juhise, @karmatosed, @leemon, @matveb, @melchoyce, @mikeschroder, @mohanjith, @obenland, @ocean90, @pento, @peterwilsoncc, @peterwilsoncc, @Soean, @timmydcrawford, @voldemortensen, and @westonruter for their contributions!

#week-in-core

Week in Core, May 17th – 23th 2017

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 [40771-40826]. Here are the highlights:

  • 56 commits
  • 75 contributors
  • 70 tickets created
  • 7 tickets reopened
  • 71 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. 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)

  • Remove the title attributes used in the Tag cloud widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.. [40816] #24766, #35566

Administration

  • Fix some HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. validation errors. [40823] #37004
  • Update the docs for wp_check_browser_version(). [40822] #40839
  • Dashboard: Change the cache key for dashboard RSS widget; remove the unnecessary database upgrade routine. [40803] #40702
  • Dashboard: Append the current 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. to dashboard RSS widget cache key in wp_dashboard_rss_control(), for consistency with the changes to wp_dashboard_cached_rss_widget() in [33183] and [33192]. [40802] #32804, #40702
  • Dashboard: Don’t trigger an Events search when the search field is empty. [40799] #40816
  • Dashboard: Improve the Events widget spinner position after [40789]. [40794] #40735
  • Dashboard: Improve the handling of locations determined by geolocating the IP address and by entering a city name. Fix couple of edge cases, and some names. [40790] #40702
  • Dashboard: [40789] #40735
  • Dashboard: Combine methods to retreive IP [40781] #40702
  • Use consistent spacing for form elements in the Discussion Settings screen. [40779] #31594
  • Dashboard: Document request proxy for events. [40777] #40702
  • Dashboard: Properly localize data for events [40776] #40702
  • Dashboard: Always pass the IP when getting events [40774] #40702
  • Upgrade: Use correct commit no. to trigger upgrade [40773] #40702

Build/Test Tools

  • Remove mentions of HHVM from the test infrastructure on Travis for the 4.6 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".. [40818] #40548

Bundled Theme

  • Twenty Seventeen: Remove uneccessary return statement [40795] #40516

Customize

  • Docs: Improve phpdocPHPDoc (docblock, inline docs) for WP_Customize_Manager, WP_Customize_Control, WP_Customize_Setting, and WP_Customize_Selective_Refresh. [40804] #39671
  • Docs: Add missing @since tags and phpdoc descriptions to the Custom_Image_Header class. [40788] #21785, #40231
  • Run a partial’s fallback behavior (full refresh) when selective refresh fails due to a script error. [40771] #27355, #40658

Help/About

  • About: Remove a stray quotation mark. [40814] #40721, #40837
  • About: Optimize strings for l10nL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales. [40798] #40721
  • About: Let’s get a headstart on 4.8 about strings [40791] #40721

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Dashboard: Use get_user_locale() for the news feed cache key. [40793] #40417

Login and Registration

  • Add some margin to notices on the login screen so multiple notices remain separated. [40778] #39971

Media

  • Decode HTML entities in author_name before sending to JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. [40809] #39955
  • Ensure WP_Screen sets post type on wp-adminadmin (and super admin)/upload.php. [40800] #39509
  • 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). search input full width on mobile. [40792] #40130
  • Correct a translatable string for MediaElement.js. [40775] #37394, #40800

Misc

  • Themes: Skip tests if ReflectionMethod::setAccessible is unavailable [40826] #
  • Post-4.8 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. 2 bump. [40820] #
  • WordPress 4.8 Beta 2 ([40807] again) [40819] #
  • Revert [40807] unbumping from 4.8 Beta 2 back to Beta 1 due to aborted 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.. [40808] #
  • WordPress 4.8 Beta 2 [40807] #
  • Updates for 4.6. Merge of and to the 4.6 branch.

Quick/Bulk Edit

  • Docs: Improve inline docsinline docs (phpdoc, docblock, xref) for inlineEditPost. [40796] #39823

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Fix changing parameters with set_param() for some requests. [40815] #40344
  • Avoid sending blank Last-Modified headers with authenticated requests. [40805] #40444
  • Do not set X-WP-Deprecated* headers as often. [40782] #40787

Themes

  • More unit tests for Custom 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. [40825] #38639, #39241
  • Improve browser history support on new themes page. [40824] #36613
  • Improve the theme Custom Logo accessibility. [40817] #38768
  • Improve the theme installer Favorites and Feature 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. tabs alignment. [40797] #40315

TinyMCE

  • Fix selecting the link node after creating a link by pasting an URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. [40801] #40818
  • Editor: When stripping paragraph tags, and there is a <br> at the beginning or the end, merge them and keep the paragraph, not the <br>. [40787] #37066
  • Fix pasting while an image with caption is selected. The image and the caption should be replaced with the pasted content. [40786] #40809
  • Provide styles for link and code boundaries. [40783] #40767

Users

  • 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: Handle both role change selections in site-users.php. [40780] #40113

Widgets

  • Further refine WP JS coding style in media widgets code. [40821] #32417
  • Remove core embedding support for WMV and WMA files since MediaElement.js has discontinued supporting them. [40813] #39994, #39995, #40819
  • Clarify some context information for translators. [40812] #32417, #39993, #39994, #39995
  • Remove unused JS variable to fix JSHint error introduced in [40640]. [40811] #39994
  • Introduce isHostedVideo method on VideoWidgetControl to allow plugins to extend for recognizing services beyond YouTube and Vimeo. [40810] #39994, #40808
  • Revert [40251] pending more accessible solution for showing default widget titles rather than using placeholders. [40806] #39909
  • Ensure title field for media widget will update with sanitized value after change event in addition to input event. [40785] #32417, #40805
  • Use “Add Audio” for button in Audio widget instead of generic “Add File”. [40784] #39995, #40797
  • Media: Trim whitespace in URLs provided for external embeds. [40772] #40771

Thanks to @4nickpick, @abhishekfdd, @adamsilverstein, @adamsoucie, @afercia, @arena, @arshidkv12, @azaozz, @BharatKambariya, @bradyvercher, @bridgetwillard, @coffee2code, @coreymckrill, @darshan02, @dd32, @desrosj, @emirpprime, @gma992, @iandunn, @iandunn, @iseulde, @Italian polyglots teamPolyglots Team Polyglots Team is a group of multilingual translators who work on translating plugins, themes, documentation, and front-facing marketing copy. https://make.wordpress.org/polyglots/teams/., @iv3rson76, @jenblogs4u, @jeremyfelt, @jjcomack, @jnylen0, @joedolson, @joemcgill, @joen, @johnbillion, @juhise, @ketuchetan, @kraftbj, @leewillis77, @LiamMcArthur, @matveb, @melchoyce, @michalzuber, @michelleweber, @mihai2u, @MikeLittle, @mikeschroder, @mp518, @mrahmadawais, @netwe, @nitin, @kevadiya, @nobremarcos, @obenland, @ocean90, @odysseygate, @pento, @postpostmodern, @rellect, @rensw90, @rianrietveld, @riddhiehta02, @rmccue, @ryelle, @sagarjadhav, @sagarprajapati, @Samantha Miller., @sami.keijonen, @SergeyBiryukov, @sloisel, @sstoqnov, @stubgo, @swissspidy, @tejas5989, @timmydcrawford, @TimothyBlynJacobs, @topher1kenobe, @truongwp, @westonruter, and @zinigor for their contributions!

#week-in-core

Week in Core, April 26th – May 2nd 2017

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 [40557-40568]. Here are the highlights:

  • 12 commits
  • 13 contributors
  • 76 tickets created
  • 4 tickets reopened
  • 29 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

  • 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): Avoid a keyboard trap on the date and time custom format settings. [40568] #40515

Build/Test Tools

  • When asserting microtime output as a number, 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). it a number [40566] #30336
  • Automatically skip tests in the ms-required and ms-excluded groups. [40564] #40531
  • Pin the WordPress Importer pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party to version 0.6.3 when testing on Travis. [40562] #40620
  • Add object-cache.php to the unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. suite. [40561] #40619

Comments

Customize

  • Allow select dropdowns to stretch full width in widened controls pane. [40567] #32296

Menus

  • Introduce page_menu_link_attributes 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. in Walker_Page::start_el() for the HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. attributes applied to a page menu item’s anchor element. [40565] #40359

Posts, Post Types

Role/Capability

  • Users: Add two missing special cases to the capability tests for non-logged-in users. [40563] #37405

Users

  • Ensure user counts remain accurate if users are added to or removed from the users table without corresponding usermeta entries being added or removed. [40560] #38741, #29785

Thanks to @afercia, @boonebgorges, @dots, @jdgrime, @johnbillion, @pbiron, @psoluch, @ptbello, @SergeyBiryukov, @stephdau, @tharsheblow, @timmydcrawford, and @westonruter for their contributions!

#week-in-core

Week in Core, April 19th – April 25th 2017

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 [40476-40556]. Here are the highlights:

  • 81 commits
  • 29 contributors
  • 90 tickets created
  • 11 tickets reopened
  • 48 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

  • List Tables: After [38703], [38706], and [40118], adjust the jQuery selector to 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). the selection of a range of checkboxes work again. [40512] #40056
  • 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): Make some Widgets buttons real buttons. [40480] #35622, #31476

Build/Test Tools

  • Feeds: Remove an incorrect usage of sizeof() in a helper class used during unit testing of XML element handling. [40555] #40109
  • Add Composer files to the cache on Travis. [40554] #40539
  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. various recent changes to the 4.7 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".. [40547] #40539, #39822, #40548
  • Remove HHVM from the test infrastructure on Travis. [40546] #40548
  • Remove more unnecessary test skipping when erroneous situations occur. [40544] #40533
  • Introduce skipWithoutMultisite() and skipWithMultisite() methods into the test suite. [40543] #40531
  • More tweaks to the deprecated calls assertion. This needs to be triggered when there are unexpected deprecated calls or wrongdoings too. [40542] #40538
  • Only perform an assertion for deprecated calls and wrongdoings if any are expected. [40541] #40538
  • Move the setExpectedException() method into the WP_Ajax_UnitTestCase class to avoid a fatal error when PHPUnit 3.6 is in use. [40539] #39822
  • Add support for PHPUnit 6+. [40536] #39822
  • Ensure that WP_UnitTestCase::expectedDeprecated() performs an assertion to avoid risky test notices. [40535] #40538
  • Be strict about tests that do not test anything. [40534] #40538
  • Remove unnecessary checks and skips that should instead cause failures if they ever fail. [40533] #40533
  • Convert more test skipping into hard failures. These dependencies should all be present when testing. [40532] #40533
  • Correct an incorrect ms- group name. [40530] #40531
  • Add some 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. debugging to the Travis config so we can determine which locales are available to test with. [40528] #40533, #19861
  • Enable verbose mode in PHPUnit so we can see which tests are being skipped, and now that the number of skipped tests has been lowered. [40527] #40533, #40531
  • Don’t trigger a skipped test when the built version of wp-embed.min.js isn’t present. [40526] #34698, #40533
  • Replace test skipping with actual assertions when dealing with the DISALLOW_UNFILTERED_HTML, DISALLOW_FILE_MODS, and DISALLOW_FILE_EDIT constants. [40525] #40533
  • Remove more skipped tests that should actually be failures if their conditions aren’t satisfied. [40524] #40533
  • Remove ancient UT ticket handling. [40523] #40533
  • Add some more tests to the ms-required and ms-excluded groups. [40522] #40531
  • Introduce ms-required and ms-excluded groups for tests. [40520] #40531
  • Don’t skip tests when php.net or dev.mysql.com are unreachable. [40519] #40533
  • Avoid skipping canonical tests that are connected to open Trac tickets. [40518] #30284, #40534
  • Canonical: Don’t skip tests if the test data is 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.. [40517] #40533

Customize

Database

Editor

  • TinyMCE: Fix cursor position after updating a wpview node. Fix hiding the inline toolbar on editor blur. [40482] #40480
  • Define $suffix before using it in _WP_Editors::print_tinymce_scripts(). [40477] #40479, #35760
  • Provide APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. for the editor to be dynamically instantiated via JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. First run. [40476] #35760

General

  • Accessibility: Make Safari 10 + VoiceOver announce repeated, identical, wp.a11y.speak() messages. [40479] #36853

Help/About

  • Fix typo in help text on Reading Settings screen. [40540] #40530

Menus

  • Add 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. to sub-menu class in nav menus. [40537] #36163

Networks and Sites

  • 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: Add $network_id parameter to wp_update_network_counts(). [40486] #40386, #38699
  • Multisite: Add $network_id parameter to wp_update_network_user_counts(). [40485] #40349, #38699
  • Multisite: Add $network_id parameter to wp_update_network_site_counts(). [40484] #37528, #38699
  • Multisite: After [37918] add support for retrieving custom sitesite (versus network, blog) properties set by the site_details filter. [40478] #40458

Posts, Post Types

  • Correct the fallback value for the label_count argument of register_post_status(). [40516] #38686

Query

  • Remove a useless unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. [40545] #35907, #38373

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.

  • Restore support for taxonomy ‘args’ override when querying object terms. [40514] #40496
  • Docs: Improve @param and @return entries for wp_get_post_categories(), wp_get_post_tags(), and wp_get_post_terms(). [40483] #40481

TinyMCE

Widgets

  • Improve the News dashboard widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. no-js notice. [40556] #40529

Thanks to @csloisel, @afercia, @Arena94, @azaozz, @bhargavbhandari90, @boonebgorges, @celloexpressions, @danielbachhuber, @darthaud, @dd32, @flixos90, @gitlost, @imath, @iseulde, @johnbillion, @johnjamesjacoby, @littler.chicken, @miyauchi, @ocean90, @peterwilsoncc, @philipjohn, @PieWP, @raisonon, @SergeyBiryukov, @swissspidy, @theMikeD, @timmydcrawford, @westonruter, and @xrm for their contributions!

#week-in-core

Week in Core, April 12th – April 18th 2017

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 [40417-40475]. Here are the highlights:

  • 59 commits
  • 37 contributors
  • 59 tickets created
  • 6 tickets reopened
  • 36 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

  • Add “(link opens in a new window)” as a screen reader text for “Preview” link on Edit Post screen. [40422] #40185

Build/Test Tools

  • Build/Test tools: Ruthlessly remove failing tests from the 4.0 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".. [40457] #40463
  • Better rewrite rule flushing in test_permalink_without_title(). [40456] #40463
  • Remove failing tests related to WP_User::__unset(). [40455] #30284, #40463
  • Remove failing is_textdomain_loaded() test. [40454] #30284, #40463
  • Remove failing tests related to square brackets being stripped in URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org sanitizers. [40453] #30284, #40463
  • Remove failing test in the hooks group. [40452] #30284, #40463
  • Remove skipped tests for unimplemented JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. plural functions. [40451] #22229, #40463
  • Remove failing unit tests from ‘canonical’ group. [40450] #30284, #40463
  • Partial merge of [30283] into the 4.0 branch to avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 notices that cause a test failure. [40449] #30284
  • assertTag() has been deprecated in PHPUnit 4.2. Rewrite some of the tests in Tests_Paginate_Links to use DOMDocument. [40447] #29545
  • Build/Test tools: Reverse the order in which the Travis jobs run on the 3.8 branch. [40444] #39705
  • Build/Test tools: Reverse the order in which the Travis jobs run. [40435] #39705
  • Build/Test tools: Introduce and implement assertNotIXRError() and assertIXRError() assertion methods. [40417] #40423

Bundled Theme

  • Twenty Seventeen: Bump version and update the changelog. [40473] #40461
  • Twenty Seventeen: Correct heading hierarchy for posts on the front page. [40459] #40264

Customize

  • Use fixed-width illustrative placeholder for hex field in color picker to prevent truncation. [40471] #39096
  • Verify availability of history.replaceState (in IE9) before attempting to populate changeset_uuid parameter. [40420] #39227, #40405

Media

  • Fix broken audio/video functions when sanitizing ID3 data [40470] #40075, #40085
  • Default to always showing the “Create Audio/Video Playlist” buttons. [40430] #31071
  • Ensure Crop Image is always visible. [40429] #40152
  • Add filters to allow overriding slow media queries. [40425] #31071
  • Improve filters that allow overriding slow media queries. [40421] #31071

Misc

  • Bump 4.7 branch to 4.7.4-RC1. [40475] #
  • 4.7.4-RC [40474] #
  • Tests: Fix a YouTube embed test failing since YouTube switched to HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information.-only. [40448] #
  • Updates for 4.6. Merge of and to the 4.6 branch.

Networks and Sites

  • Correct a capability check when accessing the Sites -> Add New screen. [40433] #39156

Options, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. APIs

Posts, Post Types

  • In wp_check_post_lock(), check if the user with lock exists and return false otherwise. [40424] #39888
  • Improve the docs for wp_check_post_lock() and wp_set_post_lock(). [40423] #39888

Query

  • Remove failing unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. for #27193. [40445] #27193

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

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.

TinyMCE

  • Update TinyMCE to 4.5.6. Has many improvements and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. [40419] #40305

Toolbar

  • Reset CSSCSS Cascading Style Sheets. properties that might be inherited from the active Theme. [40418] #40313

Upload

  • Improve legacy SWFUpload event handlers for current jQuery. [40431] #39886

Thanks to @sagarprajapati, @1naveengiri, @adamsilverstein, @afercia, @arshidkv12, @azaozz, @celloexpressions, @curdin, @Cybr, @davidakennedy, @eclev91, @boldwater, @flixos9, @jdgrimes, @jnylen0, @joedolson, @joemcgill, @johnbillion, @karinedo, @lukecavanagh, @MatheusGimenez, @mayurk, @mayur, @MMDeveloper, @netwe, @Presskopp, @programmin, @rianrietveld, @sagarprajapati, @sboisvert, @SergeyBiryukov, @stormrockwell, @swissspidy, @tejas5989, @timmydcrawfor, @westonruter, and @wonderboymusic for their contributions!

#week-in-core

Week in Core, April 5th – April 11th 2017

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 [40376-40416]. Here are the highlights:

  • 41 commits
  • 26 contributors
  • 61 tickets created
  • 12 tickets reopened
  • 56 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Bootstrap/Load

Build/Test Tools

  • Build/Test tools: Improve the failure message reported by assertQueryTrue() so it’s a little less cryptic. [40416] #40411
  • Build/Test tools: Trim the test matrix on Travis in order to speed up the 3.8 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". build. [40407-40415] #40407
  • Add assertNotFalse() method to WP_UnitTestCase and use it where appropriate. [40388] #39219

Customize

  • Verify availability of history.replaceState (in IE9) before attempting to populate changeset_uuid parameter. [40405] #39227, #40405
  • Auto-expand a widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. area section when expanding the Widgets panel if there is only one registered sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. and it is active. [40395], [40402] #37471
  • Fix behavior of clicking Delete Menu link and keep available nav menu items panel open when doing bulk deletion. [40396], [40401] #38953
  • Fix HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. navigation of sitesite (versus network, blog) in preview on IE11. [40381], [40386] #38409, #40198
  • Use is_header_video_active() as active_callback for external_header_video control instead of is_front_page(). [40379], [40384] #38738, #40308
  • Fix reversal of nav menu item’s type and object properties for page stub added in customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.. [40380], [40383] #38164, #40277

General

  • Build/Test tools: Remove occurrences of create_function() in unit tests. [40392] #37082

Media

Networks and Sites

  • 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: Replace unnecessary is_super_admin() check when setting up the initial networknetwork (versus site, blog). [40406] #40406, #37616
  • Align the display of site statuses on the Sites listing screen with those of posts on the Posts listing screen. [40393] #40290
  • Multisite: Partially revert [40295]. [40391] #39676, #37616
  • Multisite: Handle sites cache invalidation more granularly for option updates. [40385] #40063

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

Role/Capability

TinyMCE

  • Update the tests for version 4.5.6. Remove default plugins tests, it is quite pointless to keep repeating them at this point. [40399] #40305
  • Update TinyMCE to 4.5.6. Has many improvements and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. [40398] #40305

Upgrade/Install

  • Introduce wp_disallow_file_mods() helper function. [40394] #38673

Thanks to @adamsilverstein, @ashokkumar24, @azaozz, @blobfolio, @curdin, @DavidAnderson, @delawski, @desrosj, @dhanendran, @flixos90, @jnylen0, @joemcgill, @johnbillion, @ketuchetan, @maguiar, @MatheusGimenez, @mattwiebe, @MaximeCulea, @melchoyce, @peterwilsoncc, @pratikshrestha, @sboisvert, @swissspidy, @timmydcrawford , @westonruter, and @wonderboymusic for their contributions!

#week-in-core

Week in Core, March 29th – April 4th 2017

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 [40348-40375]. Here are the highlights:

  • 28 commits
  • 29 contributors
  • 81 tickets created
  • 8 tickets reopened
  • 51 tickets closed
    Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

  • Fix minor misalignments caused by the button-link CSSCSS Cascading Style Sheets. class. [40358], [40367] #39983

Bundled Theme

  • Twenty Seventeen: Use esc_attr_e() for translatable strings in HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. attributes. [40374] #40216
  • Twenty Seventeen: Declare jQuery as a dependency for navigation.js. [40373] #40224

Customize

  • Fix failure to collapse expanded sections and panels that become deactivated. [40375] #34391, #33509, #39430
  • Use get_user_locale() in customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. body class. [40368-40369] #29783, #40271
  • Fix selective refresh when customizing the 404 template. [40366] #27355, #40018
  • Docs: Add an entry for $pagenow global in WP_Customize_Manager::setup_theme(). [40349] #40297

Embeds

  • Change the embed_autourls option 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. from default_option_* to pre_option_* to avoid a DB query. [40360] #38924

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Remove an extra slash between .mo file path and name in load_muplugin_textdomain(). [40362] #39168

Mail

  • Use correct capitalization for PHPMailer methods in wp_mail(). [40363] #39702

Media

  • 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): Improve the Media Library inline uploader accessibility. [40359] #37188

Networks and Sites

  • 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: Fix wp_get_sites() to return an unlimited amount of sites when passing a falsy limit argument. [40372] #39879, #35791
  • Multisite: Add $network_id parameter to get_user_count(). [40371] #37866
  • Multisite: Support the $network_id parameter of get_blog_count(). [40370] #37865
  • Multisite: Correct documentation for sitesite (versus network, blog) status change 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.. [40352] #40287
  • Multisite: Add deleted_blog action after site has been deleted. [40351] #25584

Posts, Post Types

  • Introduce post_date_column_status filter for post status text in list tables’ Date column. [40361] #39545

Press This

  • Reorder post format icon styles for consistency with get_post_format_strings(). [40356] #40304
  • Add missing icons for Chat and Status post formats. [40355] #40304

Quick/Bulk Edit

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. Client – Enable connecting to multiple endpoints. [40364] #39683
  • Tests: Remove a couple of 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. error assertions. [40350] #40270

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.

  • Invalidate term query caches when setting or deleting term relationships. [40353-40354] #40306
  • Fix typo in $aria_checked variable name in Walker_Category_Checklist::start_el(). [40348] #40295

Thanks to @adamsilverstein, @afercia, @boonebgorges, @bor0, @chesio, @davidbenton, @dhanendran, @dlh, @ejner69, @flixos90, @iandunn, @jeremyfelt, @jnylen0, @johnbillion, @johnjamesjacoby, @karmatosed, @lucasstark, @mantismamita, @mboynes, @menakas, @mt8.biz, @nsundberg, @pauldewouters, @pbearne, @reidbusi, @SergeyBiryukov, @Soean, @swissspidy, and @westonruter for their contributions!

#week-in-core

Week in Core, March 22nd – 28th, 2017

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 [40307-40347]. Here are the highlights:

  • 41 commits
  • 27 contributors
  • 76 tickets created
  • 14 tickets reopened
  • 65 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

Administration

  • List Tables: After [38703], [38706], and [40118], adjust the jQuery selector to 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). the selection of a range of checkboxes work again. [40327] #40056
  • Docs: Add description for $mode global in WP_MS_Sites_List_Table and WP_MS_Users_List_Table. [40310] #40208
  • Docs: Add description for $mode global in WP_Media_List_Table and WP_Posts_List_Table. [40309] #40208
  • Docs: Add missing @global entry for list table view mode in WP_Screen::render_view_mode(). [40308] #40208
  • Docs: Add missing @global entry for list table view mode in wp_ajax_inline_save(). [40307] #40208

Bundled Theme

  • Twenty Seventeen: Declare jQuery as a dependency for navigation.js. [40315] #40224
  • Twenty Seventeen: Use esc_attr_e() for translatable strings in HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. attributes. [40311] #40216

Cache APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • 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: Remove unused site-lookup global cache group. [40347] #38725
  • Tests: Add missing global cache groups. [40343] #40283

Customize

  • Prevent client-side validation from being cleared when no corresponding server-side validation is present. [40319], [40345] #36944, #39770
  • Trailing slash the home nav menu item URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in starter content. [40338] #40112
  • Fix navigation of sitesite (versus network, blog) in preview on IE11. [40318], [40335] #38409, #40198
  • Harden site_icon control template to account for when full image size is missing. [40314],[40332] #36749, #40010
  • Prevent links to customize.php from being generated which have query vars from wp_removable_query_args() present. [40313], [40331] #23367, #32692, #31850
  • Improve i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. for strings in hidden widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. area notices. [40330] #33567, #33052, #39087
  • Fix selective refresh when customizing the 404 template. [40316] #27355, #40018
  • Show notice in Widgets panel when there are additional widget areas not rendered in preview. [40312] #33567, #33052, #39087

Database

  • Tests: Use utf8mb4 max index length when creating keys. [40339] #35958

Formatting

  • Docs: Correct default value in @param entry for the $num_words parameter of wp_trim_words 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.. [40322] #40248

Login and Registration

  • Avoid a potentially incorrect value for the cookie hash on multisite installations that don’t have a value in the siteurl networknetwork (versus site, blog) option. [40320-40321] #34084, #39497

Networks and Sites

  • Multisite: Respect $_wp_suspend_cache_invalidation when clearing network and site caches. [40346] #40028
  • Multisite: Allow falsy properties to be cached in site-details. [40344] #40247
  • Tests: Clarify zero path segment tests for get_network_by_path(). [40342] #37217
  • Multisite: Add lang_id support to WP_Site_Query. [40340] #40196
  • Multisite: After [40305], rename clean_site_details_cache() method as it’s not really private. [40333] #40063
  • Multisite: Add further unit tests for get_blog_details(). [40317] #40228, #40180

Posts, Post Types

  • Add missing REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. properties to WP_Post_Type class. [40329] #39986

REST API

  • Tests: Consolidate logic used to skip API fixture generation. [40341] #40041
  • Confirm the parent post object of an attachment exists in WP_REST_Posts_Controller::check_read_permission(). [40337] #39881
  • Add gmt_offset and timezone_string to the base /wp-json response. [40336] #39854
  • Use get_gmt_from_date() when preparing a draft post for response. [40324-40325] #40136

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.

  • Add missing REST API properties to WP_Taxonomy class. [40328] #39987

Themes

  • Fix incorrect annotation for __clear_multi_author_cache() function. [40334] #40063, #40262
  • Add filter for excluding directories from being scanned for template files. [40326] #38292

Users

  • Don’t push the current user’s role to the top of the list in wp_dropdown_roles(). [40323] #40162

Thanks to @afercia, @aussieguy123, @bor, @bor0, @caseypatrickdriscoll, @chesio, @clarinetlord, @danielbachhuber, @dd32, @dlh, @flixos90, @GhostToast, @jeremyfelt, @johnbillion, @johnjamesjacoby, @lukasbesch, @michelleweber, @nerrad, @ocean90, @priyankabehera155, @rachelbaker., @redrambles, @sagarkbhatt, @SergeyBiryukov, @swissspidy, and @westonruter for their contributions!

#week-in-core

Week in Core, February 15th – 21st, 2017

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 [40060-40101]. Here are the highlights:

  • 42 commits
  • 35 contributors
  • 64 tickets created
  • 14 tickets reopened
  • 75 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

  • JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.: when starting Backbone history, stop if previously started. [40076] #39612

Customize

  • Prevent vertical clipping of thumbnail in 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. image customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. control. [40100], [40082] #21785, #38559
  • Extend auto-draft life of a customize_changeset post whenever modified. [40099] #30937, #39713
  • Allow custom post types to be used in starter content. [40098] #38615, #38114, #39610
  • Ensure edit shortcuts get re-created for nested partials when a parent partial is refreshed. [40097] #39101, #39353
  • Skip intercepting non-HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.(S) links in customizer preview just as jump links are ignored. [40096], [40064] #39797
  • Always enqueue customize-preview stylesheet in the customizer preview to style selective refresh and visual edit shortcuts. [40095] #27403, #39498
  • Trim whitespace from nav menu item titles so that the underlying object’s original title appears as input placeholder and in the control’s title. [40094] #38015, #39600
  • Update customize.php URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org with changeset_uuid param the instant a change is made instead of deferring until the changeset update request responds. [40093] #39227
  • Ensure root values are accessible in multidimensional custom setting types. [40088] #32103, #36952
  • Introduce get_header_video_url 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. for the return value of get_header_video_url(). [40087] #39512
  • Update the introduced version in the docs for the get_header_video_url filter to 4.7.3. [40086] #39512

Feeds

Formatting

  • Fix wpautop() to stop adding paragraph tags around <figcaption>. [40091] #39307

HTTP APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Restore backwards compatibility with the http_api_curl filter – it expects that the handle parameter is passed as a reference, however [39212] missed that. [40068-40069] #39783

Help/About

  • About page: Remove autoplay and loop attributes on “Theme Starter Content”, “Edit Shortcuts”, and “Video Headers” videos, originally added as a part of [39512]. [40089-40090] #39560

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

Media

  • Avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 Warnings in get_post_galleries() when processing empty

    shortcodes and avoid returning the incorrect results when the global $post does not match the provided post ID. [40070] #39277, #39304

  • Debounce the media grid search, avoiding duplicate requests. [40060] #38911

Menus

  • Prevent notice thrown in class-walker-page.php. [40092] #39564
  • Docs: Correct @return value type for wp_nav_menu(). [40062] #39890

Options, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. APIs

  • Skip generating the client test fixtures in 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 mode. [40077] #39005, #39264

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Fix multiple issues with setting dates of posts and comments. [40101] #39256
  • JavaScript client should use _.extend when merging objects. [40084] #39341
  • Include the status property in view context responses from the Posts endpoints. [40080-40081] #39466
  • Correctly serve the index with PATH_INFO [40079] #39432
  • Cast revision author ID to int. [40078], [40063] #39871
  • JavaScript client – improve route discovery for custom namespaces. [40074] #39561
  • Skip generating the client test fixtures in PHP 5.2 and 5.3. [40066] #39264
  • Fix the client test fixture generation in PHP 5.2 and 5.3. [40065] #39264
  • Improve test fixture generation, normalizing data. [40061] #39264

Shortcodes

  • Avoid PHP Warnings in get_post_galleries() when processing empty

    shortcodes and avoid returning the incorrect results when the global $post does not match the provided post ID. [40071] #39277, #39304

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.

  • Disallow overriding the name property when registering a taxonomy. [40083] #39308

Upload

  • Media: In wp_unique_filename(), use explicit type casting when incrementing $number. [40075] #39774

Thanks to @adamsilverstein, @asalce, @azaozz, @batmoo, @bhargavbhandari90, @bor0, @bradyvercher, @ccprog, @celloexpressions, @certainstrings, @chesio, @dd32, @dhanendran, @dlh, @drrobotnik for initial patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing., @jazbek, @jnylen0, @joemcgill, @Kelderic, @ketuchetan, @netweb, @ocean90, @pavelevap for reporting, @pbearne for tests, @pento, @peterwilsoncc, @rachelbaker, @sanket.parmar, @seanchayes, @SergeyBiryukov, @stevenkword for initial patch, @swissspidy, @tfrommen, @westonruter, and @wpfo for initial patch for their contributions!

#4-8, #week-in-core