Devchat summary, March 16, 2022

@marybaum and @webcommsat led the meeting on this agenda.

1. Announcements

A security release, WordPress 5.9.2, landed on Thursday.

ICYMI: @annezazu is co-release leadRelease Lead The community member ultimately responsible for the Release. for 6.0.

There is a bug-scrub schedule for 6.0!

As the group was getting settled, Gutenberg 12.8 landed.

2. Blogblog (versus network, site) posts of note

A Week in Core from @audrasjb

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. Pattern Directory is testing the submissions process.

The next Gutenberg Developer Hours will happen March 22.

3. Upcoming Releases

(Note: The agenda skipped item 3 and called Upcoming Releases item 4. I correct that here.)

3a) The next major is WordPress 6.0.

Core Tech Lead @peterwilsoncc gave the group this update: A new 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/. channel, #6-0-site-editor-merge, will be the home of discussions about merging the editor into CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Also, feel free to check out the #6-0-release-leads channel, to stay up to date on progress.

Peter also noted that he’s been going through the enhancements milestoned for 6.0 and reviewing the code in patches and pull requests. He could use some help, he said, pointing out that these enhancements are due to commit 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. (Ed. note: Remember that Beta 1 freezes features and enhancements for the release.)

3b) The next minor is 5.9.3.

@mamaduka and @audrasjb will publish a schedule on Make/Core (that’s this very site) by the end of this week.

JB will also run a 5.9.3 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 today, Thursday, March 17, and another on Monday, March 21. Both will be at 20:00 UTC.

4. Open Floor

Open floor started with @jeffpaul asking about the future of the Debug Bar 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. @nalininonstopnewsuk brought up several tickets from the Help/About and Bulk/Quick Edit component bug scrub of Monday. At the top of the hour, @bobbingwide was in lively discussion of another ticketticket Created for both bug reports and feature development on the bug tracker., #13459, with @davidb and @jeffpaul.

#core, #dev-chat, #summary

Bug Scrub for Two-Factor plugin

The Two-Factor plugin is nearing a 0.8.0 release and as part of that @georgestephanis and myself have scheduled 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 for Wednesday, March 23rd at 13:00 UTC in the #core-passwords 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/. channel.

The primary focus of the scrub will be reviewing PRs in the milestone to see which are ready (or close enough) to be wrapped up and merged versus punted to a future release. We will also review issues in the milestone that don’t have a linked PR to see if they’re urgent enough to work on a PR versus punted to a future release. The most pressing issue is two-factor#423 given its already impacting, so particular focus on that and its associated PR#427 will likely be where we begin the conversation.

The most helpful thing would for folks present during the scrub, or also helping asynchronously, will be testing those PRs in the milestone to ensure that they (1) resolve the root issue and (2) have no merge conflicts. Leaving a comment with your results on PRs will help dramatically.

There’s no immediate timeline for the 0.8.0 release though once we get through the bug scrub George and I will have a better sense of what work remains in getting 0.8.0 released. The sooner we can get a release out that includes a resolution for two-factor#423 the better, so thanks to all for helping!

#2fa, #two-factor

What’s new in Gutenberg 12.8? (16 March)

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


Depending on which hemisphere of the Earth you are at right now, either Spring or Autumn are coming soon. In either case, and regardless of your location, Gutenberg 12.8 is already here for everybody! This release comes with new APIs, iterative UXUX User experience enhancements, and, as always, many bugfixes to increase the editor’s stability.

Table of Contents


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

Since 2007, WordPress has provided a framework to help theme and 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 load scripts and styles in a standardized, integrated way. Now, for the first time, web fonts have the same types of tooling.

This API is the first step in helping people load fonts in a performance-friendly, privacy-friendly, and future-proof manner – something which has been tremendously difficult to do without such a framework.

That it’s taken so long to reach this point is a testament to how complex web fonts can be and evidence of how much work has gone into ‘getting this right.’ Now that this framework exists, more tools and optimizations can be built on top of it to ensure that WordPress delivers the best possible experience (and privacy) to end-users.

With a few weeks left until the next WordPress Beta release and because of the complexity to achieve this milestone, testing the API is encouraged, and as always, feedback is welcome!

Swift inline insertion of internal links

Gutenberg seeks to provide the best editing experience to all kinds of users, and power users will enjoy seeing inline links can now be inserted with a direct keyboard shortcut. If you thought using the slash inserter was fast, try the new [[ keyboard trigger to add an inline link without going through the inserter.

As with other enhancements aiming to improve the user experience, this new feature is gathering feedback; don’t hesitate to share your thoughts on the keyboard trigger and the overall experience.

Steps towards full visual theme creation

The Gutenberg team keeps making progress towards the goal of full visual theme building within the editor. When using the export tool available in the Site Editor, the theme.json file including the Styles settings is included in the zip, too, together with the index.php and styles.css files as well!

Iterating on placeholder and loading states

In continuation of work done in previous releases, Gutenberg 12.8 keeps iterating on placeholder and loading states. The Navigation block now provides a clear loading state for initial setup and subsequent loading of existing blocks, and thanks to the improved UIUI User interface feedback, creating a new menu is snappier.

The Media & Text 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. also comes with improved loading states. Starting in this version, the media being uploaded is also displayed behind the spinner.

Props to new contributors

Kudos to the first-time contributors that joined during the last release cycle!

  • @ahsanshaheen199: fix: Code example in flyout component. (39156)
  • @alshakerM: Render SVG props that have dashes correctly. (38936)
  • @awps: Missing ,toggleFormat from last code block. (39146)
  • @francisei: Docs: Emphasized requirement to enclose in quotation marks wp-env run…. (39101)
  • @ironprogrammer: Raise z-index of content div relative to sidebars. (38893)
  • @joshuafredrickson: Add a resolvable 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/. entry point to base-styles. (39240)
  • @jostnes: Remove rename rn UI tests. (39042)
  • @mashikag: Fix Blocks list ordering in Global Styles. (39093)
  • @tomasztunik: Fix Global styles overriding block’s element styles. (39012)
  • @Tumas2: Spelling error in JustifyContentControl example. (39234)

If you are interested in contributing but do not know where to start, join the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor weekly meetings on Wednesdays at 14:00 UTC in #core-editor focused on all things Gutenberg.

12.8.0 Changelog

Enhancements

Block Library

  • Group: Show group option in Group blocks. (39094)
  • Navigation: Improve loading and placeholder states. (38907)
  • Navigation: Improve create new UI feedback in Nav block. (39219)
  • Media & Text: Display media while uploading. (39275)
  • Tag Cloud: Use flex for the Outline style. (38995)

Components

  • ConfirmDialog: add custom button text. (38994)
  • InputControl: Allow onBlur for empty values to commit the change, move reset behaviour to ESCAPE key. (39109)

Block Editor

  • Add a link completer for inline links to posts. (29172)

Site Editor

  • Add 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. to export file. (39048)
  • Resolve homepage template on server-side. (38817)
  • Theme Export: Add index.php and style.css. (39173)

Icons

  • Update drag handle footprint. (39342)
  • Update Pin icon, add new Post icon. (39139)

General Interface

  • Raise z-index of content div relative to sidebars. (38893)

Media

  • MediaReplaceFlow: Add ‘onError’ prop to handle error notifications. (39197)

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)

  • Block settings dropdown: Use block display title in remove label. (39110)
  • Try allowing tab into block placeholder. (39085)

New APIs

  • Webfonts API. (37140)
  • Add new @wordpress/preferences package. (38873)
  • Add reusable preferences modal to interface package. (39153)
    • Add interface preferences modal to edit post. (39176)
    • Migrate hidden block types (block manager data) to new preferences packages. (39132)
    • Migrate post editor feature preferences to use new preferences package. (39115)
    • Migrate customize widgets editor to use new preferences package. (39112)
    • Migrate standalone widgets editor to use new preferences package. (39084)
    • Migrate site editor to use new preferences package. (39158)
    • Deprecate interface package’s preference APIs. (39418)
  • Create Block: Add support for more plugin 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. fields. (39096)

Bug Fixes

Block Library

  • Buttons: Added aria label to the button block with icon. (38966)
  • Buttons: Fixes Button highlight popover overflow conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with link popover. (38771)
  • Buttons: Don’t set a placeholder text color. (39034)
  • Code: Restructure code block styling. (38712)
  • Comments Pagination Number_ Fix Comments Pagination Number with no pagination settings. (39204)
  • Cover: Fix keep selected unit on deleting minHeight value. (39145)
  • Cover: Fixes #38761 by removing obsolete ::Before pseudo element. (38762)
  • File: Check if ‘fileId’ exists before setting the attribute. (39088)
  • File: Don’t display loading animation on upload error. (39213)
  • File: Fix file block validation error by not outputting aria-describedby if there’s no description. (39083)
  • File: Fix the undo trap. (39215)
  • Hide border panel when all border features have been disabled. (36791)
  • Hide current menu from dropdown list in Nav block. (38916)
  • Image: Fix image responsive rules. (39045)
  • Image: Display errors after failed upload. (39178)
  • Media & Text: Display errors after failed upload. (39245)
  • Navigation: Fix navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. error when menus are not yet fetched. (39151)
  • Post Comments Form: Show correctwarning relative to post/page context. (38011)
  • Post Expert: Fix missing class in post excerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.. (38747)
  • Post Terms: Unescape HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in term names. (39216)
  • 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. Group: Make save() markup the same as render_callback markup. (38510)

Styles

  • Fix Blocks list ordering in Global Styles. (39093)
  • Fix default duotone preset SVG and style generation. (38681)
  • Fix header panel height. (39119)
  • Fix Global styles overriding block’s element styles. (39012)

Components

  • Update drag gesture of InputControl-based controls with axial constraint. (38968)
  • UnitControl: Fix controlled unit behavior. (39148)
  • Normalize font-family. (38969)

Block Editor

  • Fixes block highlight after block move. (38915)
  • Improve in_footer handling in gutenberg_override_script(). (39497)

Post Editor

  • Avoid error when ‘styles’ settings are removed. (39091)
  • URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: Fix code drift in the Editor package by removing duplicate cleanForSlug function. (39033)

Site Editor

  • Expose plugin area to site editor’s List page. (39078)

Other Packages

  • apiFetch: Handle urlencoded and rest_route query params. (38914)
  • Base Styles: Add a resolvable JavaScript entry point to base-styles. (39240)
  • Compose: Avoid memory leak in use-drop-zone. (39038)
  • Render SVG props that have dashes correctly. (38936)
  • Url: Improvement to prototype handling. (39365)

Developer experience

  • Change copying PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files to dist directory to opt-in via a CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. flag. (39171)
  • Create Block: Add confirm prompt before showing the plugin options. (39105)
  • Create Block: Improve custom project template configuration. (39049)
  • Handle resolution errors in wordpress/data. (38669)

Documentation

  • Add import useBlockProps. (39072)
  • Components: Update changelog follow up for #38985. (39013)
  • Emphasized requirement to enclose in quotation marks wp-env run…. (39101)
  • Element: Add changelog notes for serialize attribute casing. (39141)
  • Gutenberg Data Tutorial Part 3: Building an edit form. (38581)
  • Fix code example in flyout component. (39156)
  • Missing ,toggleFormat from last code block. (39146)
  • Move recent CHANGELOG entry to Unreleased section. (39169)
  • Spelling error in JustifyContentControl example. (39234)
  • Storybook: Support proper extraction of TypeScript prop types. (38842)
  • Storybook: Add webpack loader for easier story descriptions. (39165)

Code Quality

  • Componentes, UnitControl: Tidy up utils and types. (38987)
  • Components, FontSizePicker: Refactor stories to use Controls. (38727)
  • Components, ToggleGroupControlOption: Calculate width from button content and remove LabelPlaceholderView. (39345)
  • Core Data: Rename types directory to entity-types. (39225)
  • Core data: Fix some typing issues. (39212)
  • Core data: Fix some typing issues. (39214)
  • Fix @wordpress/comment-case ESlint errors but without adding the disable-rule pragma. (37006)
  • Delete widget editor redundant css for more menu. (39113)
  • Layout: Remove duplicate var declaration. (39111)
  • Move editor settings code to compat folder. (39030)
  • Refactor useSelect usages to useEntityRecords. (38827)
  • Refactor classic menu conversion process. (38858)
  • Post author name: Add “post” prefix to CSSCSS Cascading Style Sheets. class. (38320)
  • TreeGrid: Update callback unit tests to use TreeGridRow and TreeGridCell sub components. (39002)
  • Update framer motion to 6.2.8. (38999)
  • useBlockEditorSettings: Remove unused unstableBase fetch. (39221)

Tools

Project Management

  • Code owners: Remove users without write access and fix typos. (39238)
  • Simplify Pull Request template. (39229)

Testing

  • Add end-to-end testing for experimental nav menu deletion. (38955)
  • Add Home/End keyboard end-to-end test for List View. (39265)
  • Add some tests for TreeGrid. Update README to reflect latest functionality. (39302)
  • Add test case for post locking feature saving. (39022)
  • Add tests for media replace flow. (39005)
  • Block Test Fixtures: Add additional error message for serialized test fixtures that reserialize identically. (39039)
  • ESLint Plugin: Make Prettier integration optional. (39244)
  • Fix performance tests by adding backwards compatibility to welcome guide utility. (39300)
  • Improve switch to draft button end-to-end test robustness. (38971)
  • Remove rename rn UI tests. (39042)
  • Social Icons: Begin Automating Existing Manual Test Cases. (39027)
  • Update ‘clickMenuItem’ test util to use full label matching. (39274)
  • Update preview test to wait for publish panel to appear before closing it. (39100)

Build Tooling

  • Fix spelling of contributors in changelog script. (39029)
  • Resolve peer dependency warnings. (39043)

npm Packages

  • Fix npm run docs:Build crashing when a block.json lacks supports key. (39241)
  • Packages: Automate npm publishing as part of Gutenberg release workflow. (39259)
  • Packages: Automatically acceppt all Lerna commands when run with CI flag. (39199)
  • Packages: Update CLI publishing tool to run in CI mode. (38993)

Plugin

  • Account for upcoming changes in styles metadata in WordPress 5.9. (36327)
  • Don’t 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. ‘theme_templates’ when running WP 5.9. (39017)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

Post Editor

VersionTime to first blockKeyPress Event
Gutenberg 12.85.01s38.86ms
Gutenberg 12.75.07s40.42ms
WordPress 5.95.22s38.11ms

Site Editor

VersionTime to first blockKeyPress Event
Gutenberg 12.84.99s33.12ms
Gutenberg 12.75.01s37.61ms
WordPress 5.94.74s32.03ms

Kudos to all 54 contributors that participated in the release! 👏

Thanks to @jameskoster for the release post assets, @jonoaldersonwp for crafting the Webfonts API summary,  and to @cbringmann and @hellofromtonya for proofreading.

#gutenberg-new #gutenberg #core-editor

Performance team meeting summary 15 March 2022

Meeting agenda here and the full chat log is available beginning here on Slack.

Focus group updates

Announcements

@shetheliving

  • Meeting time change
    • Traditionally coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. meetings shift to accommodate for DST
    • We will adjust our meeting to its original time of 16:00 UTC after DST goes into effect worldwide on Sunday, March 25
  • Support representatives for Performance Lab plugin forum
    • @shetheliving (Google 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 support lead), @jamesosborne (who works on support for Google plugins), and @mitogh (one of the technical leads on the project for 10up) will be monitoring the support forumSupport Forum WordPress Support Forums is a place to go for help and conversations around using WordPress. Also the place to go to report issues that are caused by errors with the WordPress code and implementations. and replying to topics
    • We’re always looking for help, so if you’re interested in being designated as a plugin support representative, please reach out to Bethany

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” 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/.
  • @furi3r: Interesting conversation in https://github.com/WordPress/performance/issues/92#issuecomment-1067312175.
    • @flixos90: Would like some more thoughts here. Like the idea of pointing out a problem where relevant, but concerned that there’s a lack of actionable guidance here. Three options here:
      1. Merge it as is regardless of the concerns
      2. Merge it as experimental for now while addressing the concerns for a follow-up release
      3. Delay merging until the concerns have been addressed
    • @furi3r: Intention was that this would be used by hosting companies and all of them have guides on how to tackle the problem. By default, we’re pointing to https://wordpress.org/support/article/optimization/.
    • @flixos90: Fair point, but we should also have some sort of useful default
    • @spacedmonkey: With white screen of death protection, we added a 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 enable hosting companies to link off to resources to help. I think this issue is the same. Handling messaging and resolving this, is for the hosting company, IMO.
    • @flixos90: We also included a default way for the user to fix the problem, though, which is missing more detail
    • @spacedmonkey: Agreed that once this goes into core, we need a solution. But for now, we don’t need one in the plugin, as everything in it is experimental.
    • @flixos90: “Experimental” has some nuance; some modules are days away from a feature proposal, others are more recent and earlier in exploration.
    • @tweetythierry: The definition of “experimental” has come up enough that we should document and define it.
    • Vote on a decision here by Friday, March 19 at 5pm UTC

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

Feedback requested

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

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: We now have plugin assets (banner and icon) in Performance Lab: Branding #144; just opened https://github.com/WordPress/performance/pull/231 to add to the repo and will deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. to 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/ in the next release. Merged a few PRs in the last few days, including 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. fix. Ready to enable 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". auto-deletion in #209 after chat. With all these enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. and fixes, proposing (and confirmed with team) that we will ship our next 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. release next Monday, March 21, two weeks after the first release. We only have a few issues and PRs in the milestone, which we can probably merge this week. If you have concerns, please comment on Prepare 1.0.0-beta.2 release #213.

Feedback requested

Open Floor

  • @jeffpaul: Are there any core patches (e.g., new hook in media library) that would be helpful to get into WP 6.0 to benefit this feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. work ahead of whatever future feature merge (e.g., in WP 6.1)?  I want to make sure we get to those things before WP 6.0 Beta 1 on April 12th.
    • @flixos90: If you’ve been working on one of the enhancements or want to work on something where you’re limited e.g. by lack of core filters or actions, now it’s the time to flag those problems
    • @pbearne: Here’s one: https://core.trac.wordpress.org/ticket/55347
  • @craigfrancis: Can someone do a quick check on my very basic PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher perf test for #52506 at https://wpdb.eiv.dev/ (press the “001” button to see the PHP code for the first test)? I appreciate it does not account for TurboBoost, CPU temperature changes, or other processes on this VM or others, etc… I’m just wondering if this is “good enough” to check the patch isn’t likely to cause problems.
  • @pbearne: Got an offer from Tugboat for previews of core patches here; will bring up in dev chat and get more info

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

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

  • 32 commits
  • 69 contributors
  • 61 tickets created
  • 7 tickets reopened
  • 44 tickets closed

Last week, the WordPress Core Team released WordPress 5.9.2, which is a Security and Maintenance update.

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

Bundled Themes

  • Twenty Nineteen: Display Image 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. at the same size whether the image is linked or not – #48697
  • Twenty Nineteen: avoid columns set to full width to extend beyond editor bounds – #54169
  • Twenty Sixteen: Remove .entry-content selector from button styles – #55167
  • Twenty Thirteen: Add gradient background options using the theme color scheme – #49762
  • Twenty Twenty-One: Reverse logic for prefers-reduced-motion media query – #54174

Build/Test Tools

  • Add trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. and restore of a single post e2e tests – #54843

Canonical

  • Check 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 scheme exists in strip_fragment_from_url()#55333

Coding Standards

  • Fix minor alignment issue in wp_ajax_install_theme()#54728

Docs

  • Further clarify the description for install_dashboard()#54729
  • Miscellaneous fixes in wp-admin/includes/plugin-install.php and wp-admin/includes/plugin.php#54729
  • Use third-person singular verbs for function descriptions in wp-includes/class-wp-locale.php#54729

Editor

  • Site Editor: Improve Global Styles filtering order
  • Site Editor: Fix typo in the description of the 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.) template – #55374
  • Site Editor: Rename the default attachment template from “Media” to “Attachment” – #55373

External libraries

  • Update jQuery.query to version 2.2.3

Formatting

  • Use safecss_filter_attr in wp_get_layout_style()#55356

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.

  • Fix typo in and improve readability of wp_parse_url() docblockdocblock (phpdoc, xref, inline docs)#55355

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 wp_get_list_item_separator() to a more appropriate place – #39733

Media

  • Add a “Copy URL to clipboard” function to the list table view – #54426
  • Allow wp_check_filetype() to support query strings in URLs – #30377
  • Note ClipboardJS as a global in /js/_enqueues/adminadmin (and super admin)/media.js – #54426
  • Relocate wp_filesize() function for use in frontend and backend. – #55367
  • Revert query string support for wp_check_filetype()#30377
  • Store attachment’s file size in metadata – #49412

Privacy

  • Fix “Retry” action after a personal data export failure – #53032

Quick/Bulk Edit

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

  • Correct the wording for show_in_nav_menus property description in post type visibility settings – #55340

Sitemaps

  • Pass term object to wp_sitemaps_taxonomies_entry 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.#55239

Taxonomy

  • Improve code quality within _prime_term_caches()#55162
  • Only store term_ids and object_ids in WP_Term_Query query caches – #37189
  • Use get_terms instead of a database lookup in term_exists()#36949

i18n

  • Define List item separator as a WP_Locale property – #39733

Props

Thanks to the 69 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (8), @audrasjb (7), @sabernhardt (4), @dd32 (3), @Spacedmonkey (3), @swissspidy (3), @costdev (3), @johnbillion (2), @peterwilsoncc (2), @flixos90 (2), @boonebgorges (2), @scruffian (2), @adamsilverstein (1), @antpb (1), @joemcgill (1), @azaozz (1), @mehedi890 (1), @desrosj (1), @jeffpaul (1), @johnwatkins0 (1), @Cybr (1), @mukesh27 (1), @kevin940726 (1), @uday17035 (1), @talldanwp (1), @pbearne (1), @gregoiresailland (1), @ryokuhi (1), @pooja1210 (1), @RavanH (1), @pedromendonca (1), @david.binda (1), @azouamauriac (1), @voldemortensen (1), @layotte (1), @atomicjack (1), @supercleanse (1), @spencercameron (1), @justinahinon (1), @alexstine (1), @pavanpatil1 (1), @vortfu (1), @antonvlasenko (1), @rsiddharth (1), @ianbelanger (1), @tomjdevisser (1), @JarretC (1), @mikachan (1), @charleyparkerdesign (1), @smit08 (1), @sclayf1 (1), @grapplerulrich (1), @xknown (1), @sergey (1), @oandregal (1), @webcommsat (1), @get_dave (1), @hellofromTonya (1), @nomnom99 (1), @rafiahmedd (1), @hasanuzzamanshamim (1), @pbiron (1), @ravipatel (1), @spacedmonkey (1), @afercia (1), @jazbek (1), @figureone (1), @ovidiul (1), and @ianmjones (1).

Congrats and welcome to our 6 new contributors of the week: @mehedi890, @uday17035, @gregoiresailland, @tomjdevisser, @charleyparkerdesign, @sclayf1 ♥️

Core committers: @audrasjb (9), @sergeybiryukov (6), @davidbaumwald (6), @peterwilsoncc (4), @hellofromtonya (3), @spacedmonkey (3), and @jorgefilipecosta (1).

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

Performance Chat Agenda: 15 March 2022

Here is the agenda for this week’s performance team meeting scheduled for March 15, 2022, at 16:00 UTC.

NOTE: Because the United States changed to Daylight Saving Time on Sunday, March 14, but UTC has not yet changed, this week and next week’s meeting are one hour later than usual if you are in the United States.


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

Editor Chat Summary: 9th March 2022

This post summarises the weekly editor chat meeting (agenda here) held on 2022-01-19 14:00 UTC in Slack. Moderated by @get_dave.

Status Updates

Task Coordination

The following items were shared by folks to update us on what work is in progress or where help is needed:

@zieladam:

@mamaduka – I’m working on Block Locking UI and PR is ready for review/testing.

@get_dave – I’ve been working on both refactoring the Nav 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. and improving the its UIUI User interface feedback when importing classic menus and creating empty menus.

@paaljoachim:

@zebulan:

  • Table of Contents block PR needs just one approving review so it can be merged.
  • Some bugs were found since the last time it was brought up in a meeting, but those are now fixed.
  • There does remain one quirk, as described in the latest comment, but I don’t think it’s a blockerblocker A bug which is so severe that it blocks a release..
  • Really wanting to get this one merged in time 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/ 12.8.

@scruffian – I’ve been working on Theme Export in Gutenberg.

@alexstine has an important a11y PR up which finds the most appropriate focus target in non-contenteditable blocks. More reviews encouraged.

Open Floor

The full Open Floor discussion is available on 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/..

Using useEntityRecord in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks

New contributor – @mehedi890

Request for Core team input on Standardized Design Tokens and CSSCSS Cascading Style Sheets. proposal

Feedback request: editing Navigation menus in isolation from the Nav block

#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

WordPress 6.0 planning update

With one month to the first WordPress 6.0 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., let’s review the WordPress 6.0 cycle status.

Live-streamed walkthrough and feature freeze

As an iteration over WordPress 5.8 and 5.9’s Go/No Go demo, WordPress 6.0 will offer a hosted  walkthrough on April 5th. In this event, placed closer to Beta than past demos, WordPress leads will review the features ready for the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. together with the community in a live, moderated stream.

As a result of this demo and to address contributor feedback received in the last two major release cycles, the effective feature freeze will happen with Beta 1 on April 12th.

This adjustment will give 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. two extra weeks over the original schedule. Together with the live demo, they will offer enough buffer time to identify and address any last-minute blockerblocker A bug which is so severe that it blocks a release. issues found during the walkthrough, reducing the amount of backports post- Beta 1.

5 April 2022Live-streamed walkthrough
12 April 2022Beta 1, effective Feature Freeze
19 April 2022Beta 2
26 April 2022Beta 3
3 May 2022Release candidaterelease 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
10 May 2022Release candidate 2
17 May 2022Release candidate 3
23 May 2022Dry run
24 May 2022WordPress 6.0 stable release

Release team

With the exception of 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) Lead, the release team is nearly complete. Thanks to all participating volunteers!

All release decisions will ultimately be this release teams’ to make and communicate while gathering input from the community. Coordination between the whole squad primarily occurs in the public #6-0-release-leads 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/. channel, and contributors are welcome to join the release team in this process.

How To Help

If you are still interested in being a part of 6.0’s release squad or shadowing a lead to participate in future releases, please show your interest in the comments below or the #6-0-release-leads Slack channel. If you want to dive deeper into 6.0, join the weekly meetings in the #core Slack channel, which occur every Wednesday at 20:00 UTC.

#6.0, #planning

Dev Chat summary, March 9, 2022

(Update March 11, 2022: 6.0 Planning Update )

Start of the meeting on the Make WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds 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/. channel.

Dev Chat agenda, March 9, 2022

Dev Chat summary, March 2, 2023

1. Announcements

The Performance Team has released its first plugin!

2. Blogblog (versus network, site) posts of note

  • From @audrasjbA Week in Core, March 7, 2022
  • From @annezazuA Core Editor Improvement: Choose your Style
  • From GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Times: Introducing the Museum of Block Art
  • Really helpful series on improvements to the core editor thanks to @annezazu and others. Choose your style. This is part of a series dedicated to highlighting new features, improvements, and more to discover the various Core Editor related projects. Just click on the 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.) #core-editor-improvement tag in the Make WordPress core blog to keep up-to-date on this.

3. Upcoming releases

a) 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. 6.0

A great source of information about the next release is the 6.0 release development cycle section on the Make WordPress core.

Release co-ordinators: @annezazu has agreed to be a co-release coordinator this week alongside @priethor.

Progress for 6.0: the biggest pieces are moving along for the core editor including Styles engine, pattern integration, improvements to 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 creation process, and improvements in the works for switching to block themes.

Editor Tech Lead: @jeffpaul: any traction on confirming the Editor Tech Lead? @annezazu advised the core editor tech lead is known and in progress of being resolved. She will update in dev chat and agreed it is critical to have this role in place.

Bug scrubs for 6.0

  • Five weeks out from 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, query on 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. scrubs. Suggestion to add a bug scrub schedule to the 6.0 development cycle page when it is available. @annezazu to follow up on what is missing on bug scrubs.
  • Update post dev chat: @costdev is joining as a co-Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. lead. The change has been updated on the release page. It allows us to have great timezone coverage for the squad in a very important role. Next step: to get a bug scrub schedule in place (more context).

@webcommsat: On March 14, 2022, at 20:00 UTC, bug scrubs on the About Page and Quick/ Bulk Edit components will begin. Requested to @marybaumand @audrasjb for these to be added to the bug scrub schedule.

b) 5.9.2 Next Maintenance Release Update:

  • Trac tickets (1 already backported and 4 ready for backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch., on 22 tickets)
  • GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issues (22 fixed, on 69 issues): https://github.com/WordPress/gutenberg/projects/63

@audrasjb and @mamaduka will publish a release schedule on Make/Core for the next maintenance release in the next couple of days.

c) Gutenberg

Released Gutenberg 12.8 RC1 in the #core-editor channel.

4. Open Floor

Tickets/ PRs

  • @clorith asked if there was an editor lead for 5.9.2? @annezazu will try to follow up.
  • Discussion on @clorith 5.9 regression ticket with some potential solutions (Gutenberg issue 39155). @audrasjb: moved it to 5.9.x todo.
  • @afragen: discussion re: 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 dependencies in the issues https://github.com/WordPress/wp-plugin-dependencies/issues/ Mostly around architecture and design initially.
  • Highlighting PRs from @getdave for anyone who enjoys exploring things early – Slack link.
    Two interesting PRs on the Navigation Menus system to allow menus to be manipulated in isolation from the Navigation block: Dedicated Navigation sidebar.
  • Request from @craigfrancis on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets #52506 and #54042 to get them ready for 6.0, and thanks to @peterwilsoncc for some tweaks on the former
  • Request for anyone able to also test the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. in Trac ticket 42916 ahead of bug scrub on Monday on Quick Edit. 

Gutenberg updates in dev chat

  • @webcommsat: Request to be able to better highlight Gutenberg updates in dev chat in the blog posts or release sections of the meeting? @annezazu: to think through if there could be an async update to share to tie in with the 6.0 update.

Update post dev chat on March 10, 2022:
Light Process for 6.0 Updates for Core Dev Meetings
@annezazu chatted with @priethor and @peterwilsoncc about how best to handle updates for 6.0, partially due to timezone spread. To make things easier, we are going to embrace async updates for the win that can then be shared in the meeting. This matches an approach the Core Editor meeting has taken for project updates. As a result, expect the following:

  • An async thread started each Tuesday (a day before core dev meetings) where release leads can share their updates at some point before the core dev meeting.  @annezazu and @priethor will expect to usually hear from the Core Tech, Core Editor Tech and release coordinator leads but all are welcome to share anything relevant. For core editor, aim to summarize what’s shared earlier in the day for the core editor meeting (example).
  • From there, those updates can be re-shared by @marybaum /@webcommsat during meetings.

Volunteer for dev chat notes

If you could volunteer for dev chat summary in the future, reach out to @marybaum and @audrasjb, the Core Team Reps. It’s a great way to keep up with all the moving parts of a release, and with the things that happen in between!

Props to: @marybaum for the agenda and leading the meeting, and to @webcommsat for co-facilitating and the dev chat summary. Thanks for review by: @marybaum and @annezazu.

#dev-chat, #summary

Devchat agenda, March 9, 2022

Last week’s summary.

1. Announcements

The Performance Team has released its first plugin! Congratulations to the team!

One week left to build headers for the latest FSE Outreach challenge!

2. Blogblog (versus network, site) posts of note

From @audrasjb: A Week in Core, March 7, 2022

From @annezazu: A Core Editor Improvement: Choose your Style

From GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Times: Introducing the Museum of Block Art

3. Upcoming releases

The next major is 6.0.

The next minor is 5.9.2.

4. Open floor

See you at Devchat!

Please feel free to add your announcement(s), blog posts, agenda item(s), and tickets that need eyeballs, to the comments! And if you’re a component maintainer with an update or a request, please add that too.

#agenda, #dev-chat