A Week in Core – June 27, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between June 20 and June 27, 2022.

  • 49 commits
  • 43 contributors
  • 71 tickets created
  • 9 tickets reopened
  • 44 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 and on the next minor, WP 6.0.1 🛠

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

Code changes

Application Passwords

  • Ensure long passwords don’t break the “new password” notice – #54581

Build/Test Tools

  • Add missing @covers tags and fix the docs for the Cron test group – #39265
  • Add missing @covers tags for the AJAX test group – #39265
  • Adjust 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/. notifications logic to account for expected non push events – #55652
  • Allow changes to the code coverage workflow to run on pull request – #55652
  • Configure Xdebug modes in the local Docker environment – #56022
  • Fix erroneous file name, from convertInvalidEntries.php to convertInvalidEntities.php#55652
  • Return an error when uploading a test coverage report fails – #55652
  • Update 3rd party GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions – #55652
  • Update NPM devDependencies to their latest versions – #55652
  • Update the actions/cache action – #55652
  • Always include the error message in assertNotWPError() and assertNotIXRError()#55652
  • Correct the expected result for wp_ajax_replyto_comment() test with a draft post – #39265
  • Further improve Tests_Image_Functions::test_wp_crop_image*() tests – #55652
  • Give the tests for adding empty post 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. values more consistent names – #55652
  • Improve Tests_Image_Functions::test_wp_crop_image*() tests – #55652
  • Improve the test for sticky posts not being moved to the front in sitemaps – #55633
  • Move assertQueryTrue() closer to the other custom assertions in WP_UnitTestCase_Base#55652
  • Put @covers tags before @params in Ajax and Formatting groups – #39265
  • Refactor Tests_Image_Functions::test_load_directory() to split the tests and use a data provider – #55652
  • Remove multiple $wpdb::placeholder_escape() calls in wpdb tests – #55652
  • Replace esc_url_raw() calls with sanitize_url()#39265, #55652
  • Use consistent punctuation in failure messages in Tests_Image_Functions#55652
  • Use more consistent wording when referring to PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher deprecation notices – #55652

Code Modernization

  • Remove dynamic properties in Tests_*_Slashes#56033
  • Remove dynamic properties in Tests_Media#56033
  • Use the integer portion of an item position in add_submenu_page()#55656, #54798

Comments

  • Add contextual autocomplete attributes to comment form fields – #55779

Database

  • Add %i placeholder support to $wpdb->prepare to escape table and column names – #52506
  • Add missing @since mention in get_posts_query_args()#55633
  • Correct the return type for wp_save_image_file()#55646
  • Improve documentation for WP_Image_Editor::save() and related functions – #55646
  • Use third-person singular verbs for function descriptions in Bookmark related files, as per docblockdocblock (phpdoc, xref, inline docs) standards – #55646
  • Use third-person singular verbs for function descriptions in Tests_Image_Functions, per the documentation standards – #55646
  • Use third-person singular verbs for function descriptions in Tests_Sitemaps_wpSitemapsPosts, as per docblock standard – #55646
  • Use third-person singular verbs for function descriptions in the Feed 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., as per docblock standards – #55646

Editor

  • Add utility classnames back to blocks that have layout attributes specified – #56058
  • Universalize functions for checking blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor status – #51819

Embeds

  • Remove MeetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area. as an oEmbed source since the related endpoint has been deprecated – #55997

External Libraries

  • Upgrade PHPMailer to version 6.6.3 – #56016

General

  • Revert an earlier define of the WPINC constant in src/index.php#54233

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.

  • Correct and improve inline docsinline docs (phpdoc, docblock, xref) and tests for functionality related to nooped plurals – #55646, #55652

Media

  • Use correct escaping function for URLs in some legacy media functions – #56064

Posts, Post Types

  • Add caching to _find_post_by_old_slug and _find_post_by_old_date functions. – #36723

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/.

  • Move all links to prepare_links method in theme REST API controller – #56018

Sitemaps

  • Remove duplicate sticky Posts from Sitemap Post Query – #55633

Themes

  • Add actions to template loading to assist with collecting debug info – #54541

Upgrade/Install

  • Add a conditional to facilitate testing of the Rollbacks feature project – #56057, #51857, #54166

Props

Thanks to the 43 people who contributed to WordPress Core on Trac last week: @jrf (9), @SergeyBiryukov (9), @costdev (5), @hellofromTonya (4), @pbeane (4), @antonvlasenko (4), @ironprogrammer (4), @audrasjb (4), @peterwilsoncc (4), @afragen (3), @johnbillion (3), @mukesh27 (2), @Spacedmonkey (2), @desrosj (2), @swissspidy (2), @pbiron (2), @dd32 (1), @pbearne (1), @jorbin (1), @ethitter (1), @flixos90 (1), @tabrisrp (1), @rmccue (1), @RavanH (1), @aristath (1), @zieladam (1), @yannielsen (1), @craigfrancis (1), @davidbaumwald (1), @juliemoynat (1), @bhrugesh96 (1), @sabernhardt (1), @tellyworth (1), @iandunn (1), @apokalyptik (1), @hasanuzzamanshamim (1), @smit08 (1), @glendaviesnz (1), @andrewserong (1), @matveb (1), @samikeijonen (1), @Presskopp (1), and @Synchro (1).

Congrats and welcome to our new contributor of the week: @yannielsen ♥️

Core committers: @sergeybiryukov (24), @desrosj (7), @audrasjb (7), @azaozz (4), @davidbaumwald (2), @johnbillion (2), @spacedmonkey (2), and @jorbin (1).

