Bug Scrub Schedule for 5.9

With 5.9 well underway, we’re ready to schedule the 5.9 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 sessions. These 5.9 specific ticketticket Created for both bug reports and feature development on the bug tracker. scrubs will happen each week until the final release.

Alpha Scrubs:

Hosted by @audrasjb

Hosted by @chaion07 (APAC-friendly)

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

Focus: issues reported from the previous beta.

  • TBD

RC Scrubs:

Focus: issues reported from the previous RC

  • TBD

Check this schedule often, as it will change to reflect the latest information.

What about recurring component scrubs and triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. sessions?

The above 5.9 scheduled bug scrubs are separate and in addition.

For your reference, here are some of the recurring sessions:

  • Twenty Twenty-Two Triage: Every Monday 15:00 UTC in the #core-themes channel.
  • 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/ Design Triage: Every Tuesday 16:00 UTC in the #design channel.
  • 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) Scrub: Every Friday 15:00 UTC in the #accessibility channel.
  • Testing Scrub: Every Friday 13:15 UTC in the #core-test channel.
  • CSSCSS Cascading Style Sheets. Scrub: First Thursday of every month 20:00 UTC in the #core-css channel.
  • Upgrade/Install Component: Every Tuesday at 17:00 UTC in the #core-auto-update channel.
  • Help/About Component: Every Monday, 20:30 UTC in the #core channel.

Want to lead a bug scrub?

Did you know that anyone can lead a bug scrub at anytime? Yes, you can!

How? 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.” @audrasjb or @chaion07 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/. and let us know the day and time you’re considering as well as the report or tickets you want to scrub.

Planning one that’s 5.9-focused? Awesome! We’ll add it to the schedule here. You’ll get well deserved props in the weekly Dev Chat, as well as in the #props Slack channel!

Where can you find tickets to scrub?

  • Report 5 provides a list of all open 5.9 tickets:
    • Use this list to focus on highest priority tickets first.
    • Use this list to focus on tickets that haven’t received love in a while.
  • Report 6 provides a list of open 5.9 tickets ordered by workflow.

Need a refresher on bug scrubs? Checkout Leading Bug Scrubs in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. handbook.

Questions?

Have a question, concern, or suggestion? Want to lead a bug scrub? Please leave a comment or reach out directly to @audrasjb or @chaion07 on slack.

Thanks @jeffpaul for proof-reading.

#5-9, #bug-scrub

DevChat meeting summary, December 15, 2021

Agenda.
Meeting led by @marybaum, Notes by @webcommsat

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

Announcements

The WordPress 5.9 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. 3 has landed, after a lot of very hard work by a lot of very dedicated contributors. Please download and test! Note: This beta focused on the bugs that showed …

WordPress 5.9 Beta 3 announcement 

Relevant posts

Since Beta 214 bugs have been reported by contributors and need testing. If you can help, please report your findings on the announcement post.
Editor chat summary: 15 December, 2021 highlights improvements made by the team.
What’s new in Gutenberg 12.1?
A Week in Core.
And remember that the release schedule has been revised.
WordPress 5.9 Beta 2
A Week in Core – December 13, 2021

5.9 release update

From @hellofromtonya:

  • There will be a 5.9 Beta 4 next week, Dec 21st.
  • 5.9 RC1 is on Jan 4th. That’s the code freeze. There are open issues both in Core TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and 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/’s Must-Have project board. The fixes for those issues will need a beta.
  • Appreciate folks testing, reporting issues, investigating, helping to fix, etc. Thank you! 
  • Beta 4 post – @marybaum, @estelaris, @webcommsat confirmed they would be available to work on the post.

Soft string freeze

A soft string freeze or “soft freeze” is announced when all the strings of an upcoming WordPress release are frozen, except for the strings of the About page

@sergeybiryukov: minimal string changes can still be allowed in “soft freeze” on a case-by-case basis if necessary, there’s an i18n-change keyword for that. 

@jeffpaul: RC1 is hard string freeze and not to interpret “code freeze” as no more changes so much as fixes for regressions found in Beta testing. @hellofortonya: And fixes can happen for regressions and bugs found during the RC cycle.The hope though is that all known bugs are fixed during beta before getting to RC.

