WordPress 6.0.x release team and 6.0.1 schedule

The 6.0.x releases will follow the same consistent minor release leads strategy as the 5.8.x releases and 5.9.x releases did. For the 6.0.1 point releases, the release leads will be:

  • Release LeadRelease Lead The community member ultimately responsible for the Release. / CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. tech: @sergeybiryukov
  • Release Deputy / Editor tech: @zieladam

@zieladam is going to help with 6.0.1 but, for a 6.0.2, there’s an opening if someone is able to help. I’ll keep this post up to date as that changes.

6.0.1 proposed schedule

The following schedule is being proposed for 6.0.1:

  • Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).: July 5th, 2022
  • Final release:  July 12, 2022

@sergeybiryukov will run mission control for this release.

TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets update

As of the publish date of this post, 4 Trac Tickets have been fixed and are ready to be backported to the 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". to be included in 6.0.1. 6 additional tickets either need testing or have a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. in order to be considered for backporting. 

GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issues updates

As of the publish date of this post, there are 13 pull requests ready for backporting to the 6.0 branch.

Release coordination

The #6-0-release-leads channel will continue to be used for all coordination and conversation related to the 6.0.x releases. This matches the pattern of communication that worked well for the 5.9.x cycle!

#6.0 #6.0.1

Block editor styles: initiatives and goals

The CSSCSS Cascading Style Sheets. rendered by the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor needs improvement.

The challenges are many and they have been documented. There are, nevertheless, several recurring themes:

  • An overabundance of rendered inline style tags and duplicated CSS rules. For example, see #41434.
  • Confusing or meaningless classnames, or the lack of semantic and utility classes. See the proposals in #38719 and #38998
  • Difficulty extending and customizing styles for themes due to high specificity. Touched upon in this post, and demonstrated in issues such as #40159, #36135 and #37590.

The purpose of this post is to highlight ongoing initiatives targeted at addressing these issues, and to outline longer-term ambitions to output more readable, efficient and extensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. frontend styles. 

Roadmap

Phase 1: block styles consolidation and refactoring the layout abstraction

Goals:

  • To audit and consolidate where the code generates block support CSS in the backend so that they are delivered from the same place (as opposed to multiple places). This covers CSS rules such as margin and padding, typography, colors and borders. 
  • Removing repetitive layout-specific styles and generating semantic class names for each layout. 

Phase 1 is currently underway. 

The focus in Phase 1 has been to lay a foundation that will make it easier to introduce iterative improvements. 

Rather than printing block styles on demand from multiple locations, the focus is to create a single, centralized agent responsible for generating them, and, in later phases, assume the responsibility of processing and rendering better frontend CSS.

Work on this has started and is progressing well. See Tracking: Add a Style Engine to manage rendering block styles #38167.

A pull request that reduces rule duplication and institutes semantic class names for the layout block support is ready for review. It also centralizes layout definitions, which will pave the way towards adding additional layouts in the future.

See: Layout: Use semantic classnames, centralize layout definitions, reduce duplication, and fix blockGap in theme.json #40875

Phase 2: global styles consolidation and reducing style tags

Goals:

  • Connect global styles to the same mechanism with which we’re generating block styles.
  • Reduce the number of inline style tags we print to the page for block, layout and elements support.
  • For layouts, use a presets-like approach to generate semantic class names for attributes of layouts.

Building upon Phase 1, the outcome of this phase is to have a single styles “generator” capable of building CSS for both block and 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./global styles.

In Phase 2, the objective is to explore how we can leverage this consolidated system of style generation by first grouping, then rendering a minimal set of style tags to the page. 

This includes, for example, moving block supports styles such as layout and elements to a single style 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.), then identifying other candidates for optimization.

There are already some very early, investigative PRs:

With regards to layout support, extending the group of semantic/utility classes to combine common attributes such as content justification and orientation, further reducing repetitive layout-specific styles.

Phase 3 and beyond

