A Week in Core – April 4, 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 March 28 and April 4, 2022.

  • 43 commits
  • 90 contributors
  • 54 tickets created
  • 6 tickets reopened
  • 64 tickets closed

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.3, 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

  • Adds “select all” shortcut for Mac on permalinks page when .htaccess is not writable – #54633
  • Consistently escape icon URLs in the adminadmin (and super admin) menu – #55496>
  • Do not specify menu order for the Widgets menu when the active theme is 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 – #54916

Build/Test Tools

  • Add unit tests for feed_links_extra()#54713, #54725
  • First pass at a .git-blame-ignore-revs file – #55422

Bundled Themes

  • Twenty Twenty: Fix aria-expanded handling in search toggle – #53951

Canonical

  • Include all public status in 404 redirects – #47911

Code Modernization

  • Rename parameters that use reserved keywords in wp-admin/includes/class-wp-filesystem-base.php#55327
  • Rename parameters that use reserved keywords in wp-admin/includes/class-wp-importer.php#55327
  • Rename parameters that use reserved keywords in wp-admin/includes/class-wp-list-table.php#55327

Comments

  • Improve performance of the wp_count_comments function – #19901
  • 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) fixes following [53024]#54939
  • Improve performance checking for published pages – #55425
  • When a block theme is active, add an information about Site Editor in the 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.#54939

Docs

  • Add missing description for $pagenow global in various functions – #54729, #55499
  • Add missing description for $taxnow global in various functions – #54729
  • Add missing description for $typenow global in various functions – #54729
  • Add missing descriptions for WP_List_Table::get_items_per_page() parameters – #54729, #55327
  • Consistently document the $pagenow global in WP_Customize_Manage methods – #55499
  • Further remove HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. markup from various function summaries – #55506
  • Remove HTML markup from WP_REST_URL_Details_Controller class method summaries – #55506
  • Typo correction in wp_fuzzy_number_match DocBlockdocblock (phpdoc, xref, inline docs)#55493
  • Use correct format for multi-line comments in the_block_editor_meta_boxes()#54729
  • Use third-person singular verbs for function descriptions in WP_Automatic_Updater class, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in WP_Customize_Manager class, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in WP_Customize_Nav_Menus class, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in WP_Embed class, per the documentation standards – #54729

Editor

  • Change location of block support styles in wp_head#55474
  • Use wp_unique_id() instead of uniqid() to generate CSSCSS Cascading Style Sheets. class names – #55474

Formatting

  • Account for HTML entities in wp_extract_urls()#30580

General

  • Open change permalink structure links in same tab – #55252
  • Validate input of wp_list_pluck()#54751

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.

  • Move code out of a translatable string in get_user_count() and related functions – #38741

KSES

Login and Registration

  • Add autocomplete attributes – #41136

Mail

  • Replace empty site title with domain name in email subjects – #54760

Media

  • Introduce wp_content_img_tag 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.#55347
  • Preserve attachment properties on cropping custom logo – #37750

Menus

Posts, Post Types

  • Set post filter in update_post_cache()#50567
  • Translate default labels once – #26746

Quick/Bulk Edit

  • Position action buttons in close proximity – #55364

Taxonomy

  • Improve performance by taxonomy queries by adding a limitting requested terms – #55360

Themes

  • Add “title” key to i18n schema – #54336

Users

  • Fix notice error in WP_Posts_List_Table class – #38741
  • Introduce the concept of a large site to single site installations – #38741
  • Move get_user_count() and related functions to wp-includes/user.php#38741

Props

Thanks to the 90 (!) people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (11), @costdev (9), @audrasjb (8), @peterwilsoncc (8), @aristath (4), @johnbillion (4), @Spacedmonkey (4), @kebbet (4), @jrf (4), @justinahinon (4), @poena (4), @ironprogrammer (4), @flixos90 (4), @hellofromTonya (4), @afercia (3), @davidbaumwald (3), @azouamauriac (3), @mukesh27 (3), @Clorith (2), @dd32 (2), @antonvlasenko (2), @johnjamesjacoby (2), @sabernhardt (2), @mamaduka (2), @alexstine (2), @joedolson (2), @nacin (2), @jb510 (2), @Rahe (1), @uday17035 (1), @spacedmonkey (1), @r-a-y (1), @adamsilverstein (1), @Znuff (1), @pbearne (1), @Presskopp (1), @marybaum (1), @pbiron (1), @lumpysimon (1), @desrosj (1), @pento (1), @macbookandrew (1), @jrchamp (1), @miss_jwo (1), @obenland (1), @tharsheblows (1), @Mista-Flo (1), @psmits1567 (1), @westonruter (1), @cbravobernal (1), @ndiego (1), @Rufus87 (1), @wonderboymusic (1), @webcommsat (1), @tobifjellner (1), @ComputerGuru (1), @dhanendran (1), @coffee2code (1), @rsiddharth (1), @jontyravi (1), @bhrugesh12 (1), @Chouby (1), @Rarst (1), @chriscct7 (1), @ocean90 (1), @nagpai (1), @dlh (1), @tyxla (1), @utz119 (1), @hareesh-pillai (1), @chintan1896 (1), @jigar-bhanushali (1), @gvgvgvijayan (1), @Valer1e (1), @ryan (1), @ajoah (1), @marv2 (1), @mkox (1), @trex005 (1), @voldemortensen (1), @hellofromtonya (1), @goaroundagain (1), @htdat (1), @chaion07 (1), @Cybr (1), @rianrietveld (1), @oandregal (1), @FolioVision (1), @markjaquith (1),and @helen (1).

Congrats and welcome to our 7 new contributors of the week: @lumpysimon, @nagpai, @jigar-bhanushali, @gvgvgvijayan, @marv2, @mkox, @trex005 ♥️

Core committers: @sergeybiryukov (14), @audrasjb (12), @peterwilsoncc (8), @joedolson (5), @spacedmonkey (5), @gziolo (1), @flixos90 (1), and @helen (1).

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

A Week in Core – March 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 March 21 and March 28, 2022.

  • 34 commits
  • 39 contributors
  • 49 tickets created
  • 5 tickets reopened
  • 40 tickets closed

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.3, 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

  • Remove a duplicate sentence after [52980]#38913
  • Rephrase some sentences after [52978]#38913
  • Replace contracted verb forms for better consistency – #38913

Build/Test Tools

  • First pass at a .git-blame-ignore-revs file – #55422
  • Make comment cache group persistent in object-cache.php – #54725

Bundled Themes

  • Twenty Nineteen: Override flex order in comment form – #46600

Code Modernization

  • Rename parameters that use reserved keywords in wp-admin/includes/class-ftp.php#55327
  • Rename parameters that use reserved keywords in wp-admin/includes/class-plugin-upgrader.php#55327
  • Rename parameters that use reserved keywords in wp-admin/includes/class-theme-upgrader.php#55327
  • Rename parameters that use reserved keywords in wp-admin/includes/class-wp-debug-data.php#55327

Coding Standards

  • Remove a one-time $pieces variable in wp-includes/class-wp-*-query.php#54728
  • Simplify some long conditions in wp-includes/class-wp-term-query.php#55352, #54728
  • Use multi-line strings for the $this->request property in wp-includes/class-wp-*-query.php#54728
  • Wrap the $this->request property in wp-includes/class-wp-*-query.php#54728

Docs

  • Adjust documentation in get_post_galleries() tests per the documentation standards – #54725, #54729
  • Adjust the term_exists_default_query_args filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. docs per the documentation standards – #55439
  • Correct the documented return types for date and time related functions and filters – #54729
  • Use third-person singular verbs for function descriptions in wp-admin/includes/theme.php and wp-admin/includes/theme-install.php, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in wp-includes/rewrite.php, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in wp-includes/taxonomy.php, per the documentation standards – #54729
  • Use third-person singular verbs for function descriptions in wp-includes/template.php, per the documentation standards – #54729

Editor

  • Optimize preload paths for post and site editors – #55337

External Libraries

  • Update Jcrop to version 0.9.15 – #54035

Menus

  • Improve cache priming in the wp_get_nav_menu_items function – #55428
  • Improve padding on bulk action labels for small screens – #54855

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

  • Rephrase the description of the “Avatars” section – #32998

Plugins

  • Avoid stomping of some variables in wp-settings.php#55432

Query

  • Ensure that sticky post query returns all sticky posts – #36907
  • Query: Improved sticky post query – #36907

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.

  • Introduce term_exists_default_query_args filter – #55439

Tests

  • Remove some unused variables in phpunit/tests/filters.php#54725

Tests

  • Use a more descriptive name for the sticky posts test that verifies the parameters from the main query – #36907

Upgrade/Install

  • Fix the docs for the default value of $clear_working in WP_Upgrader::run#55450
  • Update sodium_compat to v1.17.1 – #55453

Props

Thanks to the 39 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (10), @peterwilsoncc (7), @jrf (7), @audrasjb (4), @Spacedmonkey (4), @aristath (4), @poena (4), @justinahinon (4), @azouamauriac (3), @sabernhardt (3), @helen (2), @costdev (2), @uday17035 (1), @Presskopp (1), @socalchristina (1), @aandrewdixon (1), @hellofromTonya (1), @francina (1), @JeffPaul (1), @paulkevan (1), @sumitsingh (1), @ryokuhi (1), @priyank9033 (1), @rehanali (1), @noisysocks (1), @Chouby (1), @paragoninitiativeenterprises (1), @karpstrucking (1), @hareesh-pillai (1), @garrett-eclipse (1), @jsnajdr (1), @webcommsat (1), @GaryJ (1), @netweb (1), @johnjamesjacoby (1), @ocean90 (1), @joyously (1), @stevegrunwell (1), and @pbiron (1).

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

Core committers: @sergeybiryukov (13), @audrasjb (12), @spacedmonkey (5), @davidbaumwald (2), @helen (1), and @johnbillion (1).

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

Ensuring Proper Attribution for Contributions to WordPress on GitHub

Edit Feb. 1, 2022 @ 00:45 UTC: Added note clarifying that this is currently a suggested change for 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/ repository, but should be considered for all GitHubGitHub GitHub is a website that offers online implementation of git repositories that 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/ repositories going forwards to ensure all contributors receive credit for their work. – @desrosj

Edit Feb 3, 2022 @ 03:50 UTC: This proposal has been withdrawn and will be reissued taking feedback in the comments section into account. Please feel free to leave any additional thoughts you may have in the comment section. – @desrosj


One of the greatest things about open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. is that contributions come in many shapes and sizes. Anyone can contribute regardless of skill set, experience, time zone, or background. There are countless ways for someone to get involved with open source projects.

WordPress is no different. Contributors submitting code modifications are only a small subset of the larger community. Recognizing all types of contributions is essential to establishing a healthy contributor base, and the responsibility falls on the project’s maintainers. Contributors that feel recognized and valued are more likely to continue contributing.

There is an established and documented policy on the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress./SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. side of the project to ensure that everyone contributing to a changeset receives credit (or “props”). This method has been in place for over ten years now and makes generating the list of props for each release scriptable and straightforward. The process is a bit unique to the project but frequently receives positive feedback from others in open source.

Since being merged into WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. in version 5.0, there has not been an equivalent process for the contributions on GitHub. The process is manual, does not account for non-code contributions, and often results in contributors not receiving credit for their work.

This post summarizes the current processes in place for Trac/SVN and GitHub to understand the shortcomings and propose a small change to ensure more people receive proper attribution for their contributions made on GitHub.

Current Processes

Trac/SVN

When a commit is made to the WordPress source code in SVN, the person committing the code is responsible for collecting a list of 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/ users that contributed to moving a ticketticket Created for both bug reports and feature development on the bug tracker. towards a resolution.

Props should be given to all those who contributed to the final commit, whether through patches, refreshed patches, code suggested otherwise, design, writing, user testing, or other significant investments of time and effort.

WordPress Core Handbook – Commit Message Guidelines

The guidelines also encourage committers to “err on the side of giving props liberally. Props provide major encouragement for contributors.” Commits themselves are considered a contribution, even if the committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. does not include their name in the props list (see the section on self props).

When a release is near, all of the commits in the current release cycle go to a text file via git log, and a private script parses out every “Props x, y, z.” line to tally up the number of props for each contributor. After this, the list is groomed for duplicates and incorrect usernames/typos.

Gutenberg

There are currently no documented best practices for giving props on GitHub. There are two primary ways that props are currently given: when merge commits occur and when Co-authored-by trailers are added to merge commit messages.

Here is the current process for gathering props when a WordPress release approaches:

  • Use git shortlog to dump commit data into a text file. For 5.9, the command was git shortlog -sen v10.8.0...v11.9.0 > 5-9-gutenprops.txt
  • Use git log to dump commits with Co-authored-by trailers into a text file. For 5.9, the command was git shortlog -sen v10.8.0...v11.9.0 > 5-9-co-authored-gutenprops.txt
  • Grab props for pull requests merged after the final Gutenberg release included that have been backported. This is usually done manually, but could maybe be accomplished using git shortlog in the respective wp/X.X 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". (provided the commits were cherry picked correctly) and repeating the Co-authored-by step above for that branch.
  • Manually merge the three lists while combining duplicates.
  • Match all GitHub contributors with their WordPress.org account. This can be semi-automated for contributors that have linked their .org and GitHub accounts but still requires manual interaction as many folks have not linked their accounts (but please everyone, link your accounts).
  • Merge this list into the Trac/SVN props list generated in the previous section, combining duplicates.

Finalizing Props List

After both processes are completed above, the release squad will attempt to manually verify that contributors with non-code contributions are also represented in the list.

Pain Points

In summary, these are the pain points for collecting props from GitHub:

  • Highly manual and time consuming.
  • Often requires multiple people to divide and conquer username matching (especially when a contributor has not linked their w.org account to their GitHub one).
  • Non-code contributions never receive props, unless a Co-authored-by trailer is added or they are added during the finalization step.
  • The contributions of all contributors are often under-represented, if not missed entirely.
  • Contributions are sometimes double-counted when the Core committer also compiles props for the package update commit (see [52633] as an example).
  • Props counts for the Trac/SVN side are often higher than the GitHub side because of better tracking with SVN commit messages and respective prop guidelines.

Proposed Changes to GitHub Processes

The following change is recommended to standardize and improve the process of giving all community members props for their contributions.

When a Gutenberg pull request is merged, the contributor merging changes into the code base will be responsible for reviewing the PR, and any associated issue(s) or draft/closed PRs to identify all contributors who should be credited on the merge commit by following the same process and guidelines as WordPress Core SVN and adding a “Props user1, user2, user3.” line in the merge commit message.

The same guidelines should be followed as SVN commits. They’re listed below for clarity with new lines specific to GitHub in bold, and irrelevant items specific to w.org omitted:

  • Must be preceded by a blank line.
  • GitHub usernames should be used, not WordPress.org usernames.
  • Usernames must not start with an @ (at) sign.
  • Separate usernames by comma + space. Think: /^props (\s*([^,]+),?)+$/
  • Copy/paste usernames to avoid typos.
  • Err on the side of giving props liberally. Props provide major encouragement for contributors.
  • If you forget to prop someone, check to see if they already have props in the current release as it won’t matter in the long run as they’ll be included in the release credits anyway. If they aren’t already propped, you can flag it to the Release Coordinator to ensure that person is added on release day. It’s also recommended to reach out to the contributor in 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/. or in a comment on the ticket as a courtesy and apologize for missing their name in the commit message and letting them know their contribution will be recognized and note how.

Pros

  • Allows for manually auditing the list of contributors. This helps give proper credit to testers, 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. reporters, and other non-code contributors and also prevents giving props to anyone that does not positively contribute to the solution.
  • Consistency between SVN and GitHub
  • Allows the same w.org props script to be adapted and used for GitHub props, greatly reducing the amount of manual work required. https://profiles.wordpress.org/github:username can be used to easily look up a GitHub contributor’s w.org username (provided they have linked their accounts). Example: https://profiles.wordpress.org/github:desrosj.

Cons

  • Requires the merging contributor to manually compile a list of contributors (though this same con exists on SVN wherein the committer needs to compile the list from Trac).
  • Does not show up on user contribution graphs in GitHub.

Note: for the immediate near-term, this change is proposed for the Gutenberg repository. However, this policy is encouraged to be considered on a repository by repository basis for all GitHub repositories under the WordPress organization that are synced into SVN unless an acceptable alternate policy is in place.

Why not the Co-authored-by trailer?

On the surface, the Co-authored-by trailer seems like the ideal solution, and even shows up on a contributor’s profile activity feed. However, there are several shortcomings.

  • It’s GitHub-specific. If there’s a need to use another GITGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/. service in the future, the process for giving props would need to be revised.
  • Co-authored-by trailers can only be added to commit messages easily when using GitHub Desktop. When merging a pull request through the website, the merging contributor still needs to manually compile a list of names and emails for anyone that contributed.
  • This method includes emails in the commit message. While users can choose to keep their email address private in their GitHub settings and emails are accessible through git log, making an email to reach out to a specific contributor more easily accessible is not ideal.
  • Emails and legal and preferred names change. Usernames are far less likely to change.
  • Since commit subject lines only are used when squashing and merging pull requests, the Co-authored-by trailers found within any commit message on a PR are stripped out of the final commit message. The merging contributor needs to re-add them and manually look through each commit for Co-authored-by trailers.

Other Potential Solutions Ruled Out

Next Steps

After discussing this proposal, fielding all questions, and addressing all concerns, these are the next steps required:

  1. Educate the maintainers of the Gutenberg repository and help them make this adjustment in their workflow.
  2. Add merge commit details to Gutenberg’s Repository Management > Merging Pull Requests documentation.
  3. Update the Core handbook page for Preparing the About Page > Props documentation.
  4. Update the Core handbook page for Commit Messages, referencing the Gutenberg Merging Pull Requests documentation.
  5. Adjust the script on w.org responsible for compiling the list fo props for a release to also ingest a git log with GitHub usernames.
  6. Explore potential ways to automate props collecting with GitHub Actions (a workflow that collects all participants for the pull request and attached issues, etc.).

Other Resources

  • 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. tickets for gathering Gutenberg props: 5.7, 5.6, 5.5, 5.4, 5.3, 5.2, 5.0.

Props @jeffpaul, @sergeybiryukov, @cbringmann for pre-publish review.

Dev chat summary, September 1, 2021

@hellofromtonya led the chat on this agenda. You can also read the Slack logs.

Highlighted blogblog (versus network, site) posts

The attendees did not add comments to the posts highlighted in the agenda.

Worth mentioning

Thanks to the 34 people who contributed to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. last week, including 2 new contributors! Kudos to the 8 core committers of the week, too

A Week in Core – August 30, 2021

Announcements

  • WordPress 5.8.1 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). 1 was released right before the dev-chat.
  • @webcommsat announced that the 6th edition of WordPress Translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. Day has started on September 1st and will run through the whole month: you can check the dedicated website.
  • @annezazu reported that a proof of concept for a migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to Playwright was shared during the core editor meeting and well received thus far.
  • Tonya noted that the Test team is working on updating the local testing docs in the handbook to include not only wp-env but also multiple workflow alternatives.

Empower everyone to contribute!

Tonya Mork

Component maintainers

Build/Test Tools

Work continues on improving the PHPUnit test suite and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 fixes.

Help/About

@webcommsat and @marybaum are meeting to plan ahead for WordPress 5.9 and what are the implications of auto-updates on the About page.

Upgrade/Install

Open Floor

Tonya brought up #53450 and asked for feedback. Two committers added positive comments so it looks like it’s a good candidate for WordPress 5.9.

Abha reminded everyone about the resources and links that the Marketing team created to promote multiple Make teams.

Michale Rehnert asked about how to set up a Docker container for contributing purposes. @helen suggested two resources:

Colin Stewart asked for feedback on #53152.


See you next week!

#5-8-x, #5-9, #dev-chat, #summary

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 – June 7, 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 31 and June 7, 2021.

  • 40 commits
  • 72 contributors
  • 53 tickets created
  • 5 tickets reopened
  • 77 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

Administration

  • List Tables: Update spacing in action items on small screens – #48546, #47895

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
  • Load the WP_Theme_JSON_Resolver class in wp-admin/load-styles.php#53175
  • 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
  • Update script versions – #52991
  • Correct some docblocks added in [50836]#50328, #52620
  • Fix failing block editor test – #53301

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
  • Only reference recovery mode email when it can be sent – #52560

Build/Test tools

  • Remove the ::append_to_selector() method from Tests_Theme_wpThemeJson#52991
  • Use assertSame() in some newly introduced tests – #52482

Bundled Themes

  • Twenty Twenty-One: Check for navigation element before using it – #52773

Coding Standards

  • Extraneous white space at end of line – #51189
  • Simplify a condition in wp-admin/admin-footer.php#53306
  • Simplify the logic in WP_Widget::get_field_name() and ::get_field_id()#16773, #52627
  • Use strict comparison in wp-admin/options-media.php#52627

Comments

  • Escape comment author’s email in the Edit Comment form – #53349
  • Return valid comment reply link if comments are paginated – #51189

Documentation

  • Add a @since note to wp_parse_id_list() and wp_parse_slug_list() about using wp_parse_list()#52628
  • Correct type for the $widget parameter of the widget_block_content filter – #51566

External Libraries

  • Update the Requests library to version 1.8.1 – #53334

Plugins

  • Make sure Hello Dolly translations are deleted when the 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 is deleted – #52817

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

  • Add ‘delete_widget’ action to delete 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. endpoint – #53289
  • Delete fresh_site option when updating widgets via REST API – #53317
  • Fix delete widget endpoint – #53313
  • Rename the $creating parameter of rest_after_save_widget action to $update#53317
  • Restore the $creating parameter of rest_after_save_widget action – #53317

Site Health

  • Conditionally run Authorization 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. test – #52642
  • Remove unnecessary function_exists() checks from WP_Site_Health::get_tests()#52642

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

  • Don’t attempt to initialize the same instance twice. Follow up to [51082]#52133, #52050
  • Fix initialization when the editor is in a postbox by delaying it until document.readyState === 'complete'#52133, #52050

Upgrade/Install

Users

  • Add user’s 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 password reset link to ensure login screen matches the language of the email – #34281, #52605, #53321

Widgets

  • Add widget_block_content filter – #51566
  • Add missing actions to widgets block editor – #53288
  • Enable 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 Nav Menu widgets in Legacy Widget block – #53301
  • Make new WordPress installations use blocks in widget areas instead of widgets – #53324

Props

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

@TimothyBlynJacobs (4), @SergeyBiryukov (3), @nosolosw (3), @isabel_brison (3), @andraganescu (3), @alexstine (3), @costdev (3), @hellofromtonya (2), @sabernhardt (2), @joyously (2), @audrasjb (2), @jorgefilipecosta (2), @justinahinon (1), @jipmoors (1), @westonruter (1), @drebbits.web (1), @afragen (1), @stevenkword (1), @jorbin (1), @lukecarbis (1), @jdgrimes (1), @tamlyn (1), @solarissmoke (1), @5ubliminal (1), @helen (1), @celloexpressions (1), @Mte90 (1), @hellofromTonya (1), @kevin940726 (1), @garrett-eclipse (1), @y_kolev (1), @Clorith (1), @Otshelnik-Fm (1), @JeffPaul (1), @talldanwp (1), @WebDragon (1), @dlh (1), @pbiron (1), @jamil95 (1), @sushmak (1), @stevegrunwell (1), @aliveic (1), @mkdgs (1), @williampatton (1), @aristath (1), @timothyblynjacobs (1), @ocean90 (1), @noisysocks (1), @promz (1), @poena (1), @metalandcoffee (1), @desrosj (1), @patkemper (1), @herrvigg (1), @spikeuk1 (1), @dway (1), @azaozz (1), @notlaura (1), @MrPauloEn (1), @paaggeli (1), @engahmeds3ed (1), @utsav72640 (1), @kapilpaul (1), @jrf (1), @schlessera (1), @mbabker (1), @walbo (1), @reynhartono (1), @Otto42 (1), @arunsathiya (1), @danfarrow (1), and @mukesh27 (1).

Congrats and welcome to our 12 new contributors of the week! @costdev, @5ubliminal, @WebDragon, @sushmak, @mkdgs, @patkemper, @herrvigg, @spikeuk1, @dway, @MrPauloEn, @kapilpaul, and @reynhartono. ♥️

Core committers: @sergeybiryukov (15), @noisysocks (8), @joedolson (4), @youknowriad (3), @jorbin (2), @azaozz (2), @ryelle (2), @ocean90 (1), @johnbillion (1), @peterwilsoncc (1), and @clorith (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 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

Dev chat summary: May 12, 2021

@lukecarbis and @jeffpaul led the 0500 UTC devchat and 2000 UTC devchats, respectively, on this agenda.

Here’s a combined summary from those discussions …

Highlights from blogblog (versus network, site) posts

In short order, the standout posts of the week are:

While the group opened browser tabs and bookmarked those posts, the chat moved on to …

Upcoming releases

A schedule reminder for 5.8: Feature Freeze is coming in 13 days (ed. note: at this writing, twelve) on Tuesday, May 25th. Per the published schedule, that means no commits for new enhancements or feature requests for the last two weeks before 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. Instead, the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team will focus on bugs during that period.

To that end, @lukecarbis and @chaion07 have published the bug-scrub schedule. If you’d like to add a scrub, you can — whether you’re a developer or not, whether you’re already a contributor or not! And it gets you official props as a Core contributor to 5.8. (Ed. note: You are also free to tailor your scrub to the tickets, issues, and features that matter most to you. It is, quite literally, your scrub.)

There’s also a new(ish) kind of scrub called a testing scrub. If you’d like to get ready to help with those, here’s a handy how-to guide from @boniu91.

@helen reminded the group that 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.-based 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. editor needs a lot more testing.

Details on the Marketing plans for 5.8 are noted in the Full Site Editing Pre-Merge Overview post, if you’re interested in helping out there please consider attending Marketing meetings which are held every Wednesday at 14:00 UTC.

Components check-in and status updates.

For more details on any change, check the ticketticket Created for both bug reports and feature development on the bug tracker. that makes the commit. You’ll get the all the conversation about the issue, what changed and why, and — of course — the patches and screenshots that took the change from concept to commit, all in one place.

@sergeybiryukov:

  • Ticket #53101 updates the Requests library to version 1.8.0, making it a lot faster to use cURL.
  • Ticket #50105 pulls infinite scrolling out of the Media Library and replaces that feature with a Load More button that the user controls (accessibly!)
  • Also in Media, ticket #35725 brings WebP image-format support to Core.
  • No major news this week on Build/Test Tools, Date/Time, General, 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., or Permalinks.

@audrasjb:

@marybaum checked in on Help/About. There’s no major news right now, but that component gets very busy starting at feature freeze.

Open Floor

@markparnell has a 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. on #49278 that’s passing unit tests, looking for review in hopes of landing in 5.8; @peterwilsoncc likes the approach of improving DQ query performance and feels it needs to be an early ticket but unsure if we’re still early in the 5.8 cycle for it to be considered; @lukecarbis noted some dev-feedback from someone experienced with SQL would help

@christos12 raised a concern about removing infinite scroll from the Media Library possibly surprising some users. A brief discussion followed, with @desrosj weighing in on the Load More button and @davidbaumwald noting that he has written a plugin that will let a user restore Infinite Scroll.

In a late-breaking comment on the devchat agenda, @paaljoachim asked the group for recommended resources on WordPress 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 design (not development or information design, but visual design). @jeffpaul suggested the Plugin Handbook; a little later, @megphillips91 recommended this guide to plugin UI in the block editor.

Props to @jeffpaul for reviewing this post.

#5-8, #core-css, #core-media, #dev-chat, #hosting, #mobile, #openverse, #summary

DevChat meeting Summary – May 5, 2021

Agenda for the two meetings. Thanks to @peterwilsoncc and @jeffpaul for leading the 05:00 and 20:00 UTC devchats respectively.

Link to 05:00 UTC devchat meeting archive in Slack // Link to 20:00 UTC devchat meeting archive in Slack

Announcements and news

These posts need your feedback:

  • @ryokuhi published a proposal on Make/Accessibility about a new Trac workflow keyword that the 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) team would like to consider.  If you feel particularly opinionated or passionate about this, please comment on the post.
  • @jeffpaul and @desrosj published a request to Component Maintainers, Feature plugin authors, and the Gutenberg team to share plans / help needed for 5.8 (primary focus will be FSE).  Please comment on the post to help ensure we’re tracking the right work for the release.
    • @youknowriad noted that required Gutenberg changes in Core are made as filters/extensions points and brought to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. as part of 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/ merge that happens regularly
    • @mkaz shared the WordPress 5.8 Must Haves project board on GitHub as outline of Gutenberg work for 5.8

5.8 Review

  • Schedule confirmed including 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. scrub schedule
  • @youknowriad shared that trunk is already on Gutenberg 10.4, @gziolo is working on updating it to 10.5 and the big changes (Global styles infrastructure in themes.json and FSE blocks) are coming in 10.6
  • Feature freeze on Tuesday May 25th (19 days from now) defined as “During the following two weeks, there will be no commits for new enhancements or feature requests. Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. will focus on defect work (aka outstanding bugs)
  • 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 on Tuesday June 8 (33 days)
  • 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). 1 on Tuesday June 29 (54 days)
  • Release on Tuesday July 20 (75 days)
  • Current list of tickets that are on the 5.8 milestone, list of good-first-bugs tickets

Component maintainers and committers update

  • @sergeybiryukov shared Plugins update that Parameter names in 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 now use consistent terminology when referring to actions, filters, and callback functions via #50531
  • @sergeybiryukov shared Themes update that #49487 removes the “Featured” tab on Add Themes screen to match an earlier change in the Theme Directory
  • @webcommsat shared About/Help update that ticketticket Created for both bug reports and feature development on the bug tracker. triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. continues with @marybaum
  • @audrasjb shared Menus update that #21603 is being reviewed
  • @audrasjb shared Upgrade/Install update that the last meeting recap includes a project for the next few releases

Open Floor

Props to @audrasjb, @webcommsat and @marybaum for reviewing this post.

#5-8, #accessibility, #dev-chat, #docs, #fse, #full-site-editing, #github, #learnwp, #summary, #updater

DevChat meeting Summary – April 28, 2021

Agenda for the two meetings. Thanks to @peterwilsoncc and @jeffpaul for leading the 05:00 and 20:00 UTC devchats respectively.

Link to 05:00 UTC devchat meeting on the core channel on Slack

Link to 20:00 UTC devchat meeting on the core channel on Slack

Announcements and news

Feedback on posts requested

  • @iandunn needs your input on the topic of assisting 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 developers to avoid specific bugs that result in WordPress end users having a bad experience. He has suggested potential solutions including static code analysisStatic code analysis "...the analysis of computer software that is performed without actually executing programs, in contrast with dynamic analysis, which is analysis performed on programs while they are executing." - Wikipedia, and has provided a list of questions to help guide the discussion. Do read it and provide feedback from your perspective.
  • @francina: Would Stats Dashboards Help Your Team? Read this post for more details. Would folks in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. feel that any sorts of stats on a dashboard would support in their work in core?
  • New team CC Search to join WordPress. CC Search, a CC0 (Creative Commons Zero) image search engine, is joining the WordPress project with more than 500 million openly licensed and public domain images discoverable from more than 50 sources, audio and video soon to come. Read this post for more information @chanthaboune: more news and context coming in the next few weeks.
  • Wonderful design reference for those looking for ways to quickly prototype WordPress UIUI User interface in Figma. Read this blog post
  • WP Briefing podcast. @jeffpaul: these are super quick to digest, provide a good on-ramp to what’s latest in WordPress. Check out all the episodes at this link and find links to subscribe in your favorite podcast app.

WordPress 5.8 Release

@francina gave an update – Thanks to everyone who volunteered and right now I can confirm these roles:

Release leadRelease Lead The community member ultimately responsible for the Release.: Matt Mullenweg (@matt)
Release Coordinators: Jeff Paul (@jeffpaul) and Jonathan Desrosiers (@desrosj)
Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Lead: Luke Carbis (@lukecarbis)
Core Tech Lead: Helen Hou-Sandí (@helen)
Editor Tech Lead: Riad Benguella (@youknowriad)
Marketing and Communication Lead: Josepha Haden-Chomphosy (@chanthaboune)
Documentation Lead: Milana Cap (@milana_cap)
Support Lead: Mary Job (@mariaojob)
Testing Lead: Piotrek Boniu (@boniu91)

  • @francina: “If I have messaged you and asked to join the release as part of the supporting crew, thanks for being part of the collaborative work that makes WordPress so great. Everyone! Join us in the channel #5-8-release-leads
  • If you have any questions about releases which you are following along, and if you want to ask questions: #core and #core-editor are the right channels
  • 5.8 release team

Full Site Editing (FSE) related items

  • Open call to send in your questions on Full Site Editing (FSE) Round 2 – reminder from @annezazu that you can submit questions, no matter who you are. The call closes 12 May 2021. This is part of the collaboration in #fse-outreach-experiment
  • [More posts on FSE in the posts requesting feedback section above]
  • Marketing has social media text available which can be reused to promote the different FSE calls 
  • @helen making 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. based theme with the full site editor

Component maintainers and committers update

  • @sergey: Work has continued on further fixing some long-standing coding standards issues in core, see ticketticket Created for both bug reports and feature development on the bug tracker. #52627 for more details.Build/Test Tools, Date/Time, 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., Permalinks: No major news this week.
  • @clorith: Site Health catching up a bit on older and unanswered tickets
  • @audrasjb: Menus, Widgets, Upgrade/Install: nothing new. I scrubbed some tickets in the Menus component but no major news to share.
  • Following on from discussion last week @marybaum nominates @abhanonstopnewsuk as co-maintainer for the Help/ About page component 
  • In the last week, they have been going through the tickets since and will give an update in future devchats.

jQuery

  • @Hareesh: some attention requested on #52163. With this out of the way, we would have less jQuery migrate warnings, and it would be easier to fix any remaining warnings.
  • @clorith: jQuery UI hasn’t been updated yet, we are still waiting on their release, which I believe is scheduled for the end of May/start of June 
  • @davidb: jQuery release is right before 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 then, if the dates hold
  • @clorith: Yeah, which is a bit tighter than I’d like, but it is what it is… we’ll have a look once it’s ready to see what’s going on and what the best approach is. Building from source while they’re still modifying it isn’t really an option in my opinion.

Open Floor

  • @notlaura: feedback requested on ticket #53070. Establish a Core CSSCSS Cascading Style Sheets. deprecation path, and ask if anyone is interested in working on it! This is something we’ve been discussing in #core-css

Community

  • @chanthaboune: As you may be aware, many of our fellow contributors are experiencing disruptions in their lives right now above and beyond the (seemingly) routine disruptions of this pandemic life. From big earthquakes to big spikes in COVID cases to unrest right outside their doors, some of your WordPress pals are hurting more than usual.
  • For my part, I can say take whatever time you need to take care of yourselves. You are important and WordPress is not more important than your health and well-being.
  • For all of us, if you haven’t reached out to your friends to see how they are, please do.

Thanks to @meher and @webcommsat for the devchat notes and @marybaum for her help with them.

#5-8, #dev-chat, #fse, #fse-outreach-experiment, #jquery