WordPress 5.9 RC4

A fourth and final 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). for WordPress 5.9 is packaged to mark the code freeze before release tomorrow, January 25, 2022. 

Discover more about the process for Release Day.

The following fixes are included since Release Candidate 3 (RC3) last week:

  • Classic menus are not selectable in the existing Navigation blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.PR38168
  • Remove CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.’s Menus section when the block theme is active – #54888
  • Block Editor: Mark last change as persistent on save – PR36887
  • Issue in clicking “Edit styles” link in the Welcome panel#54859 / PR38123
  • Fix resizable box scrollbars in blocks – PR38123
  • Fix for the pattern preview expanding issue – PR38175
  • Allow to install/activate themes/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 which require the next WordPress version – #54882

Testing the release

You can test the WordPress 5.9 release candidate in three ways:

Option 1: Install and activate the WordPress Beta Tester plugin (select the “Bleeding edgebleeding edge The latest revision of the software, generally in development and often unstable. Also known as trunk.” channel and “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./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). Only” stream).

Option 2: Download the RC4 version (zip).

Option 3: When using WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ to upgrade from Beta 1, 2, 3, 4, RC1, RC2, or RC3 on a case-insensitive filesystem, please use the following command sequence:

Command One:

wp core update --version=5.9-RC4

Command Two:

wp core update --version=5.9-RC4 --force

Happy testing! All welcome in the #core channel on the 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/. for the 5.9 release party on January 25! You can follow along for exact timings by watching the #5.9-release-leads channel too.

Thanks @cbringmann, @audrasjb, @desrosj, @hellofromtonya, @costdev, @marybaum, @webcommsat for contributions and proofreading of this post.

#5-9

Performance Chat Agenda: 25 January 2022

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

  • Announcements
  • Focus group updates
  • Infrastructure
    • Account for 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 deployment (see #42)
  • Open floor

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

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

Menus endpoints in WordPress 5.9

WordPress 5.9 adds three new 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/. endpoints to manage menus and menu locations. These menus endpoints are used the in new navigation block.

Before discussing menu endpoints, it’s worth noting how menus are currently stored. Navigation menus are stored using the nav_menu 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. and the nav_menu_item post type. A menu is stored as a term and acts like a container for a number of menu items. Menu items are stored as posts. Menus and menu items also have custom fields stored in metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. and in various options.

Accessible via /wp/v2/menus, the menus endpoint allows for performing CRUDCRUD Create, read, update and delete, the four basic functions of storing data. (More on Wikipedia.) operations on menu data. This endpoint extends the WP_REST_Terms_Controller class, mapping fields to the menus and adding functionality like auto_add, that automatically adds new pages to menus when created. A GET request includes the list of menus, but does not contain the list of menu items. To get this data, the menu items endpoint can be used.

Example output from request:

{
    "auto_add": false
    "description": "",
    "id": 36,
    "locations": ['wporg_header_subsite_nav', 'primary'],
    "meta": [],
    "name": "Navigation",
    "slug": "navigation",
}

Accessible via /wp/v2/menu-items, the menu items endpoint allows for performing CRUD operations on menu items and assigning them to menus. This endpoint extends the WP_REST_Posts_Controller class, mapping fields and adding custom functionality. Menu items can only be assigned to one menu at a time unlike other taxonomies.

Many menu items have an associated object that the menu item links to. For instance, a link to a page will have the object set to page and the object_id set to the WordPress Post ID of that page. When using this endpoint, it may be useful to get information about that linked object. For example the page’s title. This information is not included in the response by default, but the REST API has a feature to embed this information by using the _embed query parameter. For example, making a GET request to /wp/v2/menu-item/8874?_embed=true will result in the following response:

{
     "attr_title": "",
     "classes": [''],
     "description": "",
     "id": 8874,
     "invalid": false,
     "menu_order": 1,
     "menus": 363,
     "meta": {},
     "object": "page",
     "object_id": 8823,
     "parent": 0,
     "status": "publish",
     "target": "",
     "title": {rendered: 'Tickets'},
     "type": "post_type",
     "type_label": "Page",
     "url": "https://make.wordpress.org/core/reports/",
     "xfn": [""],
     "_embedded": {
              wp:menu-item-object: [
                   {
                      "author": 5286302,
                      "date": "2014-01-29T19:49:26",
                      "featured_media": 0,
                      "id": 8823,
                      "link": "https://make.wordpress.org/core/reports/",
                      "slug": "reports",
                      "title": { "rendered": "Bug Reports"},
                      "type": "page",
                   }
              ],
              wp:term: [
                    {
                       "id": 363,
                       "name": "Navigation",
                       "slug": "navigation"
                    }
              ]
    },
}

Accessible via /wp/v2/menu-locations, the menu locations endpoint returns a list of menu locations registered with the register_nav_menus function. To assign a menu to a particular location, use the menus endpoint, by passing an array of menu location keys.

Example output from request:

{
     "description": "Desktop Horizontal Menu"
     "menu": 90
     "name": "primary"
}

Batching requests

Both the menu and menu item endpoints, both support the batching of requests, introduced in WordPress 5.6. This means that more than one menu / menu item can be updates / created in a simple request to the 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..

Access Control

To access data from any of the menus endpoints, requests must be made by a logged in user with the edit_theme_options capability. By default, only users with the Administrator role have this capability. This means that menu data is not publically exposed via the REST API. Ticketticket Created for both bug reports and feature development on the bug tracker. #54304 provides a means for developers to opt-in to exposing this data publicly. The REST API team hopes to implement this feature in a near future release of WordPress.

These endpoints were first developed as a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. on GitHub. For those using this 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, after upgrading to WordPress 5.9, the plugin can be deactivated and removed as all of it’s functionality is now included in WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

Props to @timothyblynjacobs for peer review.

#5-9, #dev-notes, #rest-api

WordPress 5.9 Release Day Process

Updated: 24 Jan 2022

Preparation for WordPress 5.9 final release is underway. This post shares the release process, including the timeline and how you can help.

Release Timeline

The current plan is:

Dry Run

Update: The Dry Run was successfully completed ✅ See the process in the #core Slack channel.

The Dry Run is a key event to determine readiness for the final release. As noted above, the current plan is to start it on 2022-01-24 15:00. You are invited to observe and/or participate. It’ll happen in the #core Slack channel.

What happens during the dry run?

  • Review 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. reports to determine if any are critical to warrant another 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). (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).).
  • Checks and updates are done in the src/wp-admin/includes/update-core.php file.
  • Pre-release scripts are run to ensure test suites, coding standards, and checks pass.