Proposed goals (in no particular order and not exclusive):

  • Continue with style consolidation, address edge cases or unique blocks that require special handling, such as the Gallery block.
  • Explore pre-render CSS rule processing with the intention of deduplicating other common and/or repetitive block styles.
  • Extend the scope of semantic class names and/or design token expression, and encapsulate rules into stable utility classes.
  • Establish and document standards by which to extend/override CSS.
  • Propose a way to control hierarchy and specificity, and make the style hierarchy cascade accessible and predictable. This might include preparing for cascade layers until they become more widely supported, and allowing for opt-in support 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/ via theme.json.
  • Allow for rendering styles in asynchronous contexts. See #35376

The intention is to publish 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/ discussion threads for these topics to gather ideas and feedback.

How we’re going and how we’ll get there

The expectation is for the layout refactor and much of the styles consolidation work mentioned in Phase 1 to ship in WordPress 6.1

Phases 1 and 2 aim to ameliorate pain points, and also set things up for future enhancements in Phase 3++.

Style nirvana might well be out there, however the path comprises individual stepping stones, discovering how individual parts contribute to the whole, and balancing compatibility and stability with innovation.

If we can keep refining and narrowing the scope, shipping in stages, and laying out the foundations, I think we’ll be in a better position to manage the risks and challenges and greatly improve the condition of our rendered styles and frontend output. 

Thanks to all the folks who have shared their wisdom so far. ❤️ If you’d like to contribute, or have feedback or ideas on present or future initiatives, please leave a comment on one or all of the ongoing projects I’ve linked to in this post. 

Acknowledgements: This post was co-authored with @andrewserong and @isabel_brison, with the assistance of @apeatling and @matveb.

#core-css, #core-editor, #gutenberg

Performance Chat Agenda: 28 June 2022

Here is the agenda for this week’s performance team meeting scheduled for June 28, 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

WordPress 6.1 Planning Roundup

WordPress 6.1 will be the third major release of 2022. Following WordPress 6.0 Arturo, 6.1 will aim to refine those experiences found in Arturo and in 5.9 Joséphine [ref]. In preparation, this post includes target dates, features, and a call for the release’s squad.

This release cadence will consist of a long alpha and two short 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. periods before the release candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). phase. According to the schedule proposed below and the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ release cadence, WordPress 6.1 would include up to Gutenberg 14.1 for a total of 11 Gutenberg releases, the same amount as WordPress 6.0 included.

Proposed WordPress 6.1 Schedule

MilestoneDate
Alpha (trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. open for 6.1 release)May 3, 2022
Beta 1 & Feature FreezeSeptember 20, 2022
Beta 2September 27, 2022
Release Candidate 1October 4, 2022
Release Candidate 2October 11, 2022
Release Candidate 3October 18, 2022
Dry RunOctober 24, 2022
WordPress 6.1 General releaseOctober 25, 2022

Proposed WordPress 6.1 Release Leads

Release LeadRelease Lead The community member ultimately responsible for the Release.: Matt Mullenweg
Release Coordinator: TBD
CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Tech Lead: TBD
Editor Tech Lead:  TBD
Core Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Lead: TBD
Editor Triage Lead: TBD
Documentation Lead: TBD
Marketing & Communications Lead: TBD
Test Lead: TBD
Design Lead: TBD

All release decisions will ultimately be this release teams’ to make and communicate while gathering input from the community.

Join The Squad!

If you are interested in being a part of 6.1’s release squad, please show your interest in the comments below. Roles can be shared among more than one person!

#6-1, #planning

Dev Chat Summary: June 22, 2022

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

Link to 20:00 UTC <dev-chat> in #core on Making WordPress Slack
(bonus link to the new contributor chat at 19:00 UTC)

Notable News

Folks Need Feedback!

Release Updates

Component Updates

Build/Test Tools

  • Quite a few unit tests for image functions were modernized per the current best practices#55652
  • Xdebug modes are now configured in the local Docker environment. #56022
  • Changes to the code coverage workflow can now run on pull requests to be verified before being committed. #55652

Components that Checked in with “No Update”: Date/Time, General, I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill., Menu, Widgets, Bulk Edit, About/Help

Watch For

  • WordPress 6.1 kick off and plans
  • WordPress 6.0.1 kick off and plans

