Dev Chat, March 23, 2022

  1. Welcome and housekeeping
    1. Dev Chat summary from March 16, 2022
  2. Announcements
  3. Blogblog (versus network, site) posts to note for coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
    1. A week in Core Trac, published March 21, 2022
    2. WordPress 6.0 Editor Tasks, 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/
  4. Upcoming releases
    This is also an opportunity for updates relating to 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 relating to the next releases.
    1. Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.0
    2. Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.: 5.9.3
  5. Component Maintainers updates
  6. Open Floor

#agenda, #core, #dev-chat

Performance team meeting summary 22 March 2022

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

Focus group updates

Announcements

@shetheliving

  • Meeting time change
    • Beginning next week (Tuesday, March 29), meeting time will shift to 15:00 UTC, one hour earlier than our previous time of 16:00 UTC
    • This is to keep the meeting at a more appropriate time for people in Europe and lessen the impact of biannual time changes in the US
  • Released 1.0.0-beta.3 today
    • Discovered a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. where modules are not actually activated by default #247; PR with a fix is ready to merge; please test if you have a moment
    • No release party since this is a small hotfix
    • The current 1.0.0-beta.3 milestone has been renamed to 1.0.0-beta.4
  • @flixos90: BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. release schedule
    • Suggest that as long as we’re in beta (or later, RCrelease 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).), we publish a release every two weeks; coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. uses a similar cadence in beta
    • Once we get to 1.0.0 stable, we can reassess
    • Should we change to RC after 1.0.0-beta.4? Obviously this is a beta testing 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 to a degree, but the beta is mostly related to the overall plugin infrastructure and the plugin being completely new
    • @tweetythierry: What are the defining factors for stable? More testing? Things to finish?
    • @pbearne: Versioning will be strange because we hope some features will get into ccore
    • @flixos90: A bit fuzzy with this plugin because everything is in a different stage. Good idea to plan for one more beta release for now and use the next two weeks to try to really break the plugin infrastructure and find any other bugs.
    • @tweetythierry: Remember that as we keep adding more new stuff to beta versions, we are exposed to more bugs since there isn’t a code freeze. In favor of more testing on the current code base (or limited changes) and shipping as stable in 2-3 weeks.
    • @flixos90: Will likely be at least 4 weeks; we’d want 1-2 RC releases first
    • @tweetythierry: Given the long beta, 1 RC would probably be fine, so targeting stable in 4 weeks would be great
    • @flixos90: Proposed schedule: 1.0.0-rc.1 on April 4 and 1.0.0 stable on April 18
    • @spacedmonkey: Noting that WP 6.0 beta 1 in April 12 and beta 2 is April 19, so some folks will be busy with core work
    • @flixos90: See Plan release path towards stable #253 and comment there with thoughts

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

Feedback requested

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

@aristath @sergiomdgomes

GitHub project

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

Help wanted

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

Editor Chat Agenda: 23 March 2022

Facilitator and notetaker: @paaljoachim

This is the agenda for the weekly editor chat scheduled for Wednesday, March 23 2022, 03:00 PM GMT+1. It follows the proposed new format with more emphasis on the Open Floor discussion.

This meeting is held in the #core-editor channel in the Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

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

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

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

A Week in Core – March 21, 2022

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

  • 40 commits
  • 53 contributors
  • 49 tickets created
  • 5 tickets reopened
  • 44 tickets closed

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.3, and on the next major, WP 6.0 🛠

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

Code changes

Administration

  • Add a media_date_column_time filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to the media list table date column – #42942

Code Modernization

  • Rename parameters that use reserved keywords in wp-admin/includes/class-custom-image-header.php#55327

Coding Standards

  • Escape the comment post URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in _wp_dashboard_recent_comments_row()#54728
  • Remove a one-time $pieces variable in wp-includes/class-wp-*-query.php#54728
  • Rename the $bodyStarted variable to $body_started in WP_Http_Streams::request()#54728
  • Rename the $cat_ID argument to $cat_id in get_the_category_by_ID()#54728
  • Rename the $headerValue variable to $header_value in WP_Http_Streams::request()#54728
  • Rename the $requestPath variable to $request_path in WP_Http_Streams::request()#54728
  • Rename the $strHeaders variable to $headers in WP_Http_Streams::request()#54728
  • Rename the $strResponse variable to $response in WP_Http_Streams::request()#54728
  • Rename the $theBody variable to $body in WP_Http_Curl::request()#54728
  • Simplify some long conditions in wp-includes/class-wp-term-query.php#55352, #54728
  • Use esc_url() instead of esc_attr() for some URLs – #54728
  • Use strict comparison in wp-includes/class-wp-http-curl.php#54728
  • Wrap the $this->request property in wp-includes/class-wp-*-query.php#54728