If the results are acceptable, the release goes into a 24-hour code freeze period.

24 Hour Code Freeze

Update: The 24-hour code freeze is in effect 🕜

After the dry run and before the release party starts, a 24-hour code freeze goes into effect.

What does this mean? No source code for 5.9.0 (i.e., in the 5.9 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".) can be changed during these 24 hours.

What happens if a critical bug is reported during this period? The release squad will meet with committers and maintainers to determine if the issue is a blockerblocker A bug which is so severe that it blocks a release..

  • If yes, another RC release happens, and the release process restarts (meaning the dry run is repeated and then the 24-hour code freeze clock restarts).
  • If no, then the bug is targeted for 5.9.1.

The Release Party 🎉

WooHoo, you’ve made it to release day 🎉!

As noted above, the current plan is to start the release party on 2022-01-25 19:20. You are invited to observe and/or participate. It’ll happen in the #core Slack channel.

The release party walks through the steps in the Major Version Release process for anyone who wants to follow along.

Please note releasing a major version requires more time than releasing a 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. or release candidate. There are more steps in the process. If there are any last-minute issues that need addressing, more time will be needed.

How You Can Help

A key part of the release process is checking that the ZIP packages work on all the different server configurations available. If you have some of the less commonly used servers available for testing (IIS, in particular), that would be super helpful. Servers running older versions of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. will also need testing.

You can even start this early, by running the WordPress 5.9 RC3 packages, which are built using the same method as the final packages.

During the release party, options will be provided on how to help test the release package.

Tips on What to Test

In particular, testing the following types of installs and updates would be much appreciated:

  • Does a new WordPress install work correctly? This includes running through the manual install process, as well as WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ or one-click installers.
  • Test upgrading from 4.0.33, 4.9.18, 5.7.2, 5.8.3, and 5.9 RC 3, as well as any other versions possible.
  • Remove wp-config.php file and test a fresh install.
  • Test single site and multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site/networknetwork (versus site, blog) (both subdirectory and subdomain) installs.
  • Does it upgrade correctly? Are the files listed in $_old_files removed when you upgrade?
  • Does multisite upgrade properly?

Testing the following user flows, on both desktop and mobile, would be great to validate each function as expected:

  • Publish a post, including a variety of different blocks.
  • Comment on the post.
  • Install a new 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/theme, or upgrade an existing one.
  • Change the site language.
  • If you’re a plugin developer, or if there are complex plugins you depend upon, test that they’re working correctly.

Props to @jeffpaul for peer review and @marybaum, @webcommsat, and @cbringmann for editing.

#5-9, #release-process

Editor Chat Summary: 19th January 2022

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

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

WordPress 5.9

WordPress 5.9 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). 3 was released today. Short of an emergency that necessitates an RC 4, this will become the final WordPress 5.9 release.@mamaduka and I have moved all remaining issues in the WordPress 5.9 project board to a new WordPress 5.9.x project board.Thanks everyone for your hard work on this massive massive release!