Interested in volunteering for upcoming WordPress releasesPlease comment below!

#dev-chat, #summary

What’s new in Gutenberg 13.5? (22 June)

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


The 13.5 release comes with 12 enhancements and 15 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, with an improved 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. UXUX User experience, expanded design tools for the Post Navigation Link 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., a few solid accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) fixes, and some nice quality of life improvements. 

Table of Contents

Featured Images continue to play an important role on one’s site and this release seeks to make it even easier to take advantage of this high impact piece of your content. 

Now when you use a featured image in a Cover block, a placeholder displays (41460). This helps give a clear visual indication of the changes you’re making and sets better expectations for what you’re customizing: 

Add media drop down showing the use featured image option and the new placeholder.

Tied to this, the option to use a featured image is exactly where you’d expect it to be with a move to the media replace flow (41476). Previously, this was a separate button in the block toolbar and this change helps create a more consistent user experience for interacting with media. 

Add media drop down showing the use featured image option.

More design tools for the Post Navigation Link

For themes with support for “appearanceTools” 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., you’ll now be able to customize the link color and font family for the Post Navigation Link (41378). This allows you to have distinct navigation options in your design:

Other Notable Highlights

Various fixes were merged to improve the accessibility of various interfaces: 

  • Fix lack of context on action buttons and improve accessibility for the template action buttons Edit/New. (41615)
  • Fix focus trap on certain input types when using the left/right arrow keys to navigate interactive elements within a block. (41538)
  • Add label to Preview options dropdown menu. (41566)

The Date Picker now highlights today’s date, helping to orient folks and building on work done in 13.4:

Date picker with a highlight on today's date.

In response to feedback after WordPress 5.9 where several layout utility classnames were removed, utility classnames have been added back to blocks that have layout attributes specified, rather than saving them to the serialized content. In the long run, this should be seen as an interim step ahead of the Styles Engine handling the addition of these classes.  

Changelog

Enhancements

Components

  • Use NumberControl as input field. (41472)
  • Convert component to TypeScript. (41681)
  • RadioControl: Convert component to TypeScript. (41568)

Media

  • Adds featured image toggle to media replace flow. (41476)
  • Add tooltip on replace image’s URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (41504)

Block Library

  • Cover: Adds placeholder when feature image is in use. (41460)
  • Post Navigation Link: Add design controls (color, text decoration, and font family). (41378)

Block Editor

  • Copy plain text variant of blocks. (41366)
  • Adds CTA and external link to block inserter flow. (41112)

Global Styles

  • Move CSSCSS Cascading Style Sheets. from the stylesheet to the block definition. (41689)

Document Settings

  • Highlight today’s date in DatePicker. (41647)

Design Tools

  • Cover: Move overlay and opacity controls to color panel. (41102)

Bug Fixes

Block Editor

  • Preferences Panel: Filters hidden blocks to only count those which are still registered. (41454)

Components

  • Avoid including null values in blocks list. (41496)
  • CustomGradientBar: Fix insertion and control point positioning to more closely follow cursor. (41492)
  • Fix ComboboxControl post-reset focus. (41737)
  • FormTokenField: Added Padding to resolve close button overlap issue. (41556)
  • Tooltip: Fix jitter at edge of screen by enabling __unstableShift. (41524)

Block Library

  • Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. Error in 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. (41354)
  • 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.: Render replace button only if eligible patterns exist. (41690)
  • Comments Title: Plural has been used instead of single in 1st parameter. (41521)

Design Tools

  • Fix CSS Selectors rendered by theme.json duotone/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. settings for blocks on public pages. (41335)
  • Webfonts: Increase priority of init hook to account for block reregistration. (41569)

Template Editor

  • Include theme’s templates in template list in post editor. (41630)

Site Editor

  • Theme variations UIUI User interface: Ensure that equality check takes into account all default theme properties. (41591)

CSS & Styling

  • Add utility classnames back to blocks that have layout attributes specified. (41487)
  • Allow for zero values for CSS properties in the style engine. (41561)