@ryelle : #54489 also an exception to the soft string freeze? it has new strings, and still needs copy feedback (can come back to this during open floor if needed). It is an exception to the string freeze as it is connected to the About page area of work.
#54489: Update the Dashboard welcome banner for 5.9

@ryelle: Technically it’s not “the about page”, so I wasn’t sure if it all applied it just references the design. It’s a new iteration on the Welcome panel on the dashboard.

@hellofromtonya: I think folks intended for that Welcome panel to go past string freeze. or at least that was my understanding.

@marybaum: I don’t recall seeing art like this on a dashboard, other than as the 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. art of the four pages About, Credits, Freedoms and Privacy.

@ryelle: On the dashboard (like basic /wp-admin/), there’s the Welcome panel – “Welcome to WordPress! We’ve assembled some links to get you started…” – this ticketticket Created for both bug reports and feature development on the bug tracker. totally redesigns it to introduce new art mirroring the About page, and updated copy and links.

About page 5.9 and associated resources/ marcomms:

  • @marybaum: estimated that layout, art and copy will be finalized for the About page by Monday, to allow time for @ryelle time to work on the code.
  • @webcommsat: we continue to request dev and extenders input into benefits they are expecting from 5.9 for social media messaging and to link in with training. More on this in last week’s devchat summary under the Component Maintainers/ About page heading.

Component maintainers updates

Components reports are being skipped until after 5.9.

Open Floor

@schlessera: raised two concerns that require workarounds with WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ currently.

Trac Ticket 54634
We already had several similar bugs, where a check for wp_installing() was missing to wrap DB operations. I already provided an initial 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. to fix this one. Without that patch, you get a fatal if you try to install a new multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site networknetwork (versus site, blog).

I found it with a functional test that installed a new network using Behat. However, I think this is not as easy to test with the “unit”-tests of WP Core. I’m happy to add a test if someone can provide pointers into how this is typically done for Core.

@sergeybiryukov: Unit tests start by running the WordPress installation first in the bootstrap file, so wouldn’t be able to catch issues like this.

@schlessera: These tend to crop up from time to time due to the procedural nature of WP, where everything is sort of tied together based on order of executing. It only breaks on trunk, but not on current stable for me. Might be due to some other, seemingly unrelated change. In general, all DB operations like that should be safeguarded, as WP itself is being executed to prepare the DB for WP. Is this something we can still fix for 5.9? Seems like a simple bugfix. @sergeybiryukov agreed, as in line with similar fixes in the past.

@schlessera: I noticed it during the tests of wp core install --network. These tests have been passing for all the previous stable versions of WP, and have started failing at some point with the latest trunk version, so I assume yes. The 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. was probably always there, but some re-ordering of something unrelated has created the conditions for it to be triggered.

The new default theme has hard dependencies on WP 5.9 code. This seems to make sense given it requires at least 5.9 to work. However, if that theme is active and you try to downgrade WP, you can get an immediate fatal error. What’s more, the theme states it requires WP 5.3, so this currently cannot even be detected.

@sergeybiryukov: I think historically bundled themes aim to be comparable with at least one or two previous major versions.

@schlessera: Can we have the theme be built in such a way that it doesn’t flat-out fatal when downgrading even to the very last version before an upgrade? @audrasjb thought this was feasible. @sergeybiryukov said core should have safeguards in place to check with an appropriate message, and there is some prior art in older themes. Looking at the inc/back-compat.php file in older themes might be helpful for reference, they have similar checks.
@schlessera: It doesn’t have to produce any meaningful output on the frontend, it can still produce errors, but it should do so gracefully without taking the entire server down. 

@schlessera: I haven’t created a ticket yet, as I wanted to first check what the consensus is about this.

More on this discussion can be found on the core slack at this timestamp.

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

Editor chat summary: 15 December, 2021

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, December 15 2021, 03:00 PM CET in Slack. Moderated by @andraganescu.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party releases:

Gutenberg 12.2 RC is released. @priethor shared the following:

  • Testing and providing feedback on the client-side routing changes to the Template List is encouraged, as it was an improtant 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. to WP5.9 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.
  • Panel Color Gradient Settings have been changed to use dropdowns but, due to Beta 3 being already out, it will not be backported to beta unless feedback from testing comes very positive. So please test and provide feedback, too!