Updates based on the scope for Site Editing projects

Updates were requested for the key projects:

@get_dave provided the update:

Query

  • @ntsekouras shared that he created a PR today that adds support for custom taxonomies filtering in 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., which needs meticulous testing for any regressions.
  • Testing would be appreciated.

Styles

@jorgefilipecosta provided the update:

Native Mobile Team

@hypest provided the update:

Shipped

  • Translations pipeline improvements, including more strings now properly getting translated!
  • Contrast Checker in Text-Based Blocks.

Fixes:

  • 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. in the content justification attribute on the Buttons block.
  • Issue on Android with handling of Hebrew and Indonesian translations.
  • Issue with long cell labels clipped on Android.
  • Issue with native mobile tests erroneously loading reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-dom.

In Progress:

  • Finalizing GSS Font size and line height.

Components Packages

@mciampini provided an update:

  • From the point of view of the components team, we’re still getting up to speed after the holidays.
  • Mostly helping with reviewing PRs from other folks, e.g on the ToolsPanel , CustomSelectControl and ColorPicker components.
  • We’ll be probably able to get back to a more complete update from next week!

Templates & Patterns

There were no updates on either project.

Task Coordination

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

@ntsekouras:

@fabiankaegy:

@get_dave:

@bph:

  • I have an update on Developer Hours(Proposal on make/core).
  • We will start its trial period Feb and March with two events each month.
  • I got some great responses to our call for volunteer panelists! I reached out to 11 developers already. Deadline is tomorrow.
  • Also, huge thank you also to the #training team for their supports with promotion via the WordPress Social Learning space.
  • I am working on the schedule for the panelist and will post an update – hopefully – next week.

Open Floor

Help required to understand MediaReplaceFlow and the way the editor handles HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. 5xx errors when uploading media

  • @kenjigarland asks: can anyone can help me understand why MediaReplaceFlow works the way it does (i.e. why it doesn’t use withNotices/noticeOperations), and why the Cover block uses MediaReplaceFlow even when adding new media?
  • I have an in-progress changeset that improves error handling for some blocks here.
  • Looking for someone to help discuss async.

Do we need Additional CSSCSS Cascading Style Sheets. section in the Global Styles?

How can we improve quality and cadence of key project updates

  • @get_dave asked whether we could discuss ways of getting into a regular cadence for updates on the key projects?
  • We have lots of key projects but no way to know who is leading them or what the latest status is.
  • @priethor said size of updates was a problem and perhaps making these async would help. This would avoid the meeting become all about status updates.
  • Other facilitators agreed that as a meeting facilitator it’s often difficult to source updates and the meeting is often missing updates.
  • Folks agreed that most projects have a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. set of contributors (mostly full time folks). It should be easy enough to divide up the task of writing a short weekly update.
  • We agreed the following next steps which @priethor will take forward:
    • Identify which are the key overview Issues.
    • Identify core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. to ongoing key projects.
    • Encourage these folks to post weekly updates in 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/ and also encourage them to add a comment to the agenda beforehand.
  • The next meeting coordinator, @paaljoachim, will work with @priethor to see if the process can be improved for next week’s chat.