Accessibility

  • Fix lack of context on action buttons and improve A11YAccessibility 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 the template action buttons Edit/New. (41615)
  • Fix focus trap on certain input types. (41538)
  • Add label to Preview options dropdown menu. (41566)

Experiments

  • Style engine: Add border to backend. (40531)
  • Style engine: Elements backend support. (40987)
  • Global styles: Merge block CSS with theme.json styles. (34180)

Documentation

  • Add missing CHANGELOG entry. (41745)
  • Enhancements to TypeScript migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. guidelines. (41669)
  • Add step for build and asset file. (41511)
  • Feature flag refresh. (41522)
  • Update link title and add the correct URL. (41666)
  • Fix typo in block schema description. (41570)

Code Quality

  • Entity-aware type signature for getEntityRecord and getEntityRecords. (41235)
  • Improves the types of createHigherOrderComponent and its usages. (41138)
  • ESLint: Restrict removed Lodash functions. (41651)
  • TypeScript: Add default context types to Entity Records in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-data. (41595)
  • TypeScript: Improve type definitions in wordpress/core-data. (41593)
  • RNMobile: Update clicks to use clickIfClickable() when possible. (41367)

Components

  • Draggable: Add clarifying inline comment after the recent hook dependency changes. (41658)
  • Limit Dropdown cleanup to renders where the menu has actually been opened. (41604)
  • Placeholder: Add an illustration option to the Placeholder component. (41605)
  • Refactor CustomGradientBar to pass exhaustive-deps. (41463)
  • Refactor DateDayPicker to pass exhaustive-deps. (41470)
  • Refactor Flex to pass exhaustive-deps. (41507)
  • Refactor FontSizePicker to pass exhaustive-deps. (41600)
  • Refactor InputControl to pass exhaustive-deps. (41601)
  • Refactor Modal to pass exhaustive-deps. (41610)
  • RefactorDraggable to pass exhaustive-deps. (41499)
  • RefactorDropdown to pass exhaustive-deps. (41505)
  • Rewrite <FormTokenField> to functional component and Typescript. (41216)
  • TreeSelect Convert to Typescript. (41536)
  • ZStack: Convert component story to TypeScript and add inline documentation. (41694)

Block Library

  • Clarify updateNavigationLinkBlockAttributes. (41657)
  • Comment Author and Date blocks: Aligned editor markup with the frontend. (41631)
  • Cover Block: Move components to variables so they can be shared. (41742)
  • Split useNavigationMenu into bite-size functions and add unit tests. (41139)
  • File, Search Blocks: Lower CSS specificity. (41393)

Document Settings

  • Extract 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. used in PostVisibility and PublishDateTimePicker to a new InspectorPopoverHeader component. (41362)

Lodash

Tools

Build Tooling

  • Bump caniuse-lite version. (41675)
  • Update testing-library dependencies to latest version. (41710)
  • Upgrade wp-prettier to 2.6.2. (40542)
  • Package.json: Bump engines.node version to >=14. (41599)

Testing

  • Fixed failing DateTimePicker 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.. (41483)
  • Remove snapshot from Post Editor Template Mode test and target expected string instead. (41563)
  • Skip some of the Drag & Drop end-to-end on iOSiOS The operating system used on iPhones and iPads.. (41529)
  • Add controlled unit test, use modern Testing Library features. (41668)

Components

  • Storybook: Update to the version 6.5. (41585)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) 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 the first blockKeyPress Event (typing)
Gutenberg 13.54.71s49.31ms
Gutenberg 13.45.41s47.93ms
WordPress 6.04.85s41.92ms

Site Editor

VersionTime to the first blockKeyPress Event (typing)
Gutenberg 13.55.97s37.25 ms
Gutenberg 13.45.91s39.82 ms
WordPress 6.05.18s35.59 ms

Contributor Props

The following PRs were merged by first time contributors – thank you and congrats!

The following contributors merged PRs in this release:

@aaronrobertshaw @adamziel @alexstine @andrewserong @chad1008 @ciampo @derekblank @draganescu @FilipposZ @fluiddot @geriux @glendaviesnz @jffng @jostnes @jsnajdr @MaggieCabrera @Mamaduka @manzurahammed @matiasbenedetto @mburridge @mcsf @mirka @msurdi @noisysocks @ntsekouras @oandregal @ramonjd @SavPhill @scruffian @sebastienserre @sunil25393 @t-hamano @tharsheblows @torounit @tyxla @walbo

Thank you to all who helped make this release happen.

#gutenberg, #gutenberg-new

Dev chat agenda, June 22, 2022

The weekly meeting of the developers chat will be held in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. at 20:00 UTC.

1. Announcements

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.5 lands Wednesday afternoon!

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

A Week in Core, from @audrasjb

@matveb‘s post on the Admin experience

What’s new in Gutenberg 13.5? (link to come, since 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 lands Wednesday at about dev chat time)

Discussion: on disallow assignments in conditions and remove the Yoda condition requirement for PHP. This discussion started on the WordPress Coding Standards (WPCS) repo.

A roadmap to 6.1, also from @matveb

And a YouTube show on FSE and themes.

3. Upcoming releases

The next major is 6.1. @costdev is running early bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs: the schedule.

The next minor is 6.0.1. Some tasks for the editor.

4. Open Floor

Are you a component maintainer? Your report, or any ticketticket Created for both bug reports and feature development on the bug tracker. you need eyes on, comes before other items. Especially if you add a comment below!

After components and tickets, the floor is open. If you’re not going to be at the meeting, please say so in your comment, and the facilitators will bring up your item for you. Are there are areas you would like help with or tickets you wish to highlight.

Thanks to @webcommsat for contributing to this agenda.

#6-01, #6-1, #agenda, #core, #dev-chat

Performance team meeting summary 21 June 2022

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

Announcements

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: Reviewing the hosting survey results and WebP-related research and drafting a follow-up post about next steps on WebP to be shared soon. Also following up with the WebP team to better understand the quality data that we are seeing in our research in Optimize compression levels for WebP, test file sizes vs. JPEGs #7.
  • @eugenemanuilov: Addressed code review feedback for the fallback images POC; if anyone can test on their end using old browsers that don’t support WebP, that would be much appreciated
  • @mukesh27: Awaiting feedback from @flixos90 on Discard WebP image if it is larger than corresponding JPEG image #372
  • @joegrainger: Been working on some documents that are nearing completion for modifying WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. image functions to support multiple mime types and introducing bulk regenerate image sizes functionality into WordPress core
  • @mehulkaklotar: Working on a proposal for API to facilitate more accurate “sizes” attribute #140
  • @spacedmonkey: Dominant color functionality will go out in 1.2.0 today. XWP team is already thinking about making a core patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. and improving the functionality. Some improvements are in this PR.
    • @flixos90: Would be great to start with a feature proposal on Make to get additional feedback ASAP from a wider audience. Now is a great time as people will be able to test with 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.

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 Slack
  • @shetheliving: Added new autoloaded options section to the Optimization doc and will create a PR to link to it in the autoloaded options Site Health report when ready. Also attended documentation trainings last week and now have edit access for docs, so feel free to 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. me in if you need help there.
  • @mukesh27: PR #380 is ready to merge; @spacedmonkey merged

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
  • @flixos90: Working on a blogblog (versus network, site) post for Make about the plugin checker proposal; should be ready to post early next week

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

Feedback requested

6.1 release plans

  • @furi3r: Are we thinking of porting some of the modules to core for 6.1, specifically Site Health?
    • @furi3r: Full page cache is not experimental, but fairly new. Autoloaded Options could be a good candidate if we can get the documentation updated.
    • @spacedmonkey: Would love to see Autoloaded Options in 6.1
    • @flixos90: We can get Object Cache and Full Page Cache in 6.1 if we move them forward, but the other two are more of a stretch. Reminder to review the lifecycle of a performance module doc if you haven’t already.
    • @spacedmonkey: Should we create TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets for each of the Site Health modules?
      • @flixos90: That would be good, but main thing is feature proposals
      • @spacedmonkey: Do these even need feature proposals, as additions to an existing feature?
      • @flixos90: Depends on how you frame it. I think they’re large enough to justify feature proposals. Mostly critical to get more feedback around the heuristics being used to determine if a check is “passed” or not.
      • @spacedmonkey: Since they’re small, maybe multiple in one post?
      • @flixos90: For related ones, maybe. Some are larger, e.g. Object Cache and Full Page Cache, and should be their own posts.
      • @spacedmonkey: What about the WebP check? Is that part of the WebP core merge?
      • @flixos90: It’s a bit decoupled, but should go in with the WebP feature if not sooner.
    • @flixos90: Who here can work on getting some of the other Site Health modules and/or dominant color merged into core?
    • @shetheliving: Tentatively aim to include Autoloaded Options check in 6.2 pending docs

Open floor

Help wanted

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

#hosting-community, #tide

A Week in Core – June 20, 2022

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

  • 52 commits
  • 31 contributors
  • 51 tickets created
  • 8 tickets reopened
  • 37 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

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

  • Adjust 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/. notifications logic to account for expected non push events – #55652
  • Add a helper method for for creating named data providers in WP_UnitTestCase_Base#55652
  • Add a 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. for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 deprecation notice in wp_user_settings()#54914
  • Always include the error message in assertNotWPError() and assertNotIXRError()#55652
  • Consistently check that an image was loaded in image saving tests – #55652
  • Further improve Tests_Image_Functions::test_wp_crop_image*() tests – #55652
  • Improve Tests_Image_Functions::test_wp_crop_image*() tests – #55652
  • Move helper functions in Tests_Image_Functions to more appropriate places – #55652
  • Move the filter_image_editor_output_format() helper method next to the test it’s used in – #55652
  • Re-enable failing 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/. test for update_post_parent_caches()#55593
  • Refactor Tests_Image_Functions::test_inferred_mime_types() to use a data provider – #55652
  • Refactor Tests_Image_Functions::test_is_displayable_image_negative() to use a data provider – #55652
  • Refactor Tests_Image_Functions::test_is_displayable_image_positive() to use a data provider – #55652
  • Refactor Tests_Image_Functions::test_is_image_negative() to use a data provider – #55652
  • Refactor Tests_Image_Functions::test_is_image_positive() to use a data provider – #55652
  • Refactor Tests_Image_Functions::test_load_directory() to split the tests and use a data provider – #55652
  • Refactor Tests_Image_Functions::test_mime_overrides_filename() to use a data provider – #55652
  • Refactor Tests_Image_Functions::test_wp_save_image_file() to use a data provider – #55652
  • Remove redundant skip call in Tests_Image_Functions::get_image_editor_engine_classes()#55652
  • Rename classes in phpunit/tests/option/ per the naming conventions – #55652
  • Rename some test methods in Tests_Image_Functions for consistency – #55652
  • Reorder is_gd_image() test methods for consistency – #55652
  • Some improvements for REST API cache priming – #55593, #55652
  • Temporarily disable the failing REST API test for update_post_parent_caches()#55593
  • Use assertSameSets() in some newly introduced tests – #55652
  • Use consistent punctuation in failure messages in Tests_Image_Functions#55652
  • Use more consistent wording when referring to PHP deprecation notices – #55652

Bundled Themes

  • Twenty Nineteen: Ensure custom text color is reflected in the Editor for Quote 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.#55992
  • Twenty Twenty-One: Ensure custom text color is reflected in the Editor for Quote block – #55989

Coding Standards

Database

  • Don’t translate the “WordPress database error” message in the error log – #53125

Docs

  • Add @since notes for html5 theme feature changes in add_theme_support()#51657, #55646
  • Add a comment for stripping the leading AND from SQL clauses in some query classes – #55646
  • Add a missing word in pre_months_dropdown_query filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. description – #55646
  • Consistently declare the $wp_query global in link template functions – #43164
  • Use third-person singular verbs for function descriptions in Tests_Image_Functions, per the documentation standards – #55646
  • Use third-person singular verbs for function descriptions in the Feed 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., as per docblockdocblock (phpdoc, xref, inline docs) standards – #55646
  • Use third-person singular verbs for function descriptions in the 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. Administration API – #55646
  • Use third-person singular verbs for function descriptions in the WP_Screen API – #55646

Embeds

  • Remove MeetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area. as an oEmbed source since the related endpoint has been deprecated – #55997

External Libraries

  • Upgrade PHPMailer to version 6.6.2 – #55976
  • Upgrade PHPMailer to version 6.6.3 – #56016

General

  • Use WPINC as a shorter reference to wp-includes in some files – #54233

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.

  • Correct and improve inline docsinline docs (phpdoc, docblock, xref) and tests for functionality related to nooped plurals – #55646, #55652
  • Use a translatable string for displaying a user’s first name and last name – #17025

REST API

  • Avoid duplicated query in post collections – #55677
  • Prime caches for featured images in post controller – #55592
  • Prime caches for linked objects in menu item REST API controller – #55620
  • Prime caches for post parents in post REST API controller – #55593
  • Some documentation and test improvements for update_menu_item_cache()#55620
  • Some documentation and test improvements for update_post_parent_caches()#55593

Taxonomy

  • Fix caching issues in WP_Term_Query class – #55837

Props

Thanks to the 31 people who contributed to WordPress Core on Trac last week: @jrf (15), @peterwilsoncc (4), @SergeyBiryukov (4), @spacedmonkey (4), @TimothyBlynJacobs (3), @mitogh (3), @furi3r (3), @audrasjb (3), @evildon (2), @malthert (2), @hellofromTonya (2), @oztaser (1), @denishua (1), @georgestephanis (1), @gdetassigny (1), @Spacedmonkey (1), @jnz31 (1), @knutsp (1), @mukesh27 (1), @ayeshrajans (1), @bobbingwide (1), @madpixels (1), @nithi22 (1), @kajalgohel (1), @jyolsna (1), @sabernhardt (1), @mt8.biz (1), @adamsilverstein (1), @Synchro (1), @swissspidy (1), and @costdev (1).

Congrats and welcome to our 5 new contributors of the week: @evildon, @gdetassigny, @madpixels, @nithi22, @jyolsna ♥️

Core committers: @sergeybiryukov (37), @audrasjb (6), @spacedmonkey (6), @desrosj (2), and @johnbillion (1).

#6-0, #core, #week-in-core

Editor chat summary: 15 June, 2022

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, June 15 2022, 03:00 PM GMT+1 in Slack. Moderated by @bph.

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

Latest release Gutenberg 13.4

Gutenberg 13.5 RC 1 as released shortly after the meeting by @annezazu – Final release scheduled for Jun 22.

WordPress 6.0.1

WordPress 6.0.1 project board

Key project updates

The list of 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/ tracking issues was updated to reflect the updated Roadmap for Gutenberg Phase 2 for WordPress 6.1  Matias Ventura published earlier this month.

Thank you for updates 
@siobhyb for the Mobile Team update
@getdave for the Navigation Block update

Task Coordination

@siobhyb

We’re currently making plans for Q3 on the mobile team, but it’s likely that we’ll have a focus on maintenance and fixing existing bugs.

@mamaduka

I’m mostly catching up on GitHub notifications after WCEU and my vacation. I’ll be focusing on PR reviews this week.

Open Floor

Announcements, questions, and discussions.

@hellofromtonya

Mentioned on the discussion on how to do faster, more frequent minor releases in WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. to ship fixes faster. Here a few links:

Next steps suggested by @hellofromtonya

  • Form the minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. squad > folks need to raise their hands (#6-0-release-leads channel)
  • list of pain points, bottlenecks, and ideas could be generated and then shared for discussion with the minor release squad

6.0 retrospective is still on its way. Deadline Jun 19th.

@johnstonphilip

Requested help to making sure duotone code is not present on the page unless required? (PR #38299) After the meeting, @skorasaurus chimed in

@alexstine

Needs technical feedback on this proof of concept PR for accessibility, even if it’s not a full code review “getting some input on if it is a good idea or how to make it a better idea would be great.” Stine wrote.
Related discussion: Improve keyboard navigation experience in all the block editors.

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