A Week in Core โ€“ November 29, 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 November 22 and November 29, 2021.

  • 42 commits
  • 60 contributors
  • 53 tickets created
  • 5 tickets reopened
  • 40 tickets closed

The Core team is currently working on the next major release, WordPress 5.9 ๐Ÿ› 

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

  • Configure Dependabot scanning 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 by the repository owner. https://github.com/ Actions โ€“ #54503
  • Correct the order and naming of expected and actual values in various tests โ€“ #53363
  • Fix warnings from stdClass::__invoke() callback mocks 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/ tests โ€“ #53844
  • Remove unexpected output in wp_dashboard_recent_drafts() tests on PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 8.1 โ€“ #53635, #53363
  • Rename classes in phpunit/tests/block-supports/ per the naming conventions โ€“ #53363
  • Rename classes in 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. template tests per the naming conventions โ€“ #53363
  • Replace assertEquals() with assertSame() in block template tests โ€“ #53364, #53363, #54335
  • Temporarily disable the check that the current recommended PHP version is actively supported โ€“ #54528
  • Use a simpler approach to test the output in some tests โ€“ #53635, #53363, #53363
  • Specify NodeJS version 14.x in the .nvmrc file โ€“ #54502

Bundled Themes

  • Twenty Twenty One: Remove Image block placeholder alignment override in editor styles โ€“ #54254
  • Twenty Twenty-One: Combine duplicate CSSCSS Cascading Style Sheets. rules โ€“ #53605
  • Twenty Twenty-One: Style adjustments for list-based widgets in the 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 โ€“ #53629
  • Twenty Twenty: Restore Editor post title styles after 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/ 11.4.0 updates โ€“ #54056

Docs

  • Add a @since note and description to wp_kses_attr() for new attribute-related KSES options: โ€“ #54261
  • Document the globals used in some Privacy 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. methods โ€“ #53399
  • Improve consistency of some DocBlocks in wp-admin/includes/post.php โ€“ #53399
  • Miscellaneous DocBlockdocblock (phpdoc, xref, inline docs) corrections โ€“ #53399
  • Miscellaneous DocBlock corrections in wp-admin/includes/post.php โ€“ #53399
  • Remove inaccurate part of the screen_settings 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. description โ€“ #54524
  • Various docblock corrections and improvements โ€“ #53399

Editor

  • Check the correct post type support property for initial_edits โ€“ #53813
  • Ensure block style name does not contain spaces before creating the class โ€“ #54296
  • Remove Navigation Areas โ€“ #54506
  • Update wordpress packages: Update packages to include 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. fixes from Gutenberg โ€“ #54487

External Libraries

  • Update getID3 to version 1.9.21 โ€“ #54162
  • Update the Requests library to version 2.0.0 โ€“ #54504
  • Upgrade PHPMailer to version 6.5.3 โ€“ #54514

Feeds

  • Remove reference to wp-atom.php in Atom feeds xml:base attribute โ€“ #47955

Media

  • Allow setting custom image alt text in custom headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโ€™s opinion about your content and you/ your organizationโ€™s brand. It may also look different on different screen sizes. image โ€“ #46124
  • Ensure media preview is fully viewable in the โ€œAdd Mediaโ€ modal โ€“ #53636
  • Fix TypeError and improve wp_exif_frac2dec() to only return int or float โ€“ #54385
  • Replace tests/phpunit/data/images/sugar-mountain.jpg test image โ€“ #54385
  • Replace some array keys with their numeric equivalent โ€“ #53540

REST API

  • Ensure that the rest_after_insert_ action is executed in the templates controller. โ€“ #54520

Script Loader

  • Enqueue block stylesheet only when the corresponding block is used โ€“ #54457

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.

  • Check $term object before using it in get_term_feed_link() โ€“ #50225
  • Use WP_Term object to retrieve the taxonomy in get_term_feed_link() โ€“ #50225

Themes

  • Add block template resolution algorithm unit tests โ€“ #54478
  • Move the skip link to outside the canvas in block themes โ€“ #54491
  • Update the base folders for templates and template parts in block themes โ€“ #54493

Props

Thanks to the 60 people who contributed to WordPress Core on Trac last week: @jrf (6), @audrasjb (4), @sabernhardt (4), @costdev (4), @mukesh27 (4), @SergeyBiryukov (3), @spacedmonkey (2), @bernhard-reiter (2), @adamsilverstein (2), @peterwilsoncc (2), @zieladam (2), @Boniu91 (2), @justinahinon (1), @multidots1896 (1), @wojsmol (1), @jorgefilipecosta (1), @chintan1896 (1), @schlessera (1), @Synchro (1), @datagutten (1), @noisysocks (1), @dd32 (1), @dustinrue (1), @soulseekah (1), @szepeviktor (1), @youknowriad (1), @ryelle (1), @Shaharyar10 (1), @shital-patel (1), @poena (1), @circlecube (1), @Rahmohn (1), @sourovroy (1), @hugod (1), @webmandesign (1), @joedolson (1), @Ankit K Gupta (1), @get_dave (1), @shireling (1), @mai21 (1), @hilayt24 (1), @desrosj (1), @praem90 (1), @stevegs (1), @tobiasbg (1), @tw2113 (1), @siliconforks (1), @shimotomoki (1), @nrqsnchz (1), @devutpol (1), @amustaque97 (1), @hellofromtonya (1), @pbiron (1), @afragen (1), @dlh (1), @Starbuck (1), @afercia (1), @anevins (1), @mikeschroder (1), and @talldanwp (1).

Congrats and welcome to our 10 new contributors of the week:ย @multidots1896, @wojsmol, @datagutten, @dustinrue, @Shaharyar10, @hugod, @praem90, @stevegs, @shimotomoki, and @amustaque97 โ™ฅ๏ธ

Core committers: @sergeybiryukov (14), @audrasjb (13), @hellofromtonya (3), @johnbillion (3), @spacedmonkey (2), @youknowriad (2), @noisysocks (2), @desrosj (2), and @peterwilsoncc (1).

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

What’s new in Gutenberg 12.0 ( 24 November)

โ€œWhatโ€™s new in 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/โ€ฆโ€ posts (labeled with the #gutenberg-new 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.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


Itโ€™s the end of November and Gutenberg 12.0.0 has been released! With contributor efforts being geared towards preparing for WordPress 5.9, this release is more maintenance-focused but still offers a few new features as well as many 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. fixes.

Table of Contents

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. Styles Preview

Until this release, Block Styles appeared in both the blockโ€™s toolbar and in the editorโ€™s sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. These previews, although rather small, added to the overall height of the sidebar accordion. Gutenberg 12.0 moves the sidebar previews so they only appear when the style is hovered or has keyboard focus. This reduces the overall sidebar footprint and also puts more emphasis on the styleโ€™s name.

Before this release, the Featured Image block did not provide a clear representation during its placeholder state, displaying a selection box with a fixed height. With Gutenberg 12.0 the blockโ€™s placeholder state is a better representation of how it would look when using real images, as it displays a placeholder image that respects both the height and width settings.

Paragraph block combined typography controls

As of 12.0.0, the Drop Cap setting for the paragraph block has been moved from its own section in the Block Settings sidebar into the Typography section. This change keeps all Typography related controls together for the block to provide a consistent experience.

Site Editor Welcome Guide

In preparation to stabilize and release the block theme Editor in WordPress 5.9, a new welcome guide has been added to help users get started with both the Editor and the Styles sidebar.

Site editor welcome guide modal.

Official 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. Schema updates

Official schemas for block.json and theme.json were introduced with Gutenberg 11.9.0. This release provides some updates as well as new URLs to easily access them:

The URLs above redirect to the latest version of the schema but as WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. versioned are released, they can also target specific versions of WordPress starting with WordPress 5.9!

Theme.json example.

New Developer Experience section in the Changelog

Recently, contributors have been putting an even bigger focus on improving the developer experience, and there is more to come. So much so, that we are introducing a new section for it in the changelog. This speaks to the commitment from contributors to not only create a great experience for users of Gutenberg but also those that extend it. To keep updated or contribute to the discussion, you can check the recent GitHub discussions on Developer Experience.

Changelog

Enhancements

Block Library

  • Move WP_REST_Block_Navigation_Areas_Controller from Gutenberg to Core. (36374)
  • Change all the uses of โ€œwebsiteโ€ to โ€œsiteโ€. (36220)
  • Featured Image: Let Featured Image block inherit dimensions, look like a placeholder. (36517)
  • Navigation: Enable Previews for Navigation Link Blocks. (36412)
  • Navigation: Apply 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. functions to Nav block menu drops when selecting existing Menu. (36301)
  • Navigation: Refactor and simplify setup state. (36375)
  • Navigation: Rename fse_navigation_area to wp_navigation_area. (36460)
  • Navigation: Return wp error from wp_insert_post. (36483)
  • Paragraph: Merge text settings into typography panel. (36334)
  • Remove textdomain from calendar block. (36500)

Site Editor

  • Add welcome guide. (36172)
  • Update back button URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org. (36313)
  • Improve compatibility with menu endpoints WordPress 5.9. (36372)
  • ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org to any errors coming up in gutenberg_migrate_menu_to_navigation_post. (36461)
  • Change edit links for templates and template parts. (36294)
  • Update site editor title truncation. (36436)
  • Add template_type guards. (36318)

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

  • Update schema to require either a type or an enum. (36267)
  • Add _wp_array_set and _wp_to_kebab_case to 5.8 compat. (36399)

Design Tools

  • Letter spacing: Update label copy. (36385)

Style

  • Add block icon next to blocks list. (36520)
  • theme.json: Adds a setting property that enables some other ones. (36246).
    • This was incorrectly added to the 12.0.0 milestone.
  • Block Styles: Show style preview when hovered or focused. (34522)

Icons

  • Add the missing comment edit link icon. (36565)
  • Remove hard coded color from query pagination icons. (35837)
  • Remove hard-coded values on icons. (36564)

Components

  • ToolsPanel: Allow additional props on ToolsPanel. (36428)
  • Typography Panel: Make letter spacing jsDoc and prop use consistent. (36367)

Bug Fixes

Block Library

  • Fix background colours in nested submenus. (36476)
  • Fix colour rendering in Navigation overlay. (36479)
  • Fix duplicate custom classnames in navigation submenu block. (36478)
  • Fix submenu justification and spacer orientation. (36340)
  • Group โ€“ Fix overzealous regex when restoring inner containers. (36221)
  • Hide visilibility and status for navigation posts. (36363)
  • Nav block menu switcher โ€“ decode HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities and utilise accessible markup pattern. (36397)
  • Navigation: Fix click-button size, submenu directions, scrollbars. (36215)
  • Page List block: Fix space before href attribute. (36505)
  • Page List: Use core entities instead of direct apiFetch. (36531)
  • Post Comments Form: Ensure typography styles are applied to child elements. (36425)
  • Post title block default CSSCSS Cascading Style Sheets.: Add a break-word rule by default. (35703)

Block API

  • Use firstChild and lastChild when parsing lists from MS Word. (36019)

Full Site Editing

  • Add the ability to opt-out of Core color palette V2. (36492)
  • Fix layout shift in core/post-featured-image block with isLink enabled. (36552)
  • Template Part Block: Add some guards. (36324)
  • Chore: Add rewrite false to global styles CPT. (36273)
  • Revert โ€œtheme.json: Adds a setting property that enables some other onesโ€. (36477)
  • Update more references to __experimental menu endpoints to make them stable. (36386)

Site Editor

  • Fix site editor reset styles in WP 5.9. (36390)
  • Site Editor โ€“ prevent loading state from showing the adminadmin (and super admin) menu. (36455)

Global Styles

  • Replace get_theme_file_path in theme_has_support. (36398)
  • Chore: Fix small typos on the rest endpoints. (36272)

Block Editor

  • Strip 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. tags from pasted links in Chromium. (36356)
  • Add webp extension in filePasteHandler and getPasteEventData. (36361)
  • Fix mobile horizontal scrollbar. (36567)
  • Polish metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. container. (36297)

CSS & Styling

  • Update theme styles for the code block. (36282)

Documentation

Handbook

  • โ€œnpm installโ€ suggestion provides a better learning experience. (36217)
  • Added specific links to agenda and notes posts related to core editor meetings. (36199)
  • Schemastore โ€“ $schema is VS Code-specific. (36179)
  • Update GIF image in documentation with wp.org schema URL. (36456)
  • Update Versions in WordPress to include 5.9. (36156)
  • Update theme.json schema to refer to wp.org URL. (36332)

Components Package

  • Update combobox-control component readme. (36413)
  • Update wordpress/components changelog. (36448)

Developer Experience

  • Add block.json schema definition to core blocks. (35900)
  • Add pattern to name key in block.json Schema. (36343)
  • Update schema URL to wp.org domain. (36316)
  • Allow block.json attribute type to be an array. (36295)
  • Fix schema to allow for custom blocks in theme.json. (36341)

Code Quality

  • Change @Package to WordPress in block-library. (36494)
  • postcss-themes: Fix PostCSS 8 deprecation warning. (36284)
  • Data: Clean up registerGenericStore param names. (36300)
  • Prepare navigation php code for core 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.. (36336)
  • Add comment to Remove 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 WP variables after min version is 5.8. (36281)
  • Update: Centralize safe_style_css usages. (36280)
  • DEWP: Fix deprecation warning. (36285)

Tools

Testing

  • E2E: Add more Cover block tests. (36321)
  • Fix Performance CI tests and make them always use the latest major as base 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".. (36463)
  • Fix failing tests and compatibility with 5.9. (36368)
  • Add integration tests with core blocks schema validation. (36351)
  • Skip flaky image block test. (36446)
  • Theme switch on the global styles 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/ 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.. (36277)

Build Tooling

  • Add TypeScript for builds and tests. (36260)
  • stylelint-config: Widen the acceptable version range for the โ€˜stylelintโ€™ peerDependency. (36518)
  • Update Babel packages to 7.16 version. (36244)

Fix not transforming logical assignments for packages. (36484)

Performance ย Benchmark

VersionTime to Render First BlockKeyPress Event (typing)
Gutenberg 12.06.18s39.99ms
Gutenberg 11.95.89s40.75ms
WordPress 5.86.56s49.54ms

Thank you to @shaunandrews for the assets included in this post, @priethor for coordinating the release process and proofreading, @vcanales for the moral support and answering questions about the release process, and to all those who contributed to this release!

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Performance Chat Agenda: November 30, 2021

Here is the agenda for this weekโ€™s performance team meeting to occur on November 30, 2021, at 16:00 UTC.

This meeting happens in the #performanceย channel. To join the meeting, youโ€™ll need an accountย on theย Making WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

CSS Chat Summary: 18 November 2021

The meeting took place here on Slack. @notlaura facilitated and @danfarrow wrote up these notes.

Announcements & housekeeping

  • The next meeting will be on Thursday 25 November at 17:00 UTC. Please add your name to the Meeting Facilitator schedule document if you would like to contribute by facilitating this or any future meetings
  • @notlaura suggested breaking for holidays after December 16th and starting up again January 6th 2022
  • @khoipro pointed out that the new meeting time is midnight in APAC which led to a short discussion about meeting times. The conclusion was that we can revisit the meeting time again in the future

CSSCSS Cascading Style Sheets. Custom Properties (#49930)

Thanks everybody!

#core-css, #summary

Dev Chat Summary for November 24, 2021

@hellofromTonya led the weekly meeting at 20:00 UTC.ย Here is the meeting agenda.

Link to this <devchat> in #coreย on Making WordPressย 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/.

Notable News and blogblog (versus network, site) posts

Team Reps

  • @marybaum will be a new Core Team Rep for 2022.
  • Thanks to @francina for serving in this role!
  • @audrasjb will continue in this role until another team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. is found.

Interested in being a Core Team Rep? Reach out to @audrasjb.

WordPress 5.9

  • @jeffpaul asked if there are any 5.9 blockers that are in specific need of help and asked what type of help they need (engineering, design, testing, etc).
  • @hellofromTonya posted an update on 5.9 blockers and scheduling. Design help is needed for Global styles & Design tools.
  • There is an open Call for Testing for Safari.
  • Everyone is invited to help wherever possible.
  • The release squad is keeping a daily close eye on progress, needs, and any blockers that might surface. Discussions and updates are centralized in the #5-9-release-leads channel on Slack.

Component Team Updates

Build/Test Tools

@sergeybiryukov gave an update:

  • Dependabot scanning is now configured 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 by the repository owner. https://github.com/ Actions. This eliminates the need to manually check all GitHub Actions used within workflow files for updates. See ticketticket Created for both bug reports and feature development on the bug tracker. #54503 for more details.
  • NodeJS is pinned to the 14.x version in theย .nvmrcย file to ensure contributors are able to contribute without issue until compatibility with version 16.x can be confirmed in both trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. and 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 on GitHub. See ticket #54502 for more details.
  • Some PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warnings fromย stdClass::__invoke()ย callback mocks were fixed 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/ tests. See ticket #53844 for more details.
  • The timeout for GitHub Actions jobs was lowered so runaway or stalled processes donโ€™t risk running for the default timeout duration of six hours. See ticket #53363 for more details.

@sergeybiryukov shared: No major news this week

Open Floor

  • @afragen asked for feedback on the Plugin Dependencies project for WordPress 6.0. Reach out to @peterwilsoncc if you wish to have editing access.
  • @jeffpaul asked how we are progressing on the Pre Beta 1 tasks and asked if there are any items that need help.
  • @hellofromTonya replied that there are some Dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. that need to be compiled and published.
  • @audrasjb has been marking tickets that need Dev notes.
  • @mkaz noted that documentation for WordPress 5.9 could use some help and posted a link to the requirements. Contributors are invited to reach out to @mkaz with any questions.
  • @jeffpaul is working on the WordPress 5.9 HelpHub page.
  • @abhanonstopnewsuk noted that the latest checks for the About and Help page were carried out on Monday November 22, 2021. The next check is on Monday November 29, 2021 at 20:30 UTC.
  • @audrasjb will be leading a 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 on November 25, 2021 at 21:00 UTC. See the 5.9 Bug Scrub schedule.
  • With Thanksgiving taking place in the US on November 25, 2021, @hellofromTonya thanked the community for all contributions.

Props to @costdev for writing the devchat summary.

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

New Core Team Rep for 2022

After a call for volunteers, Iโ€™m pleased to announce that the new CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. for 2022 (and beyond) is Mary Baum (@marybaum)!

Mary Baum

Mary is the owner of RacquetPress. She is a self-taught developer, and she is a woman of many talents and hobbies: from online fabric, product design, 3D to landscape and macro photography. She is a self-proclaimed tennis bum.

Mary has been part of multiple release squads in different roles since 2019. She is also the maintainer of two components, Help/About and Quick/Bulk Edit.

Headshot of Mary Baum

I, @francina, am stepping down and @audrasjb will continue until another team representative is found. Do not hesitate to reach out to him or ask in #core if you have questions about the role.

I am excited to see Mary stepping into the role and helping Core with all the adminadmin (and super admin) tasks needed to keep the team moving.

#team-reps

WordPress development environment

As a community, we need unified documentation on setting up a WordPress development environment. The current problem is that we have several different ways and locations documented, so depending on how a developer may start in WordPress may differ greatly from others.

The ideal scenario is one set of quality documentation that all the handbooks can point to help guide someone new to the project in setting up a development environment.

A few new wrinkles as this is not just a documentation issue.

There has been a fair amount of effort going towards making wp-env that standard. The benefit is wp-env allows for a small set of commands to get started. A developer doesnโ€™t need to setup web servers, PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher, or databases, it is all handled by containers. In this case, Docker.

Unfortunately with recent news, Docker Desktop is no longer free. The Docker engine itself is open-source and one of the main reasons it has grown in popularity. However, the Docker Desktop is not, and it is the primary (and easiest) way to install a Docker VM on Windows/Mac. Linux doesnโ€™t require a VM to run Docker, canโ€™t we all just switch to Linux? ๐Ÿ˜‰

The services agreement for Docker Desktop:

4.2 Specific License Limitations โ€“ Docker Desktop.

(a) The Docker Desktop component of the Service at the level of the Personal Offering (as described on the Pricing Page) is further restricted to: (i) your โ€œPersonal Useโ€, (ii) your โ€œEducational Useโ€, (iii) your use for a non-commercial 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. project, and (iv) your use in a โ€œSmall Business Environmentโ€.

(b) For purposes of this Section 4.2: (i) โ€œPersonal Useโ€ is the use by an individual developer for personal use to develop free or paid applications, (ii) โ€œEducational Useโ€ is the use by members of an educational organization in a classroom learning environment for academic or research purposes or contribution to an open source project and (iii) a โ€œSmall Business Environmentโ€ is a commercial undertaking with fewer than 250 employees and less than US $10,000,000 (or equivalent local currency) in annual revenue.

The Section (a) restrictions above reads that Docker Desktop is allowed for personal and open-source use, but not if you work for a company with more than 250 employees or more than $10m revenue.

These restrictions are not in-line with the WordPress community and the open source ethos we want to promote. This makes it difficult to suggest Docker as the primary tool for setting up a development environment.

Which leads us to this post and discussion. What development environment should we recommend for new WordPress developers?

The main criteria I see for a tool are:

  • open-source
  • ease of use to setup and run
  • cross-platform (Windows, Mac, Linux)

If there is no good solution, do we consider creating our own? Or reviving a previous attempt at creating a simple development environment?

These are some initial thoughts to get the discussion started, what do yโ€™all think?

Thanks to @cbringmann and @tellyworth for reviewing this post.

Dev Chat Agenda for November 24, 2021

Here is the agenda for this weekโ€™s developer meeting to occur on November 24, 2021, at 20:00 UTC.

Please note that depending on your timezone, the time may have changed with the end of daylight saving time.

Blogblog (versus network, site) Post Highlights and announcements

Bringing to your attention some interesting reads and some call for feedback and/or volunteers:

Have you been working on 5.9 related issues? Let everyone know!

Components check-in and status updates

  • Check-in with each component for status updates.
  • Poll for components that need assistance.

Open Floor

Do you have something to propose for the agenda, or a specific item relevant to the usual agenda items above?

Please leave a comment, and say whether or not youโ€™ll be in the chat, so the group can either give you the floor or bring up your topic for you accordingly.

This meeting happens in theย #coreย channel. To join the meeting, youโ€™ll need an accountย on theย Making WordPress Slack.

#5-9, #agenda, #core, #dev-chat

Performance team meeting summary – November, 23 2021

This is the agenda for the meeting. You can read the logs here on Slack.

Focus group projects discussion

Image focus

@adamsilverstein shared an update for the Image focus. The group plans to go through the ideas in this document to discuss the impact, level of difficulty, etc. and generally prioritize our work. Also, in addition to taking some time during the regular media meeting, the group members are proposing a regular second โ€œperformance image focusโ€ meeting in a friendly timezone to APEC contributors. The first try for that meeting will be November 25, 2021, at 02:00 UTC.

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 focus

The JavaScript focus update was shared by @gziolo. The team is still collecting ideas for issues to work on in this document. They also discussed during the last week duringย #core-jsย office hours how to bringย ES Modules and Import Mapsย to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. The next office hour, focused on issues prioritization is planned on next Tuesday.

Object caching focus

@spacedmonkey put together a list of related tickets he is willing to work on.

Measurement focus

@wp-source stated that the team has some interesting projects ideas. Now, there is a need for some short and regular sync chat for the focus group members to discuss this project. If you are interested in attending one of these chats, please share your interest in this thread on Slack.

Performance features development coordination

@flixos90 shared some insights about the coordination repository proposal. Here are the main outcomes of these:

  • WordPress has historically relied on feature plugins to test future WordPress core features โ€œin the wildโ€. The proposal here is to follow that approach, however by creating modules in a single โ€œperformance features wrapper 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.โ€.
  • By centralizing these efforts in 1 plugin instead of x plugins, the hope is to significantly reduce maintenance, encourage cross-collaboration between different performance efforts, and have a centralized place for any performance-related conversations.
  • For example, a central 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 by the repository owner. https://github.com/ repository could be used to open issues with new performance enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. ideas, discuss them etc, even if they donโ€™t right away lead to a new performance module.
  • A single wrapper plugin also can help from an adoption perspective, essentially interested users can install the plugin once and then will get access to any new performance features as soon as they are added โ€“ they can then enable whatever they are interested in to try out.

There have been several discussions about where this repository should be created. The main locations being the Gutenberg repository, and under the GitHub WordPress organization.

After a vote, the repository has been created under the GitHub WordPress organization, and you can find it here.

#meeting, #performance, #performance-chat, #summary

A Week in Core โ€“ November 22, 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 November 15 and November 22, 2021.

  • 76 commits
  • 138 contributors
  • 48 tickets created
  • 6 tickets reopened
  • 73 tickets closed

The Core team is currently working on the next major release, WordPress 5.9 ๐Ÿ› 

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

  • Restores โ€œCustomizeโ€ menu item for non-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. themes and moves for block themes โ€“ #54418

Build/Test Tools

  • Add the ruleset file to the cache key for PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher compatibility scans โ€“ #54425
  • Cache the results of PHP_CodeSniffer across workflow runs โ€“ #49783
  • Restore the httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org for browserify-aes โ€“ #54337
  • Update all 3rd party 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 by the repository owner. https://github.com/ actions to the latest versions โ€“ #53363

Bundled Themes

  • Update the โ€œTested up toโ€ 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. to 5.9 โ€“ #53797
  • Twenty Nineteen: Apply coding standards fix from running composer format โ€“ #54392
  • Twenty Sixteen: Correctly align columns within table blocks as configured in the editor โ€“ #54317
  • Twenty Twenty-One: Check if anchor exists before triggering in-page navigation โ€“ #53619
  • Twenty Twenty-One: Correct description of Dark Mode 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. โ€“ #53892
  • Twenty Twenty-One: Prevent notice thrown in twenty_twenty_one_get_attachment_image_attributes() โ€“ #54464
  • Twenty Twenty-One: Remove RSS feedRSS Feed RSS is an acronym for Real Simple Syndication which is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format. This is the feed. 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. icon link โ€“ #52880
  • Twenty Twenty-Two: Import the latest changes from GitHub โ€“ #54318
  • Twenty Twenty-Two: Sync updates from GitHub โ€“ #54318

Coding Standards

  • Wrap some long lines in js/_enqueues/admin/post.js per the JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. coding standards for better readability โ€“ #53359

Comments

  • Change new comment required text class โ€“ #16206
  • Donโ€™t output โ€œcancel comment reply linkโ€ if comments arenโ€™t threaded โ€“ #37267
  • Fix PHP Notice โ€œtrying to get property of non-objectโ€ in comments_open() and pings_open() โ€“ #54159

Commit Standards

Database

  • Check if the $args[0] value exists in wpdb::prepare() before accessing it โ€“ #54453

Docs

  • Add missing null allowed type for the $id parameter of wp_set_current_user() โ€“ #53399
  • Add missing parameters in in_plugin_update_message-{$file} 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. โ€“ #40006
  • Corrections relating to types used in inline documentation for comment ID and site ID proprties โ€“ #53399
  • Improve the documentation for registering block patterns and block pattern categories โ€“ #53399
  • Remove instances of the โ€œeg.โ€ abbreviation in favor of โ€œexampleโ€ or โ€œfor exampleโ€ โ€“ #53330
  • Restore [51733], accidentally reverted in [52212] โ€“ #40006
  • Update documentation for the $plugin_data parameter of various 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. โ€“ #53399
  • Various corrections and improvements relating to types used in inline documentation โ€“ #53399

Editor

  • Add missing label to new-post-slug input on Classic Editor โ€“ #53725
  • Check the correct post type support property for initial_edits โ€“ #53813
  • Do not provide initial_edits for properties that are not supported by the current post type โ€“ #53813
  • Fix fatal call to add_query_args() โ€“ #54337
  • Fix how the Site Editor is linked to โ€“ #54337
  • Fix incorrect access of ID field โ€“ #54337
  • Load iframed assets in Site Editor โ€“ #54337
  • Update wordpress packages โ€“ #54337

External Libraries

  • Update the regenerator-runtime package to version 0.13.9 โ€“ #54027

Formatting

  • Add additional support for single and nestable tags in force_balance_tags() โ€“ #50225

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

  • Remove empty ? when only anchor remains in add_query_arg() โ€“ #44499

KSES

  • Use correct global in wp_kses_xml_named_entities() โ€“ #54060

Login and Registration

  • Wrap long usernames in login error message โ€“ #54168
  • auto-focus the reset password field โ€“ #40302

Media

  • Add support for v1 and v2 gallery block in get_post_galleries() โ€“ #43826
  • 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. modal loads only selected image โ€“ #42937
  • Featured image modal loads only selected image โ€“ #53765
  • Move dismiss upload errors button after errors โ€“ #42979
  • Revert media uploader input change in [52059] โ€“ #42937
  • improve error message for failed image uploads โ€“ #53985
  • Add audible notice on menu item add or remove โ€“ #53840

Posts, Post Types

  • Increment post_count option value during blogblog (versus network, site) creation โ€“ #54462, #53443
  • Increment post_count option value only on multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations โ€“ #54462
  • Multisite: Decrement post_count option value when a post is deleted โ€“ #53443
  • Use global post as the default for wp_get_post_parent_id() โ€“ #48358

Query

  • Correct and standardise the 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. query documentation โ€“ #53467

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/

  • Make the templates controller follow core REST patterns โ€“ #54422
  • Remove experimental block menu item types โ€“ #40878

Script Loader

  • Document path as an accepted value for $key in wp_style_add_data() โ€“ #53792

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.

  • Allow get_*_*_link() and edit_term_link() functions to accept a term ID, WP_Term, or term object โ€“ #50225
  • Clarify the taxonomy labels for customizing the field descriptions on Edit Tags screen: โ€“ #43060

Themes

  • Check both parent and child themes for a theme.json file โ€“ #54401
  • Force a scrollbar on the Themes page to prevent visual shake on hover โ€“ #53478

Toolbar

  • Refine โ€œEdit siteโ€ link.php โ€“ #54441

Upgrade/Install

  • Add timezone info to last checked update time โ€“ #53554
  • Correct the weekly cron event for clearing the temp-backup directory: โ€“ #51857
  • Deactivate 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. if its version is 11.8 or lower โ€“ #54405
  • Differentiate en_US version strings from localized ones โ€“ #53710
  • Improve the accuracy of the auto_update_{$type} filter docblockdocblock (phpdoc, xref, inline docs) โ€“ #53330
  • Remove 5.8 function and fix deactivate Gutenberg plugin version compare < 11.9 โ€“ #46371

Users

  • 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 when using capabilitycapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). checks during determine_current_user on multisite โ€“ #53386

WPDB

  • Call wp_load_translations_early() in wpdb::_real_escape() โ€“ #32315
  • Call wp_load_translations_early() in wpdb::query() and wpdb::process_fields() โ€“ #32315
  • Capture error in wpdb::$last_error when insert fails instead of silently failing for invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. data or value too long โ€“ #37267

Widgets

  • Wraps long widget titles in classic Widgets screen โ€“ #37451

Props

Thanks to the 138 (!) people who contributed to WordPress Core on Trac last week: @hellofromTonya (20), @sabernhardt (16), @audrasjb (13), @costdev (10), @sergeybiryukov (7), @johnbillion (7), @desrosj (6), @poena (5), @afercia (5), @SergeyBiryukov (4), @peterwilsoncc (4), @davidbaumwald (4), @birgire (4), @jeffpaul (3), @dilipbheda (3), @henry.wright (3), @pbearne (2), @TimothyBlynJacobs (2), @swissspidy (2), @shaunandrews (2), @glendaviesnz (2), @antpb (2), @kjellr (2), @talldanwp (2), @pento (2), @ramonopoly (2), @manishamakhija (2), @melchoyce (2), @dlh (2), @jrf (2), @dd32 (2), @chaion07 (2), @hareesh-pillai (2), @joedolson (2), @anthonyeden (1), @anandau14 (1), @asif2bd (1), @dpegasusm (1), @datainterlock (1), @mnelson4 (1), @ovann86 (1), @dlt101 (1), @xkon (1), @sabrib (1), @pankajmohale (1), @ianhayes94 (1), @hitendra-chopda (1), @gkloveweb (1), @drewapicture (1), @bravokeyl (1), @fpcsjames (1), @nettsite (1), @galbaras (1), @henrywright (1), @TobiasBg (1), @chrisvanpatten (1), @sourovroy (1), @jorbin (1), @szaqal21 (1), @PieWP (1), @danielbachhuber (1), @benitolopez (1), @ocean90 (1), @soniakash (1), @rachelbaker (1), @jigneshnakrani (1), @zoiec (1), @jdgrimes (1), @woodyhayday (1), @travisnorthcutt (1), @skunkbad (1), @richardfoley (1), @psufan (1), @procodewp (1), @nlpro (1), @david.binda (1), @lukecarbis (1), @lucasw89 (1), @liammitchell (1), @kwisatz (1), @justindocanto (1), @mista-flo (1), @celloexpressions (1), @Mamaduka (1), @kafleg (1), @umesh84 (1), @robertghetau (1), @musabshakeel (1), @rixeo (1), @marybaum (1), @felipeloureirosantos (1), @tmatsuur (1), @hasanuzzamanshamim (1), @wetah (1), @ravipatel (1), @mukesh27 (1), @westonruter (1), @mjaschen (1), @saju4wordpress (1), @otto42 (1), @joen (1), @flixos90 (1), @clucasrowlands (1), @beafealho (1), @luminuu (1), @netweb (1), @richtabor (1), @ovidiul (1), @h71 (1), @andy-schmidt (1), @mkaz (1), @noisysocks (1), @pbiron (1), @wparslan (1), @zieladam (1), @hellofromtonya (1), @benjaminanakenam (1), @webcommsat (1), @zodiac1978 (1), @tellyworth (1), @takahashi_fumiki (1), @russhylov (1), @lynk (1), @youknowriad (1), @donmhico (1), @tobiasbg (1), @danielpost (1), @nacin (1), @alexislloyd (1), @vdwijngaert (1), @ComputerGuru (1), @benjamingosset (1), @Presskopp (1), @thimalw (1), @dufresnesteven (1), @kingkero (1), @clorith (1), and @spacedmonkey (1).

Congrats and welcome to our 8 new contributors of the week:ย @robertghetau, @musabshakeel, @mjaschen, @saju4wordpress, @clucasrowlands, @russhylov, @lynk, @danielpost โ™ฅ๏ธ

Core committers: @hellofromtonya (14), @audrasjb (13), @desrosj (12), @joedolson (10), @sergeybiryukov (9), @noisysocks (6), @johnbillion (3), @jffng (2), @spacedmonkey (2), @davidbaumwald (1), @peterwilsoncc (1), @adamsilverstein (1), @ryelle (1), and @timothyblynjacobs (1).

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