Celebrate new contributors!

@priethor asked us to celebrate new contributions! Kudos to all first-time Gutenberg contributors who joined our efforts in the last 2 releases.

Gutenberg 12.4:

Gutenberg 12.3:

Volunteering for next Gutenberg Plugin release

@fabiankaegy volunteered himself for the next Gutenberg Plugin release.

Wrap up

Thanks to everyone who attended the meeting!

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

Dev Chat Summary – January 19, 2022

Link to the start of the meeting in the WordPress Core Slack

Agenda

CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. @marybaum and @webcommsat led the meeting.

Announcements

WordPress 5.9 Release Candidate 3 is available.

Two key resources:
Help test WordPress 5.9 features
Read the 5.9 Field Guide.

Blogblog (versus network, site) posts of note

Update on the release

@hellofromtonya

5.9 final will land next week on 25 Jan 2022. RC3 yesterday was the last planned release before the final. If blockers or regressions are reported before 5.9 starts its 24 hour code freeze (which starts on 24 Jan), then another 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). may happen. As of right now, there are not any reports that warrant another RC. But will keep on on it. 

@jeffpaul: You’re almost there @hellofromtonya, we’re all in support of you and the team, thanks again for everyone’s amazing work!

Release Process summary from @hellofromtonya

  • The release squad is discussing the start time for the release party on the 25th. Stay tuned.
  • The code freeze will start exactly 24 hours before that time.
  • Dry run will be on the 24th and end before that code freeze starts.
  • A post on Make Core will appear in advance to outline the release processes and how you can help.

Thank you to all contributors who made this happen! 

How can you help?

  • Test
  • Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. any reports that come into TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. or 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/ to help teams figure out if a report needs immediate attention. Then come join the 5.9 Release Party to help prep and test the package and get it out into the world! Celebrate.
  • @webcommsat: please share the posts about the release and the RC3 post.

5.9.1 early discussions

@jeffpaul: wait until we see how the forum responses come in post 5.9 since it sounds like nothing needing another RC as of now.

@marybaum shared she and @estelaris would be helping with the release-coordination for the minors, in in the interregnum before 6.0.

@hellofromtonya: I agree with @jeffpaul and points @desroj raised in the release leads channel. Though there are fixes ready for 5.9.1, good to give a week or so for reports to come in within the forums, Gutenberg 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/, and Trac. Why? There may be things hadn’t yet surfaced that need priority attention.

@costdev: For reporting issues when testing RC, reproducing reported issues during/triage, and for when reports land in the forums and make their way to Trac, a test report template is available to help narrow down the steps and environments where issues may occur.

Open Floor

a) Request for core agenda to be published 24 hours ahead of a meeting to allow items and links o be more easily added for the discussion. It has not been published this far in advance in the last two weeks. Confirmed.

b) FSE
@annezazu: Join me for a hallway hangout on Thursday 20 January 2022 at 9:00pm UTC to talk about 5.9. It will be held in #fse-outreach-experiment and is meant to be a casual place to chat with other folks in the WordPress space. Bring your questions, pop in and out, etc. It will be recorded and recapped. Previous editions

c) Ticketticket Created for both bug reports and feature development on the bug tracker. #54859: New Welcome’s panel “Edit styles” link does not seem to work

@audrasjb: relating to 5.9: should we consider #54859 as a blockerblocker A bug which is so severe that it blocks a release.? any thought about this small (but annoying) issue? Can probably be skipped to a minor unless there is a RC4.

@hellofromtonya: That issue needs testing and more discussion to determine what should happen and if reproducible. But does not seem to be a blocker for the 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..

If it’s merely a bad link, that’s one thing and easily fixable. If it’s something else, then discussion needs to happen about resolution.

@audrasjb: The expected behavior would be to open the Global Styles panel.

For now, the two links in the welcome panel both lead to the same screen (*), which is, indeed, annoying.
(* on 5.9 + TT2)

ironprogrammer: The first time you open Styles, it has the nifty tutorial, so it’s a shame to miss that when you come here the first time…

@hellofromtonya: The question is: What should the link be to open the panel (this would be fixable in Core)? Or is the panel not wired to a link (this would be a Gutenberg issue)?

@audrasjb: I don’t think it’s a blocker. But I think it’s annoying and it’s not a super user experience when associated to the Welcome panel which is supposed to show all the amazing stuff we shipped in this release. What I try to say is that it’s more a “communication issue” than a technical one. @jeffpaul agreed not a blocker.

@hellofromtonya:

  • let’s get it fixed.
  • Then if there are other issues that pop, it can be bundled into a RC4.
  • I agree it has to be fixed upstream in Gutenberg and then packages released and backported to Core.

@hellofromtonya: Depends upon if the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org is correct or not. If not correct, then it can be fixed in Core. Else, yes, I agree it has to be fixed upstream in Gutenberg and then packages released and backported to Core.

@audrasjb: I’m currently opening an issue upstream, and also, I’m searching for any Gutenberg behavior that would open the panel based on the URL hash.

@audrasjb: If so, we could fix this on Core side.

@desrosj: I think we should be worried about making the right decisions for our users and not to avoid publications writing unfavorable pieces about us.

@marybaum: A thing that seems like not-a-blocker to us can affect UXUX User experience profoundly, which in turn can damage perception.

@hellofromtonya: For now, it’s prioritized and in the 5.9 milestone. I’ll take ownership of this issue with priority to fix it. Once fixed, then a decision can be made as to whether to do another RC or release it in.

@hellofromtonya: There are known bugs that do impact UX that are in 5.9.1. Yes, the release seeks to ship a solid experience. And yes, it would be great to have a perfect UX across the board. In this case, the link does take the user to the Site Editor where the Styles can be opened with another click. The experience is not broken nor perfect. But I don’t see it as a major blocker to the final release. But let’s see if it can be fixed quickly and if other issues come in to warrant another RC. 

@audrasjb pinged the editor team
An issue has been reported that is a good to get fixed in case there’s a 5.9 RC4.
Clicking wp-admin/site-editor.php?styles=open in the Welcome panel is expected to automatically open the Styles panel in the Site Editor.  It is not. Is this the right link? Or is this 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. that needs to be fixed? https://github.com/WordPress/gutenberg/issues/38090
https://core.trac.wordpress.org/ticket/54859Posted in core-editor 

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

@webcommsat and @courane01: For the work on Learn WordPress and social media, are there more dev notes on the release to come? Working on social media for LearnWP.
@marybaum: it looks like one more – https://github.com/orgs/WordPress/projects/11/views/8

Props: Meeting notes summary by: @webcommsat and light editing by @marybaum

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

What’s new in Gutenberg 12.4 (19 January )

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


Gutenberg 12.4 has been released and is available for download!

This week we want to bring special attention to the accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) improvements that are continually happening in the project. Thanks to all those working to make Gutenberg usable by all!

Table of Contents

Accessibility improvements

Focus now correctly returns to the list view button after closing out of list view—saving a lot of trouble to get back to where you were before opening it.

More improvements are in place for the block inserter sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. The search input now receives focus when it is opened. And, for screen readers, the close button was added to the desktop view to ensure consistency with the mobile view.

Post publish panel categories reminder

It can be easy to forget to add tags or categories to a post before publishing. A suggestion for adding tags already existed in the publish panel, but now there is also a suggestion for assigning a category to the post that will show up if a categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. is not already assigned.

New "Suggestion: Assign a category" section in the post publish panel

Site editor keyboard shortcuts help panel

As a part of the border work of UI parity with the post editor, the site editor now has a list of keyboard shortcuts available. They can be accessed by pressing CONTROL + OPTION + H on MacOS or CTRL + ALT + H on Windows or through the “More tools and options” (vertical ellipsis/kebab menu) dropdown. Enjoy streamlined workflows with these shortcuts in more places.

Keyboard shortcuts modal in the site editor

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

More blocks have been recategorized as theme blocks in the inserter to help encourage correct usage of these blocks and clarify their functionality. The following blocks can now be found in the theme category:

  • Post Template
  • Pagination
  • Next Page
  • Page Numbers
  • Previous Page

Props to new contributors

Kudos to the first-time contributors that joined during the last release cycle: @alberto-marin @ugljanin @mauteri. If you’re interested in contributing but don’t know where to start, join the Core Editor weekly meetings on Wednesdays @ 14:00 UTC in #core-editor focused on all things Gutenberg.

Changelog

Enhancements

Accessibility

  • Accessibility improvements for 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. Inserter. (37357)
    • Try possibly better method for Block Inserter Search focus. (37793)
  • Accessibility improvements for List View Part 1. (37798)
  • Improve successful draft save notification for screen readers. (37683)

Block Library

  • Audio: Add uploading state. (37739)
  • 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.: Add to and from Post Content transformations. (37651)
  • Search: Improve escaping on the search block. (37829)
  • Page List: Add menu-item-home class to Navigation for front page. (37301)
  • Tag Cloud: Add outline style. (37092)

Components

  • ExternalLink: Update icon to be smaller, have no margin. (37859)

Post Editor

  • PostLockedModal: Display preview link as part of the text. (37852)
  • Try: Polish post takeover modal. (37821)
  • Suggest picking a category on the pre-publish panel. (37703)

Block Editor

  • Inserter: Update categories for theme blocks. (37723)

Site Editor

  • Add keyboard shortcut help modal. (37650)
  • Update copy on Snackbar that appears when a template is deleted. (37888)

Icons

Bug Fixes

Block Library

  • Code: Remove color from code theme.scss. (37816)
  • Code: Try: Polish code styles to properly apply border properties. (37818)
  • Columns: Avoid using CSSCSS Cascading Style Sheets. variables for block gap styles. (37436)
  • Comments Pagination Next: Fix accidental division by zero. (37788)
  • Gallery: Pass any custom attributes through the gallery v2 migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. script. (37812)
  • Gallery: Remove warning notice about mobile version required. (37842)
  • Navigation: HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. tags like inline images in nav links break submenu layout. (37665)
  • Navigation: Set the default for –navigation-layout-align to “flex-start” when using vertical orientation. (37696)
  • Navigation: Fix overlay menu errant focus style on scrim. (37824)
  • Page List: Show UIUI User interface warning if Pages cannot be retrieved in Page List block. (37486)
  • Page List: Update page list flex variables to match navigation. (37718)
  • Post Comments: Tidy up Post Comments default styling. (37709)
  • Post Content: Check for nextpage to display page links for paginated posts. (37672)
  • Post Excerpt: Fix previews. (37648)
  • 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.: Use gap for the grid view. (37711)
  • Query Loop: Check for zero queryId on initialization. (37867)
  • Site logo: Fix range control on landscape logos. (37733)
  • Simplify and unify a few modal dialogs. (37857)
  • Fix enqueueing additional styles for blocks only when rendered. (37848)
  • Fix typo (hanle -> handle). (37849)
  • Revert “[Paragraph Block] add font family support”. (37815)

Colors

  • Coloring panel is unusable in RTL. (37644)
  • Impossible to clear colors if color palettes are removed. (37791)
  • Use useCallback hook from wordpress/elements in color-picker. (37745)

Components

  • BaseControl: Fix VisualLabel styles. (37747)
  • ConfirmDialog: Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. from wordpress/elements. (37771)
  • CustomSelectControl: Stop keypresses being caught by other elements when they happen. (30557)

Post Editor

  • Restore canvas padding for classic themes. (37741)

History

  • Fix broken ‘Redo’ by removing faulty logic for discarding unsaved Logo changes. (37895)
  • Fix redo after update/publish with transient edits. (37840)

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

  • Fix Home template description typo. (37843)
  • Improve user experience with blocks editor when a block is not registered. (37646)

Block Editor

  • Fix LinkPicker freeze when virtual keyboard is hidden. (37782)
  • RichText: Fix dead key input on Windows. (37777)
  • Link control: Translate empty link string. (36975)
  • Add post-type-x classname to iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. (37429)

Global Styles

  • Reduce specificity of legacy font sizes defined by core. (37819)

Accessibility

  • Fix aria-modal attribution with multiple navs on page. (37813)

Template Editor

  • Template Mode: Trim long post titles in large viewports. (37720)

Site Editor

  • Add the “Help” link to the tools menu. (37647)
  • Contextualize “Export” string to differentiate it from other occurrences in WP Core. (37660)

Documentation

  • Block.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. Schema: Update fontSize and lineHeight props. (37853)
  • Theme.json Schema: Fix appearanceTools in theme.json schema. (37762)
  • Theme.json Schema: Update theme.json schema to allow for per-block management of settings. (36746)
  • Add checkbox for updating schemas if appropriate. (37780)
  • Fix issue template typo. (37825)
  • Add automated theme.json reference documentation. (37569)
  • Add link to block source for reference. (37750)
  • Add missing end tag for codetabs in stylesheet guide. (37827)
  • Fix broken URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org on block variation page. (37702)
  • Fix type of saved $content. (37688)
  • Fix type of saved content – part two. (37740)
  • Fix PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. failure. (37742)
  • Update create block type how to guide for block.json. (37674)
  • Update stylesheets guide with using block.json file. (37679)
  • OSX Setup guide: Wrap lts/* in quotes for nvm commands. (37722)
  • Remove “experimental” from full site editing documentation. (37655)
  • Update copyright year to 2022 in license.md. (37689)
  • Update wp-plugin.md. (37846)
  • Updated ColorIndicator readme. (37638)
  • Update the Post Author block description. (37836)
  • Fixing broken links and adding colon. (37664)
  • Improve Gutenberg release documentation. (37898)

Code Quality

  • Add the WP version in which some JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. APIs will be removed. (37854)

Block Library

  • Late escape Categories block. (37835)
  • Late escape Page List block. (37873)
  • Late escape Query blocks. (37877)
  • Late escape RSS block. (37878)
  • Late escape Table of Contents block. (37882)
  • Late escape Search block. (37879)
  • Move escaping to point of output in Archives block. (37834)
  • Post Content: No need to pass default get_the_content args. (37701)

Post Editor

  • PostLockedModal: Update action buttons markup. (37837)

Parsing

  • Block API: Separate validation stage during block parsing. (37763)

Components

  • Refactor SuggestionsList to use hooks and change class to function component. (36924)

Tools

Testing

  • Allow type imports for ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. everywhere. (37862)
  • Change the performance job folder structure to avoid nested node_modules. (37775)
  • Fix flaky test by using waitForResponse to ensure the URL details request completes. (37901)
  • Marking test that consistently fails as skipped. (37729)

Build Tooling

  • wp-env: Replace TT1-Blocks with Empty Theme in the wp-env of gutenberg and CI. (37446)
  • wp-env: Show --help when no subcommand is passed. (32755)
  • Scripts: Scan block.json files to detect entry points for the build process. (37661)
  • Scripts: Add plugin-zip command to create a zip file for a WordPress 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. (37687)

Create Block

  • Allow custom folder name for a block. (37612)
  • Speed up scaffolding by omitting WordPress dependencies. (37639)

Performance Benchmark

Post Editor

VersionTime to first blockKeypress event
Gutenberg 12.47.4 s46 ms
Gutenberg 12.37.4 s46 ms
WordPress 5.88.0 s53 ms

Site Editor

VersionTime to first blockKeypress event
Gutenberg 12.46.9 s37 ms
Gutenberg 12.36.7 s38 ms
WordPress 5.85.9 s11 ms

Time to first block: firstBlock

Keypress event: type


Thanks to @priethor and @annezazu for helping write and proofread this post!

And kudos to all the contributors who have submitted bugs, written code, designed components, added documentation, reviewed others’ contributions, and everything else that goes into making Gutenberg. 👏

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Dev Chat agenda for January 19, 2022

The weekly developers chat meeting is at 20:00 UTC in the #core channel on Slack. Please join the group!

Announcements

WordPress 5.9 Release Candidate 3 has landed.  Please download and test! Also, please feel free to share the package and invite your friends to test 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). for themselves.

Help test WordPress 5.9 features

Read the 5.9 Field Guide.

Blogblog (versus network, site) posts of note

A year in core (December 29, 2021)

What’s new in Gutenberg 12.3 release (5 January 2022)

A Week in Core: January 17, 2022

The revised 5.9 release schedule.

Join the discussion on 2022 release planning (December 27, 2021 post by @chanthaboune)

Proposed changes to javascript coding standards for full prettier compatibility [added during devchat]

Do you have other posts that should get attention? Please add them in the comments.

Upcoming releases

@hellofromtonya will update the group on the 5.9 release. It’s due in six days, on January 25, 2022.

Component Maintainers

From now until 5.9 launch, devchat will skip a formal check-in so the group can have a longer Open Floor. If you’re a maintainer who would like to get help with a blockerblocker A bug which is so severe that it blocks a release. or share success/ collaboration, please feel free to either comment on this post or in the meeting.

Open Floor

Please add your topic to the comments below.

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

#5-9, #agenda, #dev-chat

#core

Performance team meeting summary 18 January 2022

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

Focus group updates

Announcements

@shetheliving

  • Introducing updated GitHub repo labels
    • The labels beginning with “Needs” all need something from the community: discussion, decision (see below), development, code review, and/or testing
    • Issues labeled Needs Decision will have a comment noting a proposed next step and a request for vote via thumbs-up/thumbs-down emoji, as well as a deadline for voting. We’ll allow at least two weeks for voting and will flag these issues in our weekly chat.

Images

@adamsilverstein

GitHub project

  • We’re seeking an additional POC for this group; if you’re interested, please comment here or pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.
  • Requesting additional feedback on https://github.com/WordPress/performance/issues/96 (note that this was previously a discussion: https://github.com/WordPress/performance/discussions/83)
    • @mitogh: One option is to extend sizes array to include a new property called sources with the MIME type as the key of that array and a path to the original file to create a picture element
    • @flixos90: The picture element adds a layer of complexity in terms of adding to WP coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.; not sure it’s necessary for us to introduce WebP support.
    • @pbearne: Would be nice to control the quality of images for each size (@adamsilverstein: see https://core.trac.wordpress.org/ticket/54648)
      • @schlessera: WebP is not ready to replace JPEG at this point
    • @dainemawer: What about AVIF?
      • @flixos90: The picture element would be a clear requirement for AVIF, since it has too little browser support
    • Several people chimed in on a discussion regarding giving options for using WebP; see this Slack thread

Feedback requested

Object caching

@tillkruess @dustinrue

GitHub project

  • @spacedmonkey: Several core PRs (with associated issues in the Performance repo) ready for review – see below.
  • @tillkruess: Will start pushing some modules that he’s been working on. Most object caching tasks will require core commits.

Feedback requested

Site Health

@audrasjb

GitHub project

  • We’re seeking an additional POC for this group; if you’re interested, please comment here or ping in Slack
  • @dainemawer will see how he can help here

Feedback requested

  • N/A

Measurement

@wp-source @josephscott

GitHub project

  • @wp-source offline until end of January
  • @josephscott: Some challenges with getting things going on platform.sh because the WordPress GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repos are mirrors of the subversion repository, and configuration files should not be incorporated into the main mirrors. See this Slack thread for more details.

Feedback requested

  • N/A

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 @gziolo @sergiomdgomes

GitHub project

  • @sergiomdgomes: Concluded in a recent meeting that the work being explored in https://github.com/WordPress/gutenberg/issues/36716 is a blocker for most JS-based Performance work because the current enqueue mechanism precludes many potential optimizations; exploring alternatives.

Feedback requested

  • Share feedback on possible approach outlined in https://github.com/WordPress/gutenberg/issues/36716

Infrastructure

  • @flixos90: Should we open an issue to finalize the first release?
    • @justinahinon: We should wait to release until after release of 5.9 and completion of Site Health module
    • @flixos90: Will open an issue for discussion, then decision

Feedback requested

Open floor

  • N/A

Help wanted

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

Editor Chat Agenda: 19th January 2022

Facilitator and notetaker: @get_dave.

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

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

  • 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.4.0.
  • WordPress 5.9 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). 3.
  • Updates based on updated scope for site editing projects:
    • Navigation BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience..
    • Template editor.
    • Patterns.
    • Styling.
    • Mobile Team.
    • Components Team.
  • Task Coordination.
  • Open Floor.

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

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

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