What’s new in Gutenberg 12.1 ( 8 December) was shared again.

WordPress 5.9

WordPress 5.9 Beta 3 was released on December 14th.

There will be a 5.9 Beta 4 next week.

The WordPress 5.9 must haves board needs your help for new PRs and code review!

@mkaz shared that our goal is to have Dev Notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. written and published by Jan 4. Let’s still aim for that, but we all know it’s been more features and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes during beta so might be delayed some. The project board for WP 5.9 documentation is at: https://github.com/orgs/WordPress/projects/11/

You can get an overview of how to help test WordPress 5.9 Features in this helpful post: https://make.wordpress.org/test/2021/11/30/help-test-wordpress-5-9-features/

Key project updates

Based on the scope for Site Editing projects.

@getdave

Mobile:

@mattchowning

Fixes:

  • Fixed alignment of multi-line block names in the inserter

In Progress:

  • Fixing last issues blocking upgrade to ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native v0.66
  • GSS Font size, line height and selected text color
  • Improving reliability of the mobile translations pipeline

Components Package

@Marco Ciampini

 Fixes:

 In Progress:

  • We’re exploring approaches for maintaining focus and integrating with browser history when using components like Navigator (used, for example, in the Styles 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.). Some additional discussion is available on a related issue.
  • There are a number of open PRs being discussed involving more consistent support for size variants across components, including CustomSelectControlFontSizePicker, and LineHeightControl.

Task Coordination:

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

@santosguillamot

  • There is still some work going on related to the Comments blocks, mainly focused on two areas:
  1. The wrapper blocks (Comment Template Issue & Comments Query Loop Issue).
  2. Pagination.
  • For more information about all the Pull Requests, I tried to sum up the current state in this GitHub comment a couple of days ago.

@antonvlashenko

  • working on releasing the Gutenberg 12.2 RC 1 today.
  • working on backporting these changes to the Gutenberg plugin before the stable release.

@mamaduka

  • I’m planning reviews of WP 5.9 Must-Have PRs for the next two days. Feel free to 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.” me if your PR is on the project board or should be there.
  • Also planing to watch State of The WordState of the Word This is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what we’ve done, what we’re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/.

@mciampini

  • planning on wrapping up current work on Navigator focus restoration and other minor PRs, 

Open Floor:

@manooweb

Is it interesting and possible to make a package only for this part: fixtures/blocks and so make it sharable easily?

@gziolo

  • We had them included in the @wordpress/e2e-tests package at some point.
  • We can put them in their own package if that is something other projects want to play with.
  • Those files ould also be consumed directly from the 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/ repository.
#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

Dev Chat agenda for 15 December 2021

Announcements

The WordPress 5.9 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. 3 has landed, after a lot of very hard work by a lot of very dedicated contributors. Please download and test! 

Note: This beta focused on the bugs that showed up since Beta 2. Now, work pivots to hunting for brand-new bugs.

Did you get a chance to watch the State of Word yesterday? If not, check it out.

Blogblog (versus network, site) posts of note

Since Beta 2, 14 bugs reported by contributors and needs testing. If you can help, please report your findings on the announcement post.

The Editor Chat Summary highlights improvements made by the team.

What’s new in Gutenberg 12.1?

@audrasjb has the latest issue of A Week in Core.

And remember that the release schedule has been revised.

Got other posts that should get the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team’s attention? Please add them in the comments.

Upcoming releases

The current upcoming 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. is version 5.9. Beta 4 (scheduled for 21 December) which is optional and the team will discuss whether it will happen.

If we skip Beta 4, we will be start the new year with version 5.9 RC1 set to release on 4th January.

Component Maintainers

From now until launch, devchat will skip a formal check-in so the group can have a longer Open Floor. If you’re a maintainer who’d like to get help with a blockerblocker A bug which is so severe that it blocks a release. or share success, add your item to the comments.

Open Floor

Add your topic to the comments, and enjoy priority for your topic at the beginning of Open Floor.

See you Wednesday at 20:00 UTC!

#agenda#core#dev-chat

#agenda#dev-chat

#agenda, #core, #dev-chat, #week-in-core

Using multiple stylesheets per block