Comments

  • Disable “close on escape” for inline replies when using an IME – #54548

Docs

  • Add a @since note about Twenty Twenty-Two for WP_Theme::$default_themes#54729
  • Correct variable references in get_category_feed_link() and get_term_feed_link() @return tags – #54729
  • Misc. fixes in wp-includes/post-template.php and wp-includes/post-thumbnail-template.php#54729

Editor

  • Add blockTypes argument to WP_Block_Patterns_Registry::register() docblockdocblock (phpdoc, xref, inline docs)#55303, #54729
  • Fix broken asset URLs when using WP outside of the regular directory – #55311
  • Add WP_Block_Editor_Context::$name – #55301

Formatting

  • Add support for formatting sizes as PB, EB, ZB, and YB – #40875

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.

  • Don’t register empty localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. data objects – #55250
  • Avoid translating wp_locale strings several times – #54564

KSES

  • Add support for ruby and related elements – #54698
  • Allow lang, xml:lang, dir attributes globally – #54699

Login and Registration

Menus

  • Improve padding on bulk action labels for small screens – #54855

Plugins

  • Convert apply_filters() into a proper variadic function – #53218
  • Move the introduction text from install_dashboard() to display_plugins_table()#55389

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.

  • Consider HTML5 input types when resetting form values after adding a 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.)#48030
  • Increase cache hits in WP_Term_Query#55352

Tests

  • Include special characters in term names for wp_set_term_objects()#53152, #54725

Themes

  • Add version to theme screenshot URL for better browser cache handling – #53370
  • Add version to theme screenshot URL in WP_Themes_List_Table#53370
  • Allow blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes to be activated without index.php#54272
  • Use esc_url() for theme screenshots on the Themes screen – #53370
  • Use pointer when hovering on theme details button – #54971

Users

  • Check maximum length of user_nicename after filters are applied – #54987

Props

Thanks to the 53 people who contributed to WordPress Core on Trac last week: @azouamauriac (9), @SergeyBiryukov (7), @audrasjb (7), @sabernhardt (3), @mukesh27 (3), @ravipatel (2), @andraganescu (2), @poena (2), @Presskopp (2), @kebbet (2), @ryokuhi (2), @upsuper (2), @jrf (2), @sabbirshouvo (1), @rehanali (1), @vlad.olaru (1), @multidots1896 (1), @alkesh7 (1), @talldanwp (1), @gziolo (1), @sumitsingh (1), @scruffian (1), @manfcarlo (1), @overclokk (1), @pgpagely (1), @Mamaduka (1), @kapacity (1), @costdev (1), @jsnajdr (1), @sabbir1991 (1), @justinahinon (1), @rafiahmedd (1), @aristath (1), @davidbaumwald (1), @priyank9033 (1), @pbiron (1), @spacedmonkey (1), @Chouby (1), @henry.wright (1), @muhammadfaizanhaidar (1), @csesumonpro (1), @stevegrunwell (1), @mauriac (1), @desrosj (1), @johnbillion (1), @BettyJJ (1), @alexstine (1), @konradyoast (1), @afercia (1), @ivanlutrov (1), @lopo (1), @codente (1), and @kapilpaul (1).

Congrats and welcome to our 8 new contributors of the week: @upsuper, @alkesh7, @kapacity, @sabbir1991, @csesumonpro, @ivanlutrov, @lopo, @codente ♥️

Core committers: @sergeybiryukov (20), @peterwilsoncc (6), @audrasjb (4), @davidbaumwald (4), @johnbillion (3), @noisysocks (1), @gziolo (1), and @ocean90 (1).

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

Performance Chat Agenda: 22 March 2022

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

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


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

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

Editor chat summary: Wednesday, 16 March 2022

This post summarizes the weekly editor chat meeting on Wednesday, 16 March 2022, 14:00 UTC held in Slack.

WordPress 5.9.2

@jorgefilipecosta said WordPress 5.9.2 was an important security and maintenance release and asked everyone to update all their sites. There were updates until WordPress 3.7, everyone even if not on the last WordPress major version should be able to update.

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

Gutenberg 12.8 was released around the chat time by @priethor. Details about the release can be backed on the release page.

Key projects updates

Patterns

@jorgefilipecosta shared the following update related to patterns:

The current experience when creating a new page and starting with a blank canvas is not ideal. It would be better if we had something premade ready. On #39147 we are interacting on this experience. Patterns will be able to specify they are full page patterns, and uses will be able to create pages in an easy way. We also merged recently changes to how one inserts and replaces the content of a template part and now are changing the flows for the query 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. #38997.

Styles

@jorgefilipecosta said that we have some improvements to how duotone styles are handled in #38681, and we also fixed the centered image alignment styles at #39422.

Comments loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block

@bernhard-reiter shared the following update:

Quite a bit of progress there, thanks to the team: There’s a fix for the broken pagination that’s now ready to merge. The Generic 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 PR has also been approved. Finally, there’s a bugfix for two rather annoying bugs with inner block selection and duplicated settings in the inspector controls of the Comments Query Loop block.

Native mobile application

@carlosgprim said the team is focused on the following on Drag and Drop project and addressing content uploading issues.

Task coordination

@jorgefilipecosta

I will start for the next week I want to update #38997 and improve the modal UIUI User interface to contain a grid and carousel view. I also plan on working on the base editor experience be it by helping the effort to get partial multi block text selection, helping the nested blocks on quotes and lists and other related tasks. Let’s see how much we can improve the basics.

@paaljoachim

  • I have made multiple videos. Among these one is about going from a classic theme to an FSE theme.
  • Added notes into the fse-outreach-experiment channel.
  • Added feedback to a few Navigation block exploration issues.
  • Made a few new issues: #39490, #39380, #39307.

@mamaduka

  • I’m continuing my work on Block Locking UI and APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.. Here’s my latest proposal on implementing “Locked by System” in the editor.
  • Finished an error handling audit for media blocks. They should correctly display upload errors now 🙂
  • Created PR to make error messages returned via uploadMedia utility more consistent. This is a breaking change, so I’m looking for some feedback.

Open floor

Template part resizing

@paaljoachim said: “With exploring the transition og going from a classic theme and over to Twenty Twenty Two I noticed that I was not able to adjust 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. template height.I also made an issue for it here: #39490“.

@jorgefilipecosta anwsred “To me template part is just a block to reference an area. It should not deal with the content its styles its size etc. I guess to control the height of an area like an header one can put a group block or cover block inside that header”.

The conversation continued and @paaljoachim said a group was already present, both participants in the discussion agreed there maybe be space for improvements and the conversation will continue on the issue. If you have some thoughts on this please share them.

wordpress/frontend-dx Gutenberg subteam

@bernhard-reiter shared the following:

I’d like to create a 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/ team (under the WordPress org, as a sub-team of the Gutenberg team) for those of us that are currently working on Fronted Developer Experience (tentatively named “Frontend DX”, which means we’d use the handle @wordpress/frontend-dx). There’s currently a rather well-defined group of folks focusing on this, so it’d be quite handy for us to be able to @mention the entire team.

The participants showed support for this idea and @bernhard-reiter is going to create the subteam.

PR’s and Issues awareness

@azouamauriac raised the attention of the team to PR #39426 that is ready for review and to issue #39395 which is a regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. that happened on 5.9. @jorgefilipecosta said #39395 probably is something that we should fix in WordPress 5.9.3 release.

#block-editor, #chats, #core-editor, #core-editor-summary, #gutenberg

Dev Chat summary, March 16, 2022

Updated 22 March with additional links

@marybaum and @webcommsat led the weekly WordPress Developers Chat meeting on this agenda.

Link to start of the meeting 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/. of Making WordPress.

1. Announcements

A security release, WordPress 5.9.2, landed on Thursday.

There is a bug-scrub schedule for 6.0!

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

A Week in Core from @audrasjb

The BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Pattern Directory is testing the submissions process.

The next Gutenberg Developer Hours will happen March 22, 2022.

What’s New in Gutenberg 12.8 post

3. Upcoming Releases

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

3a) The next major is WordPress 6.0.

Core Tech Lead @peterwilsoncc gave an update: A new Slack channel, #6-0-site-editor-merge, will be the home of discussions about merging the editor into Core. Also, feel free to check out the #6-0-release-leads channel, to stay up to date on progress.

Peter also noted that he’s been going through the enhancements milestoned for 6.0 and reviewing the code in patches and pull requests. He could use some help, he said, pointing out that these enhancements are due to commit before BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1. (Ed. note: Remember that Beta 1 freezes features and enhancements for the release.)

3b) The next minor is 5.9.3.

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

JB will also run a 5.9.3 bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub today, Thursday, March 17, and another on Monday, March 21, 2022. Both will be at 20:00 UTC.

4. Open Floor

Open floor Slack thread.
@jeffpaul asking about the future of the Debug Bar plugin.

@nalininonstopnewsuk brought up several tickets from the Help/About and Bulk/Quick Edit component bug scrub on Monday. Link to the Slack thread for the bug scrub.
Request for more input on ticketticket Created for both bug reports and feature development on the bug tracker. #41833 to help find a way forward.

@bobbingwide raised ticket #13459, with @davidb and @jeffpaul.
Please give time to these tickets.

Next meeting: March 23, 2022, 20:00 UTC in the Core Slack.

Summary notes by @marybaum

#core, #dev-chat, #summary

Bug Scrub for Two-Factor plugin

The Two-Factor plugin is nearing a 0.8.0 release and as part of that @georgestephanis and myself have scheduled a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub for Wednesday, March 23rd at 13:00 UTC in the #core-passwords SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel.

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

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

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

#2fa, #two-factor

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

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


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

Table of Contents


New Webfonts APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

Since 2007, WordPress has provided a framework to help theme and pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party developers load scripts and styles in a standardized, integrated way. Now, for the first time, web fonts have the same types of tooling.

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

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

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

Swift inline insertion of internal links

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

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

Steps towards full visual theme creation

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

Iterating on placeholder and loading states

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

The Media & Text blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. also comes with improved loading states. Starting in this version, the media being uploaded is also displayed behind the spinner.

Props to new contributors

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

  • @ahsanshaheen199: fix: Code example in flyout component. (39156)
  • @alshakerM: Render SVG props that have dashes correctly. (38936)
  • @awps: Missing ,toggleFormat from last code block. (39146)
  • @francisei: Docs: Emphasized requirement to enclose in quotation marks wp-env run…. (39101)
  • @ironprogrammer: Raise z-index of content div relative to sidebars. (38893)
  • @joshuafredrickson: Add a resolvable JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. entry point to base-styles. (39240)
  • @jostnes: Remove rename rn UI tests. (39042)
  • @mashikag: Fix Blocks list ordering in Global Styles. (39093)
  • @tomasztunik: Fix Global styles overriding block’s element styles. (39012)
  • @Tumas2: Spelling error in JustifyContentControl example. (39234)

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

12.8.0 Changelog

Enhancements

Block Library

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

Components

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

Block Editor

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

Site Editor

  • Add theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. to export file. (39048)
  • Resolve homepage template on server-side. (38817)
  • Theme Export: Add index.php and style.css. (39173)

Icons

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

General Interface

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

Media

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

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

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

New APIs

  • Webfonts API. (37140)
  • Add new @wordpress/preferences package. (38873)
  • Add reusable preferences modal to interface package. (39153)
    • Add interface preferences modal to edit post. (39176)
    • Migrate hidden block types (block manager data) to new preferences packages. (39132)
    • Migrate post editor feature preferences to use new preferences package. (39115)
    • Migrate customize widgets editor to use new preferences package. (39112)
    • Migrate standalone widgets editor to use new preferences package. (39084)
    • Migrate site editor to use new preferences package. (39158)
    • Deprecate interface package’s preference APIs. (39418)
  • Create Block: Add support for more plugin headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. fields. (39096)

Bug Fixes

Block Library

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

Styles

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

Components

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

Block Editor

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

Post Editor

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

Site Editor

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

Other Packages

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

Developer experience

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

Documentation

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

Code Quality

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

Tools

Project Management

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

Testing

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

Build Tooling

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

npm Packages

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

Plugin

  • Account for upcoming changes in styles metadata in WordPress 5.9. (36327)
  • Don’t filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. ‘theme_templates’ when running WP 5.9. (39017)

Performance Benchmark

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

Post Editor

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

Site Editor

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

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

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

#gutenberg-new #gutenberg #core-editor

Devchat agenda, March 16, 2022

Here’s last week’s summary.

1. Announcements

A security release, WordPress 5.9.2, landed on Thursday.

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

There is a bug-scrub schedule for 6.0!

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

A Week in Core from @audrasjb

4. Upcoming releases

The next major is 6.0.

The next minor is 5.9.3.

5. Open Floor

Three tickets emerged from the Bulk Edit and Help/About 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 of yesterday. They are all several years old, so it would be nice to close them or commit them this cycle.

#42474 has 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. from @sabernhardt that looks as if it mostly needs testing.

#41833 is apparently still a thorn in the sides of several users, notably our own @webcommsat and @meher. Time to find a way forward?

And on #41494, people in the scrub would like advice from @audrasjb and @costdev, but also the group at large, on how to proceed.

Add your items to the comments!

And see you tomorrow at 20:00 UTC in 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/..

#agenda, #core, #dev-chat