#6-0, #core, #week-in-core

A Week in Core – February 28, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 21 and February 28, 2022.

  • 24 commits
  • 46 contributors
  • 66 tickets created
  • 6 tickets reopened
  • 50 tickets closed

Last week, the Core Team rolled out the WordPress 5.9.1 Maintenance Release 🚀

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.2, and on the next major, WP 6.0 🛠

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

Code changes

Administration

  • Consistency fixes on keyboard shortcuts instructions – #40582
  • Further enhancements on small text fields after [52649]#50177

Code Modernization

  • Check the return type of wp_parse_url() in wp_mail()#54730

Docs

  • Add missing descriptions for some parameters of WP_Walker::paged_walk()#55225
  • Correct return type for get_block_metadata_i18n_schema()#55243, #54729
  • Correct return type for get_post_custom()#55249, #54729
  • Use third-person singular verbs for function descriptions in wp-includes/formatting.php#54729

External Libraries

  • Upgrade PHPMailer to version 6.6.0 – #55277

Filesystem 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.

  • Include the ssh-ed25519 public key signature algorithm as an alternative to ssh-rsa#52409

Formatting

  • Make terms in wpautop() and shortcode_unautop() more welcoming and inclusive – #25615

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.

  • Add a $locale parameter for remove_accents()#54415

Media

  • Make get_post_galleries() only return galleries – #55203
  • Stop arrow keys switching media if URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org focused – #43202
  • Use consistent mirroring check in media views – #53856

Plugins

  • Add focus style to 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 icon link in plugin cards – #45209

Query

  • Correct the “matched rule” condition in WP::parse_request()#55222

Query

  • Preinitialize the WP class properties to their default values – #55222

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/.

  • Pass WP_REST_Request object to the rest_index 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.. – #48638.

Tests

  • Add a @ticket reference for the current_theme_supports-{$feature} filter test – #54725
  • Rename the $success variable to $result in the wp_mail() test for an empty home URL – #54730

Themes

  • Avoid undefined variable warning on get_svg_filters()#55241
  • Remove the Live Preview link when installing a blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme from a zip archive – #54578

Props

Thanks to the 46 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (7), @audrasjb (5), @hellofromTonya (3), @jrf (2), @afercia (2), @jeremyfelt (2), @ironprogrammer (2), @sabernhardt (2), @dd32 (2), @hasanuzzamanshamim (1), @chouby (1), @bhrugesh12 (1), @jrivett (1), @joemcgill (1), @rafiahmedd (1), @aliakseyenkaihar (1), @TimothyBlynJacobs (1), @hitendra-chopda (1), @themattroyal (1), @imokol (1), @ricomoorman (1), @tzipporahwitty (1), @peterwilsoncc (1), @Viper007Bond (1), @Spacedmonkey (1), @BinaryMoon (1), @johnregan3 (1), @richybkreckel (1), @miken32 (1), @malthert (1), @johnbillion (1), @knutsp (1), @ocean90 (1), @Presskopp (1), @joyously (1), @MMDeveloper (1), @glendaviesnz (1), @alanjacobmathew (1), @antonvlasenko (1), @kebbet (1), @pyrobd (1), @dennisatyoast (1), @azouamauriac (1), @Synchro (1), @costdev (1), and @rmccue (1).

Congrats and welcome to our 10 (!) new contributors of the week: @bhrugesh12, @jrivett, @aliakseyenkaihar, @themattroyal, @imokol, @ricomoorman, @tzipporahwitty, @richybkreckel, @miken32, and @dennisatyoast ♥️

Core committers: @sergeybiryukov (10), @audrasjb (10), @joedolson (2), @spacedmonkey (1), and @hellofromtonya (1).

#5-9, #6-0, #core, #week-in-core

A Week in Core – June 14, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between June 7 and June 14, 2021.

  • 63 commits
  • 105 contributors
  • 57 tickets created
  • 6 tickets reopened
  • 65 tickets closed

Please note that the WordPress Core team released WordPress 5.8 beta 1 last week. Everyone is welcome to help testing the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. of WordPress 🌟

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

Code changes

Administration

  • Adjust Internet Explorer message to be a bit more clear – #48743
  • Escape the values of data-colname – #40401
  • Introduce dashboard notice to discourage use of out of date browser – #48743

Application Passwords

  • Allow enter key to submit profile form – #52849

BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor

  • Add a type property to allow Core to identify the source of the editor styles – #53175
  • Add the Site Logo block’s server implementation – #53247
  • Allow themes to add inline styles for all blocks when using lazy styles loading – #53358
  • Fix typo in the typography block support – #52991
  • Ignore generated CSSCSS Cascading Style Sheets. files in Page List and Post Template blocks – #52991, #53309
  • Include the page list block server-side code – #53309
  • Package updates for 5.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. 1 – #52991
  • Package updates for WordPress 5.8 beta 1 (batch2) – #52991
  • Prevent duplicate queries – #53280, #53176
  • Ensure that the block editor can be used on the page post type – #45537

Boostrap/Load

  • 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 allow disabling of object cache – #53322

Build/Test Tools

  • Ensure that we are using https:// urls – #39589
  • Silence jQuery Migrate console warnings when running E2E tests – #52860
  • Update devDependencies for bundled themes – #52624
  • Update several devDependencies#52624

Bundled Themes

  • Introduce block patterns for Twenty Eleven – #51106
  • Introduce block patterns for Twenty Ten – #51107
  • Twenty Nineteen: Fix pullquote styling in editor when block has alignment – #53112
  • Twenty Nineteen: Set a default color for button links in the editor – #52555
  • Twenty Thirteen: Add “No Shadow” style to button block – #51223
  • Twenty Twenty: Ensure custom primary color is applied to text in the editor – #50120
  • Twenty Twenty: Regenerate the RTL editor stylesheet – #50120
  • Apply an alignment fix – #53246
  • Extraneous white space at end of line – #51189
  • Use single quotes when there are no variables withi/n the string – #48743

Comments

  • Return valid comment reply link if comments are paginated – #51189

Documentation

  • Correct DocBlockdocblock (phpdoc, xref, inline docs) formatting for some revision tests – #52628
  • Document the usage of $wp_widget_factory global in WP_Customize_Widgets::sanitize_widget_instance()#53394
  • Update documentation for some WP_Customize_Widgets methods per the documentation standards – #52628

Emoji

  • Update the Twemoji library to version 13.1.0 – #52852

Feeds

  • Avoid notices in get_post_comments_feed_link()#52814

Login and Registration

  • Improve the unknown username error message – #52915
  • Wrap long site titles to a new line – #52776

Media

  • Add new functions to return the previous/next attachment links – #45708
  • Allow multi-uploads in Galleries – #53169
  • Ensure that post_id variable is initiated ahead of usage – #39589
  • Restore AJAX response data shape in media library – #50105

Permalinks

  • Limit pagination for posts with comments – #50233
  • Revert the changes stemming from pagination limits – #50233

Privacy

  • Improve naming of user confimed action email filters – #44314

RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.

  • Check and return errors for insertions to revisions – #30009

Script Loader

  • Fix 404 errors for the jquery-masonry script when SCRIPT_DEBUG is true#47353

Site Health

  • Display a list of file formats supported by the GD library – #53022

Tests

  • Fix typo in a get_bookmarks() test name – #52625
  • Fix typo in a retrieve_widgets() test name – #52625
  • Ignore EOL differences in some tests using multiline string assertions – #52625
  • Introduce some E2E tests for the Quick Draft 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. – #523905
  • Use assertSameSets() in some newly introduced tests – #52625

Themes

  • Fix 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) issues with controls in themes screen – #52649

TinyMCE

TinyMCE

  • Fix initialization when the editor is in a postbox by delaying it until document.readyState === 'complete'#52133, #52050

Upgrade/Install

  • Built files should not be included in the $_old_files list – #53367
  • Remove parsing of readme.txt files for 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 or theme requirements – #48520, #48515, #meta2952, #meta4514, #meta4621
  • Update the $_old_files list for 5.8 – #52991, #52846, #53246, #53367

Widgets

  • Don’t decode HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities ahead of the widget constructor – #53138
  • Make new WordPress installations use blocks in widget areas instead of widgets – #53324
  • Ensure that HTML entities are converted in widget descriptions – #53138
  • Improve unit tests for RSS Widget – #53278
  • Prevent infinite loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. in PHP8+ if the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for the widget instance is incorrectly defined – #53278

Props

Thanks to the 105 (!) people who contributed to WordPress Core on Trac last week:

@audrasjb (10), @SergeyBiryukov (8), @desrosj (8), @hellofromTonya (7), @sabernhardt (5), @isabel_brison (4), @whyisjake (4), @dd32 (3), @johnbillion (3), @alexstine (3), @adamsilverstein (3), @kjellr (3), @melchoyce (3), @antpb (2), @jorbin (2), @jorgefilipecosta (2), @peterwilsoncc (2), @beafialho (2), @jeffpaul (2), @aristath (2), @davidbaumwald (2), @mukesh27 (2), @chanthaboune (2), @youknowriad (2), @poena (2), @ocean90 (2), @azaozz (2), @DrewAPicture (2), @nosolosw (2), @boniu91 (1), @geekpress (1), @mikejolley (1), @ntsekouras (1), @scruffian (1), @mcsf (1), @sumitsingh (1), @Chouby (1), @onemaggie (1), @danieldudzic (1), @devnel (1), @timothyblynjacobs (1), @notlaura (1), @metalandcoffee (1), @paaggeli (1), @MrPauloEn (1), @mkdgs (1), @dway (1), @spikeuk1 (1), @herrvigg (1), @patkemper (1), @promz (1), @pondermatic (1), @andraganescu (1), @hellofromtonya (1), @noisysocks (1), @Boniu91 (1), @williampatton (1), @joyously (1), @Otto42 (1), @afragen (1), @wpgurudev (1), @hannahmalcolm (1), @achbed (1), @coffee2code (1), @coreymckrill (1), @rmccue (1), @marybaum (1), @dlh (1), @lukecarbis (1), @xkon (1), @helen (1), @TZ-Media (1), @pento (1), @Mista-Flo (1), @pbiron (1), @lifeforceinst (1), @birgire (1), @garrett-eclipse (1), @kapilpaul (1), @jontyravi (1), @david.binda (1), @joedolson (1), @glendaviesnz (1), @flixos90 (1), @gitlost (1), @spacedmonkey (1), @kraftbj (1), @justinahinon (1), @hareesh-pillai (1), @rellect (1), @knutsp (1), @grantmkin (1), @ArnaudBan (1), @Fantasy1125 (1), @swissspidy (1), @mor10 (1), @cameronjonesweb (1), @jeherve (1), @netweb (1), @afercia (1), @chaion07 (1), @sumanm (1), @carike (1), @devrekli (1), and @engahmeds3ed (1).

Congrats and welcome to our 6 new contributors of the week! @pondermatic, @lifeforceinst, @Fantasy1125, @cameronjonesweb, @sumanm, and @devrekli ♥️

Core committers: @desrosj (16), @whyisjake (10), @sergeybiryukov (8), @ryelle (8), @youknowriad (7), @joedolson (5), @antpb (4), @jorbin (3), @azaozz (2), @peterwilsoncc (1), and @noisysocks (1).

#5-8, #meta2952, #meta4514, #meta4621, #week-in-core

A Week in Core – May 24, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between May 17 and May 24, 2021.

  • 65 commits
  • 120 contributors
  • 49 tickets created
  • 9 tickets reopened
  • 64 tickets closed

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

Code changes

Boostrap/Load

  • Further update the language in wp-config-sample.php#37199

Build/Test Tool

  • Use deterministic module ids in webpack for media – #53192
  • Use hashed/deterministic moduleIDs in webpack config – #53192
  • Use the new concurrency setting for GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions – #53080
  • Use assertInstanceOf() instead of assertTrue() in some tests – #52625
  • Improve PHPUnit version retrieval – #52625
  • Remove trailing commas in function calls in _wp_array_get() tests – #51461, #51720, #52625
  • Rename classes in phpunit/tests/privacy/ per the naming conventions – #52625
  • Rename some classes in phpunit/tests/theme/ per the naming conventions – #52625
  • Correct description for the Tests_Functions_wpArraySet class – #53175, #52625
  • Add missing tests for the _wp_array_get() function – #51461, #51720, #52625

Documentation

  • Some documentation and test improvements for WP_Theme_JSON and WP_Theme_JSON_Resolver classes: – #52991, #53175
  • Use 3-digit, x.x.x-style semantic versioning for two _doing_it_wrong() calls – #52628
  • Include @since in register_block_type definition – #53233

Bundled Themes

  • Twenty Twenty: Hide some elements for print that are not useful in that context – #50433
  • Twenty Twenty-One: Re-add px unit to the adminadmin (and super admin) bar height custom property – #52624, #52564
  • Update devDependencies for default themes – #52624
  • Twenty Twenty-One: Update devDependencies#52624
  • Twenty Nineteen: Update theme information in the package.json file – #53196
  • Twenty Twenty: Update theme information in the package.json file – #53196
  • Twenty Twenty: Correct label attribute references to aria_label in get_search_form#51877, #53225
  • Themes: Add an indication of whether a theme is a child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. on networknetwork (versus site, blog) admin Themes screen – #30240

Editor

  • Use the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor context in filters that used the editor name – #52920
  • Hide the quicktags toolbar when 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/. is disabled – #40570
  • Update color merging algorithm – #53175
  • Add Global Styles support using theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file – #53175
  • Remove gutenberg text domain from Query and Social Links block patterns – #53265, #53248
  • Remove unused param in get_default_block_editor_settings#52920
  • Rename 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. file for _wp_array_set function – #53175
  • Fix failing unit test for 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. support in theme.json#52991
  • Remove editor type specific filters for block editor configuration – #52920
  • Rename should_load_separate_core_block_assets for consistency – #50328
  • Add Global Settings support using theme.json file – #53175
  • Extend register_block_type to accept the path file or folder with block.json#53233
  • Update WordPress packages published for GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 10.6 – #52991
  • Update lodash to the latest version 4.17.21 – #52991
  • Add missing class WP_Block_Editor_Context – #52920
  • Extract block_editor_rest_api_preload method for use with different editor screens – #52920
  • Add missing unit tests for block_has_support#53257, #52991
  • Updated the WordPress packages from Gutenberg 10.7.0 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).#52991
  • Add missing unit tests for construct_wp_query_args#53240, #52991
  • Removed useless block editor render context value – #53250
  • Block Patterns: Include the Query and Social Icons block patterns from Gutenberg 10.7.0 – #53248

Internationalization

  • Combine escaping and translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. functions – #53153
  • Improve the wording of some error messages – #50382

Formatting

  • KSES: Allow calc() and var() values to be used in inline CSSCSS Cascading Style Sheets.#46197, #46498
  • KSES: Remove duplicate object-position property – #52991

General/Administration

  • Avoid unnecessary calls to update_user_option()#43339
  • Some documentation and test improvements for the _wp_array_set()#53175, #52625
  • Add _wp_array_set function – #53175
  • Ensure consistent type for integer properties of a bookmark object – #53235
  • Ensure consistent type for integer properties of WP_Post, WP_Term, and WP_User#53235, #52995
  • List Tables: Wrap long search terms onto a new line – #52749

Media

  • Some documentation and test improvements for the image_editor_output_format 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.: – #52867
  • Introduces image_editor_output_format filter for setting default MIME type of sub size image output – #52867

Menus

  • Do not auto-set locations for new menus – #52949

Plugins

  • Add support for Update URI 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.#14179, #23318, #32101

RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.

  • add a new filter for revisions to keep by post type – #51550

Script Loader

  • Stop loading polyfills specific to Internet Explorer – #53078

Site Health

  • Make sure the submit_button() function is available in request_filesystem_credentials()#53206
  • Skip REST tests during scheduled events – #52112

Widgets

  • Make sure WP_Widget constructor creates a correct classname value for a namespaced 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. class – #44098
  • Make sure WP_Widget constructor creates a correct id_base value for a namespaced widget class – #44098

XML-RPC

  • Set 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. status code in accordance with the spec – #52958

Props

Thanks to the 120 (!) people who contributed to WordPress Core on Trac last week:

@SergeyBiryukov (9), @youknowriad (6), @poena (5), @ntsekouras (5), @nosolosw (5), @johnbillion (5), @desrosj (4), @mukesh27 (4), @peterwilsoncc (3), @audrasjb (3), @williampatton (3), @joyously (3), @jorgefilipecosta (3), @sabernhardt (3), @Boniu91 (2), @azaozz (2), @gziolo (2), @jorbin (2), @hermpheus (2), @hellofromTonya (2), @justinahinon (2), @ocean90 (2), @hareesh-pillai (2), @chrisvanpatten (2), @timothyblynjacobs (2), @nhuja (1), @mweichert (1), @DavidAnderson (1), @meloniq (1), @miqrogroove (1), @afragen (1), @markjaquith (1), @apedog (1), @DrewAPicture (1), @markparnell (1), @JeroenReumkens (1), @design_dolphin (1), @filosofo (1), @grapplerulrich (1), @sean212 (1), @earnjam (1), @rmccue (1), @infolu (1), @dingdang (1), @jdgrimes (1), @crazycoders (1), @Ipstenu (1), @nvartolomei (1), @chriscct7 (1), @mordauk (1), @knutsp (1), @GaryJ (1), @benoitchantre (1), @TJNowell (1), @gMagicScott (1), @Otto42 (1), @mikejolley (1), @juliobox (1), @aspexi (1), @Rarst (1), @ryno267 (1), @lev0 (1), @jb510 (1), @gregorlove (1), @jamesbonham (1), @GeekStreetWP (1), @khromov (1), @georgestephanis (1), @joostdevalk (1), @damonganto (1), @dd32 (1), @davidbaumwald (1), @olafklejnstrupjensen (1), @jeremyfelt (1), @Mte90 (1), @ariskataoka (1), @kjellr (1), @Presskopp (1), @karmatosed (1), @Travel_girl (1), @helen (1), @jacklenox (1), @bradt (1), @seanchayes (1), @welcher (1), @Mista-Flo (1), @dpik (1), @Clorith (1), @lakrisgubben (1), @DeusTron (1), @obenland (1), @zkancs (1), @johnjamesjacoby (1), @jrf (1), @rogerlos (1), @dlh (1), @displaynone (1), @grantmkin (1), @aristath (1), @arkrs (1), @mcsf (1), @matveb (1), @dimadin (1), @jeremy80 (1), @kishanjasani (1), @ipulc2 (1), @sergiomdgomes (1), @Chouby (1), @dartiss (1), @TimothyBlynJacobs (1), @szaqal21 (1), @sahilmepani (1), @sumitsingh (1), @antpb (1), @mikeschroder (1), @spacedmonkey (1), @adamsilverstein (1), @schlessera (1), @swissspidy (1), and @dougwollison (1).

Congrats and welcome to our 11 (!) new contributors of the week! @jeremy80, @hermpheus, @ariskataoka, @dpik, @lakrisgubben, @DeusTron, @zkancs, @grantmkin, @arkrs, @ipulc2, and @sahilmepani. ♥️

Core committers: @sergeybiryukov (26), @gziolo (16), @desrosj (8), @youknowriad (5), @jorgefilipecosta (2), @peterwilsoncc (2), @davidbaumwald (2), @adamsilverstein (1), @antpb (1), @ryelle (1), and @clorith (1).

#5-8, #week-in-core

A Week in Core – May 17, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between May 10 and May 17, 2021.

  • 28 commits
  • 90 contributors
  • 47 tickets created
  • 8 tickets reopened
  • 40 tickets closed

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

Code changes

Boostrap/Load

  • Have language in wp-config-sample.php better match install instructions – #37199
  • Boostrap/Load: Strengthen language in wp-config-sample.php – #37199
  • Bootstrap/Load: Improve docs for error reporting – #41902

Build/Test Tools

  • Update the several dependencies – #52624

Bundled Themes

  • Update twenty_twenty_one_password_form function to actually use a $post parameter – #53091

Coding Standards

  • Adds spacing so define() statements displayed when creating a networknetwork (versus site, blog)#53182

Docs

  • Update documentation in wp-config-sample.php per the documentation standards – #52628
  • Update help key documentation link in 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/. response – #53162
  • Miscellaneous DocBlockdocblock (phpdoc, xref, inline docs) corrections – #52628
  • Update documentation in phpunit/includes/abstract-testcase.php per the documentation standards – #52628
  • Clarify the @since note for unlink-homepage-logo in get_custom_logo()#51075, #52628

Editor

  • Remove editor type specific filters for blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor configuration – #52920
  • Rename should_load_separate_core_block_assets for consistency – #50328
  • Some documentation and test improvements for loading separate assets for core blocks – #50328, #52620, #53180
  • 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. introduced with loading separate block assets – #53180
  • Enqueue script and style assets only for blocks present on the page – #50328, #52620

External Libraries

  • Update the Requests library to version 1.8.0#53101

KSES

  • Allow calc() and var() values to be used in inline CSSCSS Cascading Style Sheets.#46197, #46498
  • Remove duplicate object-position property – #52991

Login, Users

  • Use a monospace font to display passwords – #40275

Network and Sites

  • Display site icons in the My Sites menu – #46657

Plugins

  • Add support for Update URI 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.#14179, #23318, #32101

Post Thumbnails

  • Display the “Remove featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.” link in the classic editor in red color – #45198

Posts, Post Types

  • Enable revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. for the wp_block post type – #53072

Site Health

  • Remove status text indentation – #52966
  • Improve the appearance of Site Health Status 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.#52966

Toolbar

  • Reset box-shadow on links – #40594

Props

Thanks to the 90 (!) people who contributed to WordPress Core on Trac last week:

@SergeyBiryukov (4), @dd32 (3), @desrosj (3), @rmccue (3), @audrasjb (3), @aristath (3), @jorbin (3), @sabernhardt (3), @joyously (3), @hareesh-pillai (2), @hedgefield (2), @schlessera (2), @mukesh27 (2), @hellofromTonya (2), @utz119 (1), @ryno267 (1), @benoitchantre (1), @chriscct7 (1), @monikarao (1), @robdxw (1), @florianbrinkmann (1), @kraftbj (1), @dougwollison (1), @gregorlove (1), @sasagar (1), @lev0 (1), @youknowriad (1), @TimothyBJacobs (1), @mcsf (1), @westonruter (1), @aduth (1), @johnjamesjacoby (1), @matveb (1), @joemcgill (1), @Clorith (1), @mblach (1), @afercia (1), @paulschreiber (1), @burhandodhy (1), @aspexi (1), @netweb (1), @justinahinon (1), @soulseekah (1), @ozh (1), @travisnorthcutt (1), @carlalexander (1), @skithund (1), @jrf (1), @GaryJ (1), @JeroenReumkens (1), @nhuja (1), @sean212 (1), @filosofo (1), @infolu (1), @dingdang (1), @grapplerulrich (1), @williampatton (1), @earnjam (1), @design_dolphin (1), @mweichert (1), @jamesbonham (1), @olafklejnstrupjensen (1), @displaynone (1), @poena (1), @DavidAnderson (1), @DrewAPicture (1), @markjaquith (1), @meloniq (1), @markparnell (1), @apedog (1), @mikejolley (1), @Ipstenu (1), @juliobox (1), @Rarst (1), @Otto42 (1), @gMagicScott (1), @mordauk (1), @knutsp (1), @TJNowell (1), @jb510 (1), @GeekStreetWP (1), @crazycoders (1), @miqrogroove (1), @afragen (1), @jdgrimes (1), @damonganto (1), @khromov (1), @georgestephanis (1), @joostdevalk (1), and @nvartolomei (1).

Congrats and welcome to our 18 (!!) new contributors of the week! @ryno267, @gregorlove, @sasagar, @lev0, @mblach, @aspexi, @carlalexander, @JeroenReumkens, @sean212, @infolu, @dingdang, @design_dolphin, @jamesbonham, @olafklejnstrupjensen, @displaynone, @gMagicScott, @GeekStreetWP, and @damonganto ♥️

Core committers: @sergeybiryukov (11), @desrosj (4), @gziolo (4), @jorbin (3), @davidbaumwald (2), @ryelle (2), and @clorith (1).

#5-8, #week-in-core

A Week in Core – May 10, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between May 3 and May 10, 2021.

  • 32 commits
  • 42 contributors
  • 44 tickets created
  • 4 tickets reopened
  • 34 tickets closed

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

Code changes

Bundled Themes

  • Twenty Twenty-One: Fix “Opening PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 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.) must be on a line by itself” WPCSWPCS The collection of PHP_CodeSniffer rules (sniffs) used to format and validate PHP code developed for WordPress according to the WordPress Coding Standards. May also be an acronym referring to the Accessibility, PHP, JavaScript, CSS, HTML, etc. coding standards as published in the WordPress Coding Standards Handbook. issue – #52938

Coding Standards

  • Use strict comparison in wp-admin/includes/screen.php#52627
  • Fix a whitespace at end of line issue in wp-admin/includes/class-wp-comments-list-table.php#52627
  • Use strict comparison in wp-admin/includes/class-wp-posts-list-table.php#52627

Comments

  • Remove fourth parameter on remove_filter call – #53113

Docs

  • Correct @since tags for new properties and functions related to infinite scrolling in Media Library – #50105, #40330, #52628
  • Miscellaneous docblockdocblock (phpdoc, xref, inline docs) updates – #52628
  • Use correct @since tag notation – #16401
  • Correct the aria-current array key in the documentation for two 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. filters – #43522, #52628
  • Correct documentation for wp_get_webp_info() return results – #35725
  • Further synchronize documentation for some 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 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. functions – #50531

Editor

  • Update WordPress packages from GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 10.5 – #52991

Formatting

  • Verify emails with + characters are valid – #53130

General

  • Use correct escaping function for form action attributes – #53150
  • Use correct escaping function for the plugin icon URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org#53151

Media

  • Remove infinite scroll from media library and modal – #50105, #40330
  • Avoid an infinite loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. between wp_getimagesize() and wp_get_image_mime()#35725
  • Remove an extra variable and a redundant check in WP_Image_Editor_Imagick::set_quality()#35725
  • Remove _wp_webp_is_lossy() for now – #35725
  • Correct an early return condition in wp_get_webp_info()#35725
  • Move retrieving WebP image size information into wp_getimagesize()#35725
  • Some documentation and test improvements for WebP support – #35725
  • Images: enable WebP support – #35725

Networknetwork (versus site, blog) and Sites

  • Display site icons in the My Sites menu – #46657

Permalinks

  • Add labels for permalink configuration fields – #53142

Plugins

  • Escape the currently installed version number on Add Plugins screen – #53020
  • Standardize the terminology used for actions, filters, and callback functions – #50531
  • Enable revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. for the wp_block post type – #53072
  • Improve the appearance of Site Health Status dashboard widget – #52966
  • Include more ImageMagick/Imagick information in the Media Handling section – #53022
  • Introduce the delete_theme and deleted_theme action 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.#16401
  • Remove the “Featured” tab on Add Themes screen – #49487, #meta5044

Props

Thanks to the 42 people who contributed to WordPress Core on Trac last week:

@desrosj (5), @audrasjb (5), @Clorith (3), @SergeyBiryukov (3), @joemcgill (2), @afercia (2), @chintan1896 (2), @ayeshrajans (2), @johnjamesjacoby (2), @matveb (1), @markoheijne (1), @poena (1), @kjellr (1), @celloexpressions (1), @marylauc (1), @blobfolio (1), @atjn (1), @spacedmonkey (1), @mikeschroder (1), @hellofromtonya (1), @flixos90 (1), @johnbillion (1), @diddledan (1), @youknowriad (1), @alexstine (1), @francina (1), @rmccue (1), @mblach (1), @hedgefield (1), @sabernhardt (1), @adamsilverstein (1), @joedolson (1), @ocean90 (1), @chetan200891 (1), @scottconnerly (1), @ptahdunbar (1), @pbiron (1), @vetyst (1), @m0ze (1), @bmcculley (1), @jnylen0 (1), and @jrf (1).

Congrats and welcome to our 6 new contributors of the week! @marylauc, @atjn, @mblach, @vetyst, @m0ze, @bmcculley ♥️

Core committers: @sergeybiryukov (18), @desrosj (8), @joedolson (2), @johnbillion (1), @gziolo (1), @davidbaumwald (1), and @adamsilverstein (1).

#5-8, #meta5044, #week-in-core

A Week in Core – May 3, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between April 26 and May 3, 2021.

  • 17 commits
  • 28 contributors
  • 57 tickets created
  • 4 tickets reopened
  • 44 tickets closed

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

Code changes

Build/Test Tools

  • Correctly test grunt clean when built to run from src#52625
  • Improve get_bookmark() test coverage – #52988

Bundled Themes

  • Twenty Twenty-One: Fix “Opening PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 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.) must be on a line by itself” WPCSWPCS The collection of PHP_CodeSniffer rules (sniffs) used to format and validate PHP code developed for WordPress according to the WordPress Coding Standards. May also be an acronym referring to the Accessibility, PHP, JavaScript, CSS, HTML, etc. coding standards as published in the WordPress Coding Standards Handbook. issue – #52938
  • Twenty Twenty-One: Display page title as the H1 heading when a static page is selected as the “Posts page” – #52938

Coding Standards

  • Fix a whitespace at end of line issue in wp-admin/includes/class-wp-comments-list-table.php#52627
  • Use strict comparison in wp-admin/includes/class-wp-posts-list-table.php#52627
  • Update $out in WP_Widget_Pages with a more meaningful name – #53059
  • Fix a precision alignment issue in wp-admin/includes/template.php#52627

Documentation

  • Document the usage of $current_user global in get_user_by()#53088

Editor

  • Fix typo in image default size setting – #52920
  • BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor: Update the bundled block patterns – #52846

External Libraries

  • Upgrade PHPMailer to version 6.4.1 – #53114

Posts, Post Types

  • Pass the post object to the_password_form 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.#29008

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/.

  • Check the results of get_metadata() in WP_REST_Meta_Fields methods – #53099

Toolbar

  • Remove title attribute on pending updates link – #26562, #53031

Upgrade/Install

  • Display 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 and theme update counts on WordPress Updates screen – #53031

Users

  • Share current user instance across functions – #28020

Props

Thanks to the 28 people who contributed to WordPress Core on Trac last week:

@mukesh27 (4), @sabernhardt (3), @audrasjb (3), @peterwilsoncc (2), @hellofromtonya (2), @rmccue (1), @lukecarbis (1), @donmhico (1), @chriscct7 (1), @chaion07 (1), @silb3r (1), @paaggeli (1), @david.binda (1), @gziolo (1), @kjellr (1), @beafialho (1), @melchoyce (1), @onemaggie (1), @mamaduka (1), @ayeshrajans (1), @Mte90 (1), @afercia (1), @Boniu91 (1), @francina (1), @rianrietveld (1), @justinahinon (1), @davidbaumwald (1), and @TimothyBlynJacobs (1).

Congrats to our new contributor of the week: @paaggeli ♥️

Core committers: @sergeybiryukov (10), @peterwilsoncc (2), @joedolson (1), @gziolo (1), @davidbaumwald (1), @desrosj (1), and @youknowriad (1).

#5-8, #week-in-core

A Week in Core – April 26, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between April 19 and April 26, 2021.

  • 20 commits
  • 27 contributors
  • 38 tickets created
  • 2 tickets reopened
  • 31 tickets closed

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

Code changes

Bootstrap/Load

  • Add Function for reliable timing data – #39163
  • Improve get_bookmark() test coverage – #52988
  • Remove Internet Explorer 11 from the browserslist#53077
  • Update the caniuse-lite database – #52624
  • Update several dependencies – #52624
  • Add seeking support to stream test library – #52922, #52826

Coding Standards

  • Remove loose comparison in wp-admin/includes/plugin-install.php#52627
  • Use strict comparison in wp-admin/includes/update-core.php#52627
  • Use strict comparison in wp-admin/includes/class-wp-terms-list-table.php#52627
  • Fix minor, inline spacing issue in wp-admin/setup-config.php#52627

Code Modernization

  • Bring consistency to preparing some fields on Networknetwork (versus site, blog) Settings screen: – #51423

Documentation

  • Add a @since note to wp_mail() about using is_email() for validation – #52628

Editor

  • Shape blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor filters to work better with the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 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#52920
  • Abstract block editor configuration – #52920

External Libraries

  • Update Underscore to version 1.13.1 – #45785
  • Update Moment.js to the latest version – #52853

Plugins

  • When loading a plugin in a “sandbox” on activation, do it once – #31104
  • When loading a plugin in a “sandbox” on activation, do it in a separate function – #31104

Posts, Post Types

  • Pass the post object to the_password_form 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.#29008

Upgrade/Install

  • Prevent possible type errors during installation – #51423

Users

  • Share current user instance across functions – #28020

Props

Thanks to the 27 people who contributed to WordPress Core on Trac last week:

@peterwilsoncc (3), @hellofromTonya (3), @SergeyBiryukov (2), @jrf (2), @hellofromtonya (2), @hareesh-pillai (2), @matt (1), @xknown (1), @youknowriad (1), @nosolosw (1), @jeremyfelt (1), @andraganescu (1), @azaozz (1), @jorbin (1), @silb3r (1), @andy (1), @chaion07 (1), @mensmaximus (1), @DrewAPicture (1), @dd32 (1), @Mike_Cowobo (1), @TimothyBlynJacobs (1), @rmccue (1), @lukecarbis (1), @donmhico (1), @chriscct7 (1), and @shital-patel (1).

Congrats to our 2 new contributors of the week: @silb3r, and @Mike_Cowobo ♥️

Core committers: @sergeybiryukov (7), @peterwilsoncc (4), @desrosj (4), @davidbaumwald (2), @gziolo (2), and @jorbin (1).

#5-8, #week-in-core

Proposal: Treat FLoC like a security concern

Google is rolling out Federated Learning of Cohorts (FLoC) for the Chrome browser.

TL;DR: FLoC places people in groups based on their browsing habits to target advertising.

Why is this bad? As the Electronic Frontier Foundation explains in their post “Google’s FLoC is a terrible idea“, placing people in groups based on their browsing habits is likely to facilitate employment, housing and other types of discrimination, as well as predatory targeting of unsophisticated consumers.

This is in addition to the privacy concerns of tracking people and sharing their data, seemingly without informed consent – and making it more difficult for legislators and regulators to protect people.

So What Now?

WordPress powers approximately 41% of the web – and this community can help combat racism, sexism, anti-LGBTQ+ discrimination and discrimination against those with mental illness with a few lines of codeLines of Code Lines of code. This is sometimes used as a poor metric for developer productivity, but can also have other uses.:

function disable_floc( array $headers ) : array {
	$permissions = [];
	if ( ! empty( $headers['Permissions-Policy'] ) ) {
		// Abort if cohorts has already been added.
		if ( strpos( $headers['Permissions-Policy'], 'interest-cohort' ) !== false ) {
			return $headers;
		}
		$permissions = explode( ',', $headers['Permissions-Policy'] );
	}

	$permissions[] = 'interest-cohort=()';
	$headers['Permissions-Policy'] = implode( ',', $permissions );
	return $headers;
}
add_filter( 'wp_headers', 'disable_floc' );

What About Admins Who Want FLoC?

Those websites who want to opt into FLoC are likely to have the technical know-how to simply override this proposed 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 CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

When balancing the stakeholder interests, the needs of website administrators who are not even aware that this is something that they need to mitigate – and the interests of the users and visitors to those sites, is simply more compelling.

Furthermore, for WordPress versions that support privacy settings, we can easily add an on-off toggle to enable websites to opt in. This would only require a few more lines of code and only a couple of new strings.

What Do You Mean By “Treat It Like A Security Concern”?

  1. Include the 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. the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., rather than waiting for the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.;
  2. Back-port the patch to previous versions of WordPress.

Why Treat It That Way? Why Not Just Wait For The Next Major Release?

Well, keep your eyes peeled, because there is a ticketticket Created for both bug reports and feature development on the bug tracker. for future releases on its way!

While it is indeed unusual to treat a new “feature” this way, there is precedent in that something that was not strictly a security vulnerability in comments was back-ported to previous versions for the good of the community as a whole.

Currently, 5.8. is only scheduled for July 2021. FLoC will likely be rolling out this month.

Furthermore, a significant number of WordPress sites only update to minor versions. By back-porting, we can protect more sites and more visitors to those sites – and amplify the impact.

Request For Comment

Please join the discussion below!

Whether want to show support, disagree vehemently, or just want to make the implementation the best that it can possibly be, please have your voice be heard.

I’m aware that there is a lot of discussion on other platforms, including Twitter on this matter, but we won’t see all of it, so in addition to spreading the conversation there, please comment here too, so that it can be considered when this is discussed at development meetings and when the ticket is created (consensus building first – and that is done here 😉 )

YOU DO NOT HAVE TO BE A DEVELOPER TO PARTICIPATE. There will be a ticket on core.trac.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ where we will discuss all of the technical stuff. I’m tremendously grateful that there are so many developers, Core, 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. and others, around, but blogblog (versus network, site) posts on make.wordpress.org are the places that are accessible to techies and non-techies alike 🙂

Version Control:
1. Edited to add clarification that treatment like a security concern refers to the process / procedure (accelerated development and back-porting).
2. Code snippet updated based on suggestions below. Thank you to Tom for the snippet and to everyone who suggested conditionally appending, rather than replacing.
Added some more info to the Request for Comment.
#core-privacy