Prior to WordPress 5.9, each 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. could (but not required to) have a stylesheet attached to it. The way blocks could register a stylesheet was by adding a style and/or editorStyle string in their block.json file.

In WordPress 5.9 we’re enhancing that behavior to allow using multiple stylesheets to be registered for each block. This change can benefit both block developers and theme developers, further reducing the total page-weight by only loading styles for blocks that exist on a page.

Blocks will now be able to register multiple stylesheets, and load styles from other blocks when needed. Themes will be able to add styles on a per-block basis instead of loading monolithic stylesheets that are force-loaded anywhere. This has a greater impact on block themes where stylesheets loading is optimised based on the page & layout contents, but can also be used by classic themes.

Usage for block developers

The style and editorStyle properties inside a block.json file can now be either a string, or an array of strings. Each string can be the handle of a previously registered stylesheet, or a path relative to the block.json file’s path, prefixed with file:./.

If you already have a block that uses a string, you needn’t worry. Everything will continue to work as expected. This is not a breaking change as the values can be either an array or a string, to maintain backward-compatibility.

This allows for complex blocks to reuse styles they need from other blocks without the need to duplicate those styles. For example, the comment-form block in WordPress 5.9 doesn’t need to duplicate the button block’s styles, and can instead reuse these styles by adding them to the block.json file:

{
 	"style": [
		"wp-block-post-comments-form",
		"wp-block-buttons",
		"wp-block-button"
	]
}

The same applies to the editorStyle value: Block developers can now define an array of styles, using the same format as the style value.

Usage for theme developers

Theme developers can also register stylesheets on a per-block basis. This way, no unnecessary styles will be rendered on a page unless the block is rendered (assuming the theme is a block-theme, or has opted-in to load separate stylesheets in the case of classic themes).

To do that, a new wp_enqueue_block_style() function was introduced.

The wp_enqueue_block_style function

The wp_enqueue_block_style function accepts 2 arguments, both of which are required:

$block_name

(string, required)

The name of the block – including its prefix/domain. For example the block_name of the paragraph block is core/paragraph.

$args

(array, required)

The arguments are the same used in the wp_enqueue_style function:

$args = array(
	'handle' => 'my-theme-p-styles',
	'src'    => get_theme_file_uri( 'styles/blocks/paragraph.css' ),
	...
);

In addition to the default wp_enqueue_style arguments, you can also add a path argument. This will allow WordPress to inline small assets when possible – if the theme opts-in to that behavior.

Example

Registering an extra stylesheet for the site-title block from a theme:

add_action( 'after_setup_theme', function() {
	// Same args used for wp_enqueue_style().
	$args = array(
		'handle' => 'my-theme-site-title',
		'src'    => get_theme_file_uri( 'assets/blocks/site-title.css' ),
	);

	// Add "path" to allow inlining asset if the theme opts-in.
	$args['path'] = get_theme_file_path( 'assets/blocks/site-title.css' );

	// Enqueue asset.
	wp_enqueue_block_style( 'core/site-title', $args );
} );

WordPress 5.9 enhances the way stylesheets for blocks get loaded. Though these changes have not been ported to block scripts yet, in future releases we plan to sync the two APIs, so block scripts can take advantage of them as well.

props @gziolo for reviewing this post.

#dev-notes, #developer-documentation

Performance team meeting summary – December, 14 2021

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

Focus groups updates

Images

If you want to have an overview of the work being done for this focus, this GitHub project is the right place to look at.

The Images focus group has had some interesting updates in the last few days. @adamsilverstein shared some of them.

First @mikeschroder is working on this issue about determining the best quality level to use when compressing images in newer formats like WebP. On this topic, @mihai2u mentionned that there could be a second approach to compress 2x+ retina images. Read the full comment here, and feel free to add your ideas as well.

Another good new for the Images focus, this module by @adamsilverstein has recently been merged into the Performance 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. When enabled, uploaded JPEG images are saved as WebP sub-sizes. Please feel free to test it and add your feedbacks in the PR comments. Complete testing instructions will follow soon.

There was also an interesting discussion about using the <source> markup to serve images in WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and the potential plan to support the avif format. Find the entire discussion here 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/..

Site Health

@furi3r is working on porting the work done by @audrasjb to a performance module. Follow this issue for updates about the progress.

Object caching

As for the Object caching focus, @spacedmonkey has done some work on this pull request about some enhancements to the cache 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. component. Feel free to leave a review on the pull request of the related ticketticket Created for both bug reports and feature development on the bug tracker..

Measurement

@wp-source has on schedule to create the issues for the focus group in the following days. Keep an eye on the performance plugin repository to know when these go live.

@josephscott announced that the folks at WebPageTest.org have donated to the performance team an API key that is good for 1,000 tests per month. There have been also some progress for the Blackfire and Platform.sh accounts for the 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/ project; and we can expect start using them soon.

Here are also the log on Slack for a discussion about defining what a minimal viable performant environment looks like.

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

Editor Chat Agenda: 15 December 2021

Facilitator and notetaker: @andraganescu

This is the agenda for the weekly editor chat scheduled for Wednesday, December 15 2021, 03:00 PM GMT+1.

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

  • 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.2 RC
  • What’s new in Gutenberg 12.1 ( 8 December)
  • WordPress 5.9
    • revised release schedule.
    • 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. 3 release 14 December.
    • “Must Haves” review – what’s left?
  • Updates based on updated scope for site editing projects:
    • Navigation BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience..
    • Template editor.
    • Patterns.
    • Styling.
    • Mobile Team.
    • Components Team.
  • Task Coordination.
  • Open Floor.

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

A Week in Core – December 13, 2021

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

  • 19 commits
  • 23 contributors
  • 35 tickets created
  • 13 tickets reopened
  • 33 tickets closed

The Core team is currently working on the next major release, WordPress 5.9, and the beta 2 was released last week 🛠

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

Code changes

Build/Test Tools

  • Disable WP Cron when installing PHPUnit tests – #54612

Coding Standards

  • Correct alignment in blocks.php and class-wp-rest-templates-controller#53359
  • Remove a trailing comma from a compact() call in _wp_customize_include()#53359
  • Simplify or wrap some long conditions in wp-includes/theme.php for better readability – #53359, #53399
  • Use camel case with a lowercase first letter for the blockTheme array key – #54578, #53359

Docs

  • Capitalize “ID”, when referring to a post ID, term ID, etc. in a more consistent way – #53399
  • Capitalize “ID”, when referring to a 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. ID in a more consistent way – #53399
  • Capitalize “ID”, when referring to a 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. ID or sidebar ID, in a more consistent way – #53399
  • Correct the format of some comments per the documentation standards – #53399
  • Docblockdocblock (phpdoc, xref, inline docs) adjustments in some 5.9 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. related functions – #53359
  • Document the global used in upgrade_590() function – #53399
  • Update a comment in wp-admin/load-styles.php per the documentation standards – #53399
  • Update some @var tags per the documentation standards – #53399

Editor

  • Add an editor settings flag to enable the new gallery for mobile apps for 5.9 – #54583

General

  • Mark the recommended MariaDB version number in readme.html with a <strong> 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.)#41490

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

  • Ensure that the parent link, uses the rest_get_route_for_post function – #53656

Themes

  • Auto-enable block-templates support for all block themes – #54335
  • Show only “Customize” or “Activate” button in block theme’s Theme Details modal – #54578

Upgrade/install

Props

Thanks to the 23 people who contributed to WordPress Core on Trac last week: @hellofromTonya (3), @SergeyBiryukov (3), @costdev (2), @noisysocks (2), @Spacedmonkey (1), @bronsonquick (1), @glendaviesnz (1), @Boniu91 (1), @francina (1), @TobiasBg (1), @desrosj (1), @aristath (1), @peterwilsoncc (1), @afragen (1), @galbaras (1), @dlh (1), @pbiron (1), @antonvlasenko (1), @kafleg (1), @ryelle (1), @poena (1), @Chouby (1), and @ocean90 (1).

Core committers: @sergeybiryukov (11), @audrasjb (4), @spacedmonkey (1), @hellofromtonya (1), @peterwilsoncc (1), and @youknowriad (1).

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

Posts, Post types and Taxonomy changes in WordPress 5.9

In WordPress 5.9, new hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. and functions are added to help developers to work with Posts, Post types and Taxonomies.

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

WP 5.9 introduces the new is_post_type_viewable filter to allow developers to hook into is_post_type_viewable() to override the check performed by this function.

This filter exposes the $post_type object to allow to return either true or false depending on their needs. The expected filtered value is a boolean. As filtered values can change, including the data type, this commit includes a is_bool() check, thus ensuring backwards-compatibility and guard against potential type errors in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1+. Non-boolean values (even falsey and truthy values) will result in the function returning false.

Usage:

/**
 * Override is_post_type_viewable() value for the "Books" custom post type. 
 */
function wporg_books_is_not_a_viewable_post_type( $is_viewable, $post_type ) {
	if ( __( 'Books', 'my-plugin' ) === $post_type->label ) {
		return false;
	}
	return $is_viewable;
}
add_filter( 'is_post_type_viewable', 'wporg_books_is_not_a_viewable_post_type', 10, 2 );

Related ticketticket Created for both bug reports and feature development on the bug tracker. on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.: #49628.

is_post_status_viewable filter

Similarly to is_post_type_viewable, the is_post_status_viewable filter allow developers to hook into the related PHP function. This filter exposes the $post_status object to allow to return either true or false depending on their needs.

Usage:

/**
 * Override is_post_status_viewable() value for the "Unread" custom post status. 
 */
function wporg_unread_is_not_a_viewable_post_status( $is_viewable, $post_status ) {
	if ( __( 'Unread', 'my-plugin' ) === $post_status->label ) {
		return false;
	}
	return $is_viewable;
}
add_filter( 'is_post_type_viewable', 'wporg_unread_is_not_a_viewable_post_status', 10, 2 );

Related ticket on Trac: #54375.

post_thumbnail_url filter

WP 5.9 Introduces the new filter post_thumbnail_url which allows overriding the default url returned from wp_get_attachement_image_url() function. It passes the following parameters:

  • $thumbnail_url: The Post thumbnail URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (or false if the post does not exist)
  • $post: The Post ID or WP_Post object. Default is global $post
  • $size: The Registered image size to retrieve the source for or a flat array of height and width dimensions. Default value: post-thumbnail

Usage:

/**
 * Override the post thumbnail URL for a specific template.
 */
function wporg_change_post_thumbnail_url_for_about_template( $thumbnail_url, $post, $size ) {
	if ( 'templates/about.php' !== get_page_template_slug( $post ) ) {
		return wp_get_attachment_image_url( get_template_directory . '/images/my-specific-image.png' );
	}
	return $thumbnail_url;
}
add_filter( 'post_thumbnail_url', 'wporg_change_post_thumbnail_url_for_about_template', 10, 3 );

Related ticket on Trac: #40547.

post_thumbnail_id filter

Similarly, WP 5.9 introduces the new post_thumbnail_id filter which allows overriding the default id returned from get_post_thumbnail_id(). It passes the following parameters:

  • $thumbnail_id: The Post thumbnail ID (or false if the post does not exist)
  • $post: The Post ID or WP_Post object. Default is global $post

Related ticket on Trac: #23983.

New labels available in register_taxonomy()

In WP 5.9, some static strings were replaced with additional label options to allow developers further flexibility for customizing the Edit {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.} screen.

The following labels were added:

  • name_field_description: Description for the Name field on Edit Tags screen. Default: “The name is how it appears on your site.”
  • parent_field_description: Description for the Parent field on Edit Tags screen. Default: “Assign a parent term to create a hierarchy. The term Jazz, for example, would be the parent of Bebop and Big Band.”
  • slug_field_description: Description for the Slug field on Edit Tags screen. Default: “The « slug » is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.”
  • desc_field_description: Description for the Description field on Edit Tags screen. Default: “The description is not prominent by default; however, some themes may show it.”

Related ticket on Trac: #43060.

New function to get the URL for existing revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. of a post: wp_get_post_revisions_url()

Since WP 5.9, the wp_get_post_revisions_url() function can be used to get a link to a given post’s revisions.

Parameters:

  • $post_id (optional): Post ID or WP_Post object. Default is global $post.

This function returns the URL for editing revisions on the given post (or null otherwise).

Related ticket on Trac: #39062.

New built-in post types in WP 5.9

Please note that WordPress 5.9 introduces four new built-in post types related to the new full site editing experience and are used when a BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Theme is activated.

  • wp_template: The templates to include in your theme.
  • wp_template_part: The template parts to include in your templates.
  • wp_global_styles: The styles created and saved by the site adminadmin (and super admin) for the current theme.
  • wp_navigation: The navigation menus that can be inserted into the site.

Additional dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. will be published to introduce the new full site editing experience. Note the above post types are reserved terms for WordPress internal usage.

Thanks @mkaz for proofreading.

#5-9, #dev-notes

Editor chat summary: 8 December, 2021

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, December 8 2021, 03:00 PM CET in Slack. Moderated by @fabiankaegy.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party releases:

Gutenberg 12.1 was released.

What’s new in Gutenberg 12.1.0.

Parts of 12.0 and 12.1 were backported into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and will be part of WP 5.9.

WordPress 5.9

Beta 2 was released on December 7.
You can get an overview of how to help test WordPress 5.9 Features in this helpful post: https://make.wordpress.org/test/2021/11/30/help-test-wordpress-5-9-features/

@noisysocks shared the following update:

@mkaz shared that there are lots of Dev Notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. that need writing here: https://github.com/orgs/WordPress/projects/11/

Key project updates

Based on the scope for Site Editing projects.

Template Editor

@paaljoachim & @mamaduka

Global Styles

@jorgefilipecosta

  • We are working on a redesign of how colors appear on 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. inspector https://github.com/WordPress/gutenberg/pull/37067 To make the UIUI User interface simpler and less poluted

Mobile:

@Antonis Lilis

Fixes:

  • Fixed parsing issues on generating the JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. bundle by using a newer version of the WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ command

Finalizing:

  • Upgrade to ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native v0.66.
  • GSS Font size, line height and selected text color

Components Package

@Marco Ciampini

Shipping:

  • Some design polish was applied to both ColorIndicator and ItemGroup, which are both used extensively in the new Styles 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..

Fixes:

In Progress:

  • We’re exploring approaches for maintaining focus when using components like Navigator (used, for example, in the Styles sidebar). 
  • We’re updating the LineHeightControl used in typography tools to use NumberControl internally instead of TextControl, which should provide more consistent styles and behavior.
  • There are a number of open PRs being discussed involving more consistent support for size variants across components, including CustomSelectControlFontSizePicker, and LineHeightControl.

Task Coordination:

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

@mamaduka

  • I’m primarily focused on Site Editor bug fixes and remaining items from WP 5.9 Must-Have list.
  • Trying to help with PR reviews.
  • Currently trying to track down cause of the two issues (probably related) with Template Parts.

@veminom

If someone would like to help me with a review on this one, I’d be grateful! 
https://github.com/WordPress/gutenberg/pull/35616
https://github.com/WordPress/gutenberg/issues/36864

@paaljoachim

I am been testing WP 5.9 and will continue with testing.
Giving feedback to various Template Editor PRs.
I worry a bit about not having Custom templates included in WP 5.9, as it can create some confusion that one is not able to add a template.
I also think about the Preview control drop down in the Post Editor and Site Editor. These are too similar but not identical. We need a better diffraction between the two.

@jorgefilipecosta

My main priority is finishing the color UI redesign and address some of the issues we found during the process.

Open Floor:

@paaljoachim

I am wondering if we still have time to get Custom Templates into WP 5.9?

This discussion was continued here: https://github.com/WordPress/gutenberg/issues/36860#issuecomment-987189021

@welcher

Just wondering if 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. schema is still open for PRs. I have noticed that the appearanceTools is marked as a valid option but when added, triggers an error  – I need to open a ticket about it still

@mkaz and @oandregal chimed in here and deemed this to be a documentation change which is still ok to merge

@veminom

I was wondering if this could be considered for WP 5.9?
https://github.com/WordPress/gutenberg/pull/35616
https://github.com/WordPress/gutenberg/issues/36864

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

Performance Chat Agenda: December 14, 2021

Here is the agenda for this week’s performance team meeting to occur on December 14, 2021, at 16:00 UTC.

  • Focus group projects discussion
  • Performance features development coordination
  • Open Floor

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