Editor Chat Summary: May 25, 2022

This post summarizes the weekly editor chat meeting (agenda here) held on 2022-05-25 14:00 UTC in Slack. Moderated by @zieladam.

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

The 13.3 version was released on May 25th by @welcher. Find out more in the What’s New in Gutenberg 13.3.0 post.

WordPress 6.0

The long-awaited WordPress 6.0 stable version has been released this Tuesday!

The highlights include:

  • Enhanced Writing Experience
  • Style Switching
  • More Template Choices
  • Integrated Patterns
  • Additional Design Tools

Key project updates

Task Coordination

@amustaque97

@mamaduka

  • I’m mostly doing PR reviews last couple of days

@isabel_brison

  • I’ll mostly be migrating flaky e2e tests to Playwright this week

@zieladam

@welcher

@ntsekouras

  • I’ve started the work for expanding the templates in site editor. The first part will be for custom post types and their archive pages.

Open Floor

Announcements, questions and discussions.

@markhowellsmead

Asked about the motivation behind moving coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. CSSCSS Cascading Style Sheets. inline.

This change has directly lead to many specificity problems, not least that it’s very difficult (and somtimes impossible) to override inline styles using rules in external CSS files.
Ref. https://github.com/WordPress/gutenberg/issues/38719
Ref: https://github.com/WordPress/gutenberg/issues/40159

Mark and other theme developers have seen feedback that hints how editor devs (in some cases) don’t want to “allow” others to modify layout or logical decisions through the use of code in themes or plugins. By blocking access to allow themes and plugins to override what should be simple core CSS rules, we’re being forced towards a complete deactivation of core CSS in some projects.  It’s admirable to release devs from the burden of basic CSS by way of the Style Engine, but there are limitless requirements for custom-built themes which neither belong in core, nor which can be solved by a generic 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..

@amustaque97

Asked whether https://github.com/WordPress/gutenberg/issues/40809 is 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. or enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. @zieladam thought it was a bug since it reports a mismatch between the editor and the website.

@welcher

Asked whether anyone is aware of any commits that need to be cherry-picked.

@manfcarlo

Reported that https://github.com/WordPress/gutenberg/issues/29484 is currently closed but it needs to be re-opened. The issue has been reopened since then.

@greenshady

Requested feedback on https://github.com/WordPress/gutenberg/issues/41324. The vertical alignment options for Row and Buttons (flex) blocks is always centered on the front end, even when choosing something like top alignment. This seems to be an issue with WordPress 6.0 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". but not with Gutenberg 13.2.2 active.

@bph

Proposed a 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. ‘allow-list’ to limit the number of patterns offered to the users through the patterns directory.

To get more details go directly to the Open Floor discussions in the Core Editor 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.

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

WordPress 6.0 ‘Arturo’ Retrospective

With WordPress 6.0 out in the world, it would be very helpful to this and future release squads if all those involved in contributing could take some time to reflect and share our thoughts on the release process to learn, iterate, and make future releases smoother. ✨

Anyone is welcome to participate in this retro, so please take a few moments to fill in the form or leave public feedback in the comments below. The survey is not anonymous if I need to reach out for further clarification, but your email address will not be shared or used for any other purpose.

To accommodate for WCEU2022 taking place next week the form and comments will be open until June 19, 2022. The results will be reviewed and summarized in a follow-up post in this same blogblog (versus network, site) in late June 2022.

Thank you, everyone, for your contribution to this release, and thanks in advance for taking the time to help make future releases even better!


Props to @annezazu for peer review

#6-0 #retrospective

Block Font Sizes and Fluid typography

Back in August, 2020 a Gutenberg issue proposed the following enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.:

It’d be nice to allow to have fluid typography option so that design would look good on all viewports. This would open the door for designers to make a more bold visual expression that’s difficult to do with fixed font size.

An experimental pull request (PR), Block supports: add fluid typography #39529, puts forward a way to realize this enhancement by allowing theme authors to enable fluid typography across their site.

This post is to raise awareness of the issue and ongoing work in the area, and to request feedback on the PR‘s proposed approach.

What is fluid typography?

Fluid typography is a fancy way of describing font properties, such as size or line height, that scale fluidly according to the size of the viewport.

Taking font size as an example, when a site’s font sizes are fluid they will adapt to every change in screen size, for example, by growing larger as the viewport width increases, or smaller as it decreases.

Contrast that idea with properties that respond to specific viewport sizes, such as those defined by media queries, but do nothing in between. 

About the proposed approach

Theme authors can already insert their own fluid font size values in 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.. The TwentyTwentyTwo theme, for example, employs clamp() values for several font sizes.

However, it’s still necessary to create a fluid font size value for every font size in order to achieve a uniform effect across a site.

The PR attempts to generate fluid font size values dynamically so that theme authors don’t have to worry about implementation details.

In order to achieve this, it add several new properties to theme.json font size presets:

"settings": {
    ....
    "typography": {
        "fluid": {
            "min": "768px",
            "max": "1600px"
        },
        "fontSizes": [
            {
                "size": "2rem",
                "fluidSize": {
                    "min": "1.8rem",
                    "max": "2.5rem"
                },
                "slug": "medium",
                "name": "Medium"
            }
        }
}

Note typography.fluid and typography.fontSizes[].fluidSize, both of which contain the following properties:

  1. min – In fluid, the minimum viewport width, In fluidSize, the minimum font size.
  2. max – In fluid, the maximum viewport width. In fluidSize, the maximum font size.

Using these properties, 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/ will construct a unique clamp() formula for every font size and output the value in the font size preset CSSCSS Cascading Style Sheets. var. For example:

--wp--preset--font-size--medium: clamp(1.8rem, calc(1.8rem + ((1vw - 0.48rem) * 1.346)), 2.5rem);

The formula controls how a font scales between minimum and maximum values, relative to the viewport width.

If values required to reliably construct a clamp() formula are missing, such as a minimum or maximum font size, an alternative font size value using CSS max() or min() is returned accordingly.

Fluid font size example in Gutenberg

I encourage you to inspect the PR for further details, and play around with different designs.

Feedback

Initially, I’d expect to release the changes to theme authors via the theme.json interface only.

The intention is to garner feedback on design, functionality and 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. before diving into UIUI User interface controls and, beyond that, introducing fluidity to other properties such as spacing.

On that note, I invite folks to check out the branch and leave their thoughts in the PR comments. If you can spare the time to test the changes, I’d appreciate input on:

  • Whether the new theme.json  properties are easy to understand.
  • Usage across themes and potential backwards compatibility issues.
  • 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). For example, supporting (and ultimately recommending) the use of relative sizes such as rem.
  • Possible alternatives.

All feedback is welcome and will be rewarded with healthy doses of digital kudos.

Thank you!

#gutenberg, #request-for-comment, #typography

What’s New in Gutenberg 13.3.0 ( May 25 )

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


Gutenberg 13.3.0 introduces a new 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., some enhancements to existing blocks to provide more ways to display content, and many more improvements.

Table Of Contents

New Table of Contents Block

After over a year of work and iterations, the Table Of Contents block is now available as an experimental block. Once placed into the content, the Table Of Contents block will detect any Heading blocks added and display them with anchor links to allow users to jump to a section on the page.

Post Terms Block variations to display custom 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. terms

A Post Term block variation is now generated for each custom taxonomy registered. For example, if you register a “Product categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.” taxonomy, you will be able to add a “Product categories” block that lists all the product category terms assigned to the current post.

Query 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. Block now supports a “parent” 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.

When working with a Page or any hierarchical content type a new “parent” filter is available to display content that is children of the defined parent.

Other Notable Highlights

Heading block now supports Font Family controls

Save Block List default view preference

Users can now set a preference to determine if the Block List view is open or closed by default.

New transforms between the Cover and Media & Text blocks

First-time contributors

The following PRs were merged by first-time contributors:

  • @bjorsch: dependency-extraction-webpack-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: Calculate vendor hash from file output rather than Webpack internal state. (34969)
  • @daymobrew: Typo – enqueue to enqueued. (40880)
  • @JessicaGosselin: Fix typo in Panel readme. (41111)
  • @luminuu: Create single template via site editor if not existing. (40830)
  • @neffff: env :: Support ssh protocol for githubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repos. (40451)
  • @phillsav: Update broken links. (41071)
  • @shanjidah: Migrated popovers.test.js to Playwright. (39910)
  • @tomjdv: Corrected the order in the code tabs. (40569)

Changelog

Enhancements

Preferences

  • Avoid persisting preference every time the 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. tab is changed. (40923)
  • Editor preferences: Update order and copy. (40981)

Components

  • BorderControl
    • Make border color consistent with other controls. (40921)
    • Make height consistent with other controls. (40920)
    • Make reset to default button only display when required. (40917)
  • Select Component: Remove the lineheight setting to fix issue with font descenders being cut off. (40985)

Block Library

  • Add an explicit error message if an image block fails to load the image. (40982)
  • Add transform between cover and media & text. (38458)
  • Post Terms: Add dynamic variations of custom taxonomies. (39837)
  • Query Loop: Add parents filter. (40933)
  • Add: Space to indent list item. (39949)
  • Separator Block: Add border property for dots style to editor stylesheet. (40855)
  • Button: Add text transform control. (40858)

Build Tooling

  • dependency-extraction-webpack-plugin: Calculate vendor hash from file output rather than Webpack internal state. (34969)
  • Dependency Extraction Webpack Plugin: Use OpenSSL provider supported in Node 17+. (40503)
  • Update actions/setup-node GitHub action. (40816)

Design Tools

  • BorderRadiusControl: Add tooltips to split border radius controls. (40983)

CSSCSS Cascading Style Sheets. & Styling

  • BorderRadiusControl: Tweak spacing between input and range control to line up with BorderControl. (40958)

Template Editor

  • Use the label ‘Clear customizations’ when changes are revertable. (40935)

npm Packages

  • Packages: Add command to publish to npm targeting WP 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.. (40927)

List View

  • Block list: Add option in editor settings to show open list view as default. (40757)

Bug Fixes

  • Add missing styling panels for uncontrolled navigation. (41114)
  • DOM: Allow copying text from non-text input elements. (40192)
  • DOM: Deprecate isNumberInput and fix its handling of value=0. (40896)
  • FlatTermSelector: Avoid errors when returned terms aren’t iterable. (41099)
  • Provide translators comment for Font size and Letter Case. (40879)

Block Library

  • BorderControl: Fix focus styling. (40951)
  • Add missing “type” to the search field on the editor. (40782)
  • Comments Title
    • Fix post title translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization.. (40972)
    • Make non-editable. (40817)
  • Cover: Update background type when using 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.. (40873)
  • Fix Comments Form Title text alignment. (40795)
  • Fix external styles leaking into Warning component. (40868)
  • Image Editor: Remove HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from error messages. (40812)
  • Post Comments:
    • Allow placeholders to reorder items in translations. (40849)
    • Fix 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. date format in placeholder. (40929)
  • Quote: Fix the embed discovery. (41134)
  • Return immediately from AvatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. block’s render_callback if $comment is null. (40835)
  • Use get_the_post_thumbnail function in the cover block.. (40853)
  • List v2
    • Fix outdent on empty list item if we press enter. (40939)
    • Focus new list item added from sibling inserter. (41051)
    • Fixes an issue where pressing enter deletes innerblocks. (41109)
  • CircularOptionPicker: Fix focused styles. (40990)
  • Gallery block
    • Fix 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. with initial image size. (41079)
    • Include image caption when converting a classic block gallery. (40872)
  • Post Author block: Hide select author controle if there is no postId. (40910)

Site Editor

  • Avoid previous content flash when a new template is created. (40841)
  • Decode entities in the site title. (40956)
  • Fix opinionated block styles loading in editor. (40937)
  • Post Comments: Fix Older/Newer comments links styling. (40948)
  • Template List: Fix word break for the ‘Added by’ column. (40959)
  • Template editor: Show the inserter if the template part is empty. (41024)

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)

  • Prevent navigation on URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org input suggestion selection via enter key. (40906)
  • Table block: Fix focus loss after Create Table button is selected. (40399)
  • Block Library – Latest Posts: Prevent opening the links in editor. (40593)

Global Styles

  • Fix: Global Styles are always resettable. (40887)
  • Fix: Global Styles: Impossible to open welcome guide if global styles are empty. (40888)
  • Site editor: Preset custom color duplicates. (40837)
  • Reduce active tab accent weight. (40998)

Post Editor

  • Fix typo in the test description didPostSaveRequestSucceed. (41064)
  • Post saved draft button: Overwrite default button component margin. (40834)

Themes

  • Theme Export: Use a better method to determine the theme name. (40829)
  • Theme Export: Use basename when determining the theme slug. (41058)

Template Editor

  • Create single template via site editor if not existing. (40830)
  • Templates: Only allow renaming user-created and non-default templates. (40881)

Components

  • Fix Storybook builds. (41089)

Design Tools

  • Layout: Remove double output of align-items in horizontal layouts. (41018)

Code Editor

  • Fix save shortcut. (40848)

Global Styles

  • 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.: Don’t output double selectors for elements inside blocks. (40889)

Performance

Block Library

  • Ensure that post thumbnail is cached in latest post block. (40571)
  • Ensure that post thumbnail is cached in post template block. (40572)
  • Navigation link: Prime caches for all posts in menu items. (40752)
  • useShortCodeTransform: Fetch media data in single request. (40945)
  • Update the block overlay to rely on useDisabled hook. (40649)

Experiments

  • Style Engine: Add typography and color to frontend. (40665)
  • Add: Raw handling to the new list block. (39954)

Block Library

  • List v2
  • Indent multiple list items. (40991)
  • Outdent list item when pressing Backspace at the start. (40962)
  • ToC block
    • Re-enable + use static markup and only support coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Heading and Page Break blocks. (29739)
    • Mark Table of Contents block as experimental using block.json flag. (40905)

Data Layer

  • Add suspense support to the data module. (37261)

Documentation

  • Add “How To Get Your Pull Request Reviewed?” to developer handbook. (40589)
  • Add link to npm release details to the release documentation. (40867)
  • Corrected the order in the code tabs. (40569)
  • Docs: Git.io deprecation – Replace links. (40734)
  • Document useEntityRecord/s in README.md and CHANGELOG.md. (40932)
  • Fix typo in Panel readme. (41111)
  • Remove mid-paragraph line breaks from 2-building-a-list-of-pages.md markdown. (41025)
  • Typo – enqueue to enqueued. (40880)
  • Update broken links. (41071)
  • [Gutenberg Data Tutorial] Part 4: Building a new record form. (39261)

Components

  • Use TypeScript and controls for DateTimePicker‘s stories. (40986)

Code Quality

  • Convert core-data selectors from jsDoc annotations into TypeScript type signatures. (40025)
  • Dependency extraction
    • Improve calculation of contentHash. (40930)
    • Respect hashDigestLength option for version field. (40977)
  • Improve function name for finding navigation links that use the featured image. (40904)
  • Interface: Fix deprecation messages. (40825)
  • Make the useDisabled hook stable. (40890)
  • Packages [Dependency Extraction Webpack Plugin]: Add new line at the end of *.assets.php. (40753)
  • Remove unreachable inserter component. (41103)
  • Styles hook: Swap out lodash methods with their JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. equivalents. (40918)
  • Update reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-resize-aware with use-resize-observer. (40509)
  • useRefEffect: Replace undefined with void in callback return type. (40798)
  • Remove Flyout leftovers. (41129)
  • Send registered patterns in HTML and combine them with REST ones. (40818)
  • Refactor the Popover component to use the floatingUI library. (40740)
  • Table of Contents block: Remove editor-only wrapper <div>. (40899)
  • Color Controls: Merge color dropdown components. (40084)

Block Library

  • Cover:
    • Refactor controls. (40832)
    • Correct resizeable spelling to US resizable. (41100)
  • Post Terms:
    • Add wp_kses_post to prefix/suffix for consistency. (40803)
    • Post Terms: Insert defaultBlock on suffix end split. (40934)
  • Replace hardcoded core/paragraph with getDefaultBlockName in onSplitAtEnd callbacks. (40954)
  • Query Loop: Move sticky control to separate file. (41101)
  • Search Block: Remove id attribute from svg. (40828)
  • ButtonGroup: Convert to TypeScript. (41007)

Components

  • Add jest-console typings and convert DateTimePicker tests to TypeScript. (40957)
  • Rewrite DatePicker, TimePicker and DateTimePicker in TypeScript. (40775)
  • Update react-dates to 21.8.0. (40801)
  • Stabilize useEntityRecord and useEntityRecords. (40162)
  • CheckboxControl: Convert component to TypeScript. (40915)

Plugin

  • Declare blocks as __experimental in block.json to automate syncing Gutenberg packages to WordPress. (40655)
  • Tools: Improve configuration for formatting files. (40994)
  • Packages: Add command to publish to npm targeting WP major release. (40927)

Code Editor

  • Don’t commit ‘non-dirty’ changes. (41092)

Media

  • Media Utils: Don’t convert error messages into an array. (39448)

Block Editor

  • Add constants for link entry types. (36490)

Post Editor

  • DevicePreview: Remove unnecessary div tag. (40911)

Tools

  • Fix pull-request-automation CI check (temporarily until an upstream fix lands). (41044)
  • Update package-lock.json. (41045)
  • env :: Support ssh protocol for github repos. (40451)
  • Add @fabiankaegy as a code owner for the docs/ directory. (41057)

Testing

  • Add eslint warning about use of waitForTimeout to playwright eslint. (40802)
  • Comment Template: Reorganize block tests to ease 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. process. (40739)
  • Fix: Env 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. fails on Windows. (41070)
  • Migrate ‘block-locking’ to Playwright. (41050)
  • Migrate and refactor image block end-to-end tests to Playwright. (40804)
  • Migrated popovers.test.js to Playwright. (39910)
  • Reorganize playwright utils and make canvas utils usable in the site editor. (40815)
  • Setup user-event inline once per test. (40839)
  • Test block insertion after title post blur. (32944)
  • Tests: Remove comment template unit tests. (40965)
  • useSelect: Add unit tests for usage without deps. (40732)

npm Packages

  • Packages: Add GitHub workflow for publishing to npm. (40976)
  • Packages: Add more npm release types to the GitHub workflow. (41046)

Block Library

  • Heading block – add font family support. (40970)
  • Only allow template part to be replaced if its a 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. or footer. (40787)
  • Try a single icon for title blocks. (40596)

Performance Benchmark

The following benchmark compares performance for a particularly sizable 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 13.34.49s43.62ms
Gutenberg 13.25.57s45ms
WordPress 6.04.93s41.89ms

Site Editor

VersionTime to first blockKeyPress Event
Gutenberg 13.35.20s35.86ms
Gutenberg 13.26.17s52.71ms
WordPress 6.05.05s33.27ms

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

Thanks to @priethor for his contributions and improvements to this draft, and @javiarce for the visual assets.

#gutenberg

X-post: Announcement: Incident Response Training

X-comment from +make.wordpress.org/updates: Comment on Announcement: Incident Response Training

Dev Chat Summary, May 25, 2022

Agenda followed for the weekly WordPress Developers Chat. The meeting was facilitated by @annezazu.

Start of the meeting in #Core channel on the Make 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/..

2. Announcements

  • WordPress 6.0 “Arturo” was released yesterday! Big props to all involved.
  • The dry run for the WordPress 6.0 Release took place on May 23, followed by a 24-hour code freeze.
  • WordPress 6.0 RC4 was released over the last week on May 20, 2022.

If you haven’t seen it yet, here is a great video covering the latest release:

If anyone is wondering how that amazing video was made, it is a combination of Figma storyboards and motion design in After Effects.

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

  • 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/ 13.3 is in the process of being released today as we speak.
  • The latest core editor improvement post on container blocks and 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. locking shows off some new features to explore with row/stack/group.
  • A recap of the latest hallway hangout happened this morning on FSE topics and might be of interest to folks here.

Next week, there will be a doubled up version of “This week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.” too.

4. Upcoming releases

With 6.0 just out the door, the focus turns to both 6.0.x and 6.1. Initial steps have been taken following the post release items in the handbook so stay tuned for more! Currently, a project board is open for 6.0.1 in case anyone likes to follow the details: https://github.com/orgs/WordPress/projects/31

There is only one reported issue so far and @annezazu, as co-release coordinator will be checking with other teams for any other issues reported with 6.0.

5. Component maintainers

Build/Test Tools reported by @sergeybiryukov:

  • 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/ Action Slack notifications now link to a specific run attempt. This makes it easier for someone to see the proper context of a specific notification in case of failure. See ticketticket Created for both bug reports and feature development on the bug tracker. #55652 for more details. Thanks @desrosj
  • Some instabilities (test leaks) were fixed in unit tests for comments. See ticket #54725 for more details. Thanks @hellofromtonya
  • General: The recommended minimum version for MariaDB was bumped to 10.3. See ticket #55791 for more details. Thanks @hellofromtonya, again! 
  • Date/Time, I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill., Permalinks: No major news this week

Update/install reported by @afragen

Sitemaps component reported by @pbiron:

  • There is one ticket ready to commit for 6.1, #55633

6. Open floor

@audrasjb prepared some great stats on WordPress 6.0 contributors.

@hifidesign brought up a PR that documents pretty big 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. w/r/t to unnecessary duotone code being added to non-FSE themes #38299 and @annezazu mentioned that all of the work is being tracked in that ticket for anyone to follow up.

@afragen has a list of tickets that need a committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. review:

@pbironmentioned that the non-direct filesystem classes are difficult to test because it is often hard to set up a testing environment to test them. There is a proposal on the works to do a review/improvements of the various WP-Filesystem classes.

Props to: @estelaris for writing the summary and @annezazu for reviewing.

#6-0, #dev-chat, #summary

Dev Chat Agenda, May 25, 2022

(Republishing)

This weekly WordPress Developers Chat takes place in the #Core channel of the Make 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/. on Wednesday May 25, 2022 at 20:00 UTC. All welcome.

1. Welcome

Dev Chat summary from the meeting on May 18, 2022

2. Announcements

It has been a very busy week! Thanks to everyone who has been involved from across the project and the Release Squad too.

WordPress 6.0 “Arturo” was released yesterday!

The dry run for the WordPress 6.0 Release took place on May 23, followed by a 24-hour code freeze.

WordPress 6.0 RC4 was released this week too on May 20, 2022.

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

There will be a bumper edition of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. next week!

4. Upcoming releases

a) WordPress 6.0

Updates from Release Co-ordinators and members of the squad.

b) WordPress 6.1

5. Open floor

If you have any items for Open Floor, please add them in the comments below.

If you are a component maintainer and wish to raise a ticketticket Created for both bug reports and feature development on the bug tracker. in dev chat or give an update, you can also add information in the comments section.

Thanks to @nalininonstopnewsuk and @marybaum for working on the agenda and planning,
and to @estelaris for volunteering to do the notes for this Wednesday’s meeting.
If you could help next week with the summary, please reach out to core 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. @marybaum

#6-0, #agenda, #dev-chat

Performance team meeting summary 24 May 2022

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

Announcements

@shetheliving

  • Reminder: No meeting next week, 31 May, as many folks will be traveling/prepping to travel to WCEU
  • We’ll be well-represented at WCEU with three talks and a large section of the WP community booth; see this doc for details and info on contributing
  • Bethany will be offline 1-15 June and @clarkeemily will run the 6 and 13 June meetings

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: Finishing up some WebP issues, primarily around handling edit and restore actions correctly. Several multi-mime type/WebP features in the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party were not in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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. yet, so working on follow-up core patches to add them. For example, this patch adds the ability to always use the smaller image size for image references. Also did some research this week on a polyfill to enable WebP support for older browsers and developed a script to use a capability check before dynamically loading the library to add support. We also have sent out a survey to hosting providers about image storage to get more data about the impact of WebP on storage.
  • @pbearne @spacedmonkey: Add low quality image placeholders #19 should be ready to merge (example)
    • @adamsilverstein will take another look and @shetheliving will make sure @flixos90 does when he’s back online
    • @adamsilverstein: Since this is a proposed core patch, is there already a matching TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker.?
    • @pbearne @spacedmonkey: No; that is a wider conversation about porting over functionality to core and when/how this should happen (and how/if we remove it from the plugin)
    • @shetheliving: We’ll add this to the 6 June meeting agenda cc @clarkeemily

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: Add Site Health test for full page caching (advanced cache) #220 was moved to 1.2.0 is just about ready and waiting for testing. Need to determine how/if we want to port any existing Site Health modules to core.

Feedback requested

Measurement

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
  • No updates

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 offline
  • @shetheliving: If you haven’t already, review the module proposal workflow and leave any feedback on the PR. Next step would be to merge this and create a new GH issue template for module proposals.
  • @shetheliving: Reminder that next release will be 1.2.0 on Monday, June 20, so we should target merge for anything for that release by about June 15.

Feedback requested

Open floor

  • @spacedmonkey: Is there anything we want to specifically focus on for 6.1?
    • @olliejones: Maybe more/better large-site performance increases? WHERE wp_usermeta.meta_key = 'wp_capabilities' AND meta_value LIKE '%editor%' is the performance botch; ticket here. Probably needs another because this one mentions 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/, but problem also exists in Users, Posts, and Pages.
    • @clorith: Query improvements for 6.0 were nice and don’t look large, but it all adds up quickly, so would love to see more of a review of queries and how they can be improved. May be some old ones from years back where smarter queries now exist.
    • @spacedmonkey: Would focus on SQL_CALC_FOUND_ROWS is deprecated as of MySQL 8.0.17 #47280
    • @pbearne: Have been digging into the rest and FSE queries are seeing a lot of low-hanging fruit that could be improved

Help wanted

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

#hosting-community

Performance Chat Agenda: 24 May 2022

Here is the agenda for this week’s performance team meeting scheduled for May 24, 2022, at 15: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

Editor chat agenda: 25th May 2022

Facilitator and notetaker: @zieladam.

This is the agenda for the weekly editor chat scheduled for 2022-05-25 14:00 UTC.

This meeting is held in the #core-editor channel in the 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/..

If you are not able to attend the meeting, you are encouraged to share anything relevant for the discussion:

  • If you have an update for the main site editing projects, please feel free to share as a comment or come prepared for the meeting itself.
  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda, #core-editor, #core-editor-agenda, #meeting