Bug Scrub Schedule for 5.9

With 5.9 well underway, we’re ready to schedule the 5.9 bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub sessions. These 5.9 specific ticketticket Created for both bug reports and feature development on the bug tracker. scrubs will happen each week until the final release.

Alpha Scrubs:

Hosted by @audrasjb

Hosted by @chaion07 (APAC-friendly)

BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. Scrubs:

Focus: issues reported from the previous beta.

RC Scrubs:

Focus: issues reported from the previous RC

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

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

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

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

  • Twenty Twenty-Two Triage: Every Monday 15:00 UTC in the #core-themes channel.
  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Design Triage: Every Tuesday 16:00 UTC in the #design channel.
  • AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) Scrub: Every Friday 15:00 UTC in the #accessibility channel.
  • Testing Scrub: Every Friday 13:15 UTC in the #core-test channel.
  • CSSCSS Cascading Style Sheets. Scrub: First Thursday of every month 20:00 UTC in the #core-css channel.
  • Upgrade/Install Component: Every Tuesday at 17:00 UTC in the #core-auto-update channel.

Want to lead a bug scrub?

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

How? PingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” @audrasjb or @chaion07 on slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. and let us know the day and time you’re considering as well as the report or tickets you want to scrub.

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

Where can you find tickets to scrub?

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

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

Questions?

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

Thanks @jeffpaul for proof-reading.

#5-9, #bug-scrub

Dev chat summary – October 20, 2021

@audrasjb led the chat on this agenda. You can also read the Slack logs.

Highlighted blogblog (versus network, site) posts

Bringing to your attention some interesting reads and some call for feedback and/or volunteers:

Worth mentioning:

Thanks to the 30 contributors of the past week, including 7 new contributors! Kudos to the 5 coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committers of the week, too.

A Week in Core – October 18, 2021

Upcoming releases updates

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.(s)

Please note that 5.8.2 was deferred due to the lack of ready-to-ship tickets. WP 5.8.2 RC is scheduled on Tuesday November 2, 2021. With a final release on Wednesday, November 10, 2021.

Reminder: @desrosj and @circlecube are co-leading the 5.8.x releases. The 5.8.x point releases are coordinated in the #5-8-release-leads 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. This channel is public and will be archived once 5.9 is released.

From @desrosj: If there is anything you’d like to see released prior to 5.9, please make sure to flag it and help bring the ticketticket Created for both bug reports and feature development on the bug tracker. to a resolution!

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.

First announcement, it’s a GO for the main 5.9 features: WordPress 5.9 Feature Go/No-Go | October 14, 2021 🎉

@audrasjb and @chaion07 published the 5.9 Bug scrub schedule.
Please note that anyone can run 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. Checkout Leading Bug Scrubs in the core handbook.

@chanthaboune added that a Release Squad will be announced soon.

Twenty Twenty-Two was introduced a couple week ago. As usual, there is a public repository on GitHub so feel free to help testing the theme, and to contribute to this project.

Component maintainers updates

Build/Test Tools – @sergeybiryukov

A readme file for end-to-end (e2e) tests was added to WordPress core. It provides instructions of how to run the tests locally and links to documentation. This should hopefully result in more contributors writing e2e tests. See ticket #53550 for more details.

General – @sergeybiryukov

Work has continued on various coding standards fixes in core. See tickets #54177, #54277, #54278, #54284 for more details. Thanks to @sabbirshouvo, a new contributor, for improving escaping in various parts of core!

Internationalization (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.) – @sergeybiryukov

Some Media Library 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. strings now have a context for better translations. See ticket #54238 for more details.

Help/About – @marybaum

Scrubs continue weekly, hosted by @marybaum and @webcommsat. Three tickets will wind up contributing to big changes long-term; a couple of tickets are minor markup changes, so they should be good to go this week.

This component will have another scrub scheduled on Monday October 25, 2021 at 19:00 UTC, focused on tickets slated for 5.9.

Open Floor

@audrasjb asked for an update concerning the new Performance team proposal. @chanthaboune: “There are a few questions that I’m synthesizing into a comment. Performance is, of course, an important thing for the WordPress project as a whole. There were some questions on implementation, though.”

@janthiel asked for a review of #53450. @audrasjb moved it for 5.9 consideration. This ticket will need dev-feedback and a technical review.

@costdev is working on the changes from assertEquals() to assertSame() in the test suite for 5.9 and the “Stage 1” pull request is ready for review: #53364.

@tobifjellner asked for a review of #54300. @audrasjb moved it for 5.9 consideration and added 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. proposal.

#5-8-x, #5-9, #dev-chat, #summary, #twenty-twenty-two

Check out & contribute to the updated Gutenberg Examples

This week, a major portion of the work to update the Gutenberg Examples repository was completed. The repository 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. examples, while accurate, were out of date and didn’t reflect the most current approach to block registration.

These examples can be used in many ways. You can read through them to learn how to create blocks, check out the repository and modify them to see how they work, or use them as a starting point for your own blocks.

All example blocks now use block metadata files and leverage the most recent version of the Block API. Updates were also made to the developer experience to introduce ESlint and Prettier configurations that can be used by IDEs, and to leverage the most recent version of the @wordpress/scripts package.

Share your examples

While the existing examples cover a lot of topics and use cases, it would be great to expand the list and help more folks do more with blocks. In particular, examples covering more advanced block related topics or topics that are not strictly related to creating blocks but still part of the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ developer toolkit, such as SlotFill, are very much needed.

If you’re looking for a way to contribute and grow community knowledge, please consider opening an issue or pull request with your example suggestion.

Special thanks to @mkaz and @gziolo for their help with code review and to @annezazu, @mkaz, @chanthaboune, @sparklingrobots, and @audrasjb for reviewing this post

#developer-documentation, #gutenberg

Dev Chat Agenda for October 20, 2021

Here is the agenda for this week’s developer meeting to occur on October 20, 2021, at 20:00 UTC.

Please note that depending on your timezone, the time may have changed with the end of daylight saving time.

Blogblog (versus network, site) Post Highlights and announcements

Bringing to your attention some interesting reads and some call for feedback and/or volunteers:

Next releases status update

Have you been working on 5.9 related issues? Let everyone know!

Components check-in and status updates

  • Check-in with each component for status updates.
  • Poll for components that need assistance.

Open Floor

Do you have something to propose for the agenda, or a specific item relevant to the usual agenda items above?

Please leave a comment, and say whether or not you’ll be in the chat, so the group can either give you the floor or bring up your topic for you accordingly.

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

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

Editor Chat Agenda: 20 October 2021

Facilitator and notetaker: @paaljoachim

(Let me know if you would like to become a part of the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor meeting facilitators and notetakers team.)

This is the agenda for the weekly editor chat scheduled for Wednesday, October 20 2021, 04:00 PM GMT+1.

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

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 – October 18, 2021

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

  • 16 commits
  • 30 contributors
  • 29 tickets created
  • 5 tickets reopened
  • 17 tickets closed

The Core team is currently working on the next point (5.8.2) and major (5.9) releases 🛠

Worth noting that each feature slated to the 5.9 milestone has been validated, that the Twenty Twenty-Two Theme development is on the way, and the 5.9 bug scrub schedule has been published today 🚀

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

Coding Standards

  • Add public visibility to methods in src directory – #54177
  • Add a leading zero in the CSSCSS Cascading Style Sheets. declarations printed by the print_emoji_styles() function – #54284
  • Consistently escape form action 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-admin/update-core.php#54278

Cron

  • Fix malformed cron array in wp_schedule_single_event() when _get_cron_array() returns false#53950
  • Remove errant false values in cron array when upgrading to 5.9+ – #53950

Docs

  • Improve documentation for the tax_input parameter of wp_insert_post()#54264
  • Update WP_Date_Query documentation to reflect changes in accepted column names – #54248
  • Update documentation for the date_query_valid_columns 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.#54248#53550

Embeds

  • Add Wolfram Notebook as a trusted oEmbed provider – #53326

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

  • Add safeguard for invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. return from get_attached_file() in wp_delete_attachment()#52241
  • Fix autovivification deprecation notice in recurse_dirsize()#53635
  • Fix infinite 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. on Windows for clean_dirsize_cache()#52241

Internationalization

  • Add context for some Media Library filter strings: – #54238

Media

  • Display the unsaved changes dialog in image edit form using jQuery .text() function – #54232

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

  • Add text-field and textarea-field as available schema formats for string sanitization – #49960
  • Correct the order of the parameters documented for WP_REST_Server::respond_to_request()#53399

Props

Thanks to the 30 people who contributed to WordPress Core on Trac last week: @jrf (6), @audrasjb (4), @hellofromTonya (3), @jdy68 (2), @peterwilsoncc (2), @ocean90 (2), @mukesh27 (2), @johnjamesjacoby (2), @dimadin (2), @SergeyBiryukov (2), @TimothyBlynJacobs (1), @costdev (1), @sebastienserre (1), @janthiel (1), @isabel_brison (1), @desrosj (1), @josephdickson (1), @ekojr (1), @joegasper (1), @bartoszgrzesik (1), @teachlynx (1), @drosmog (1), @sjlevy (1), @codezen8 (1), @sergeybiryukov (1), @raubvogel (1), @dingo_d (1), @sabbirshouvo (1), @sabernhardt (1), and @justinahinon (1).

Congrats and welcome to our 7 new contributors of the week: @ekojr, @joegasper, @bartoszgrzesik, @teachlynx, @drosmog, @sjlevy, and @codezen8 ♥️

Core committers: @hellofromtonya (7), @sergeybiryukov (7), @johnbillion (1), @pento (1), and @rachelbaker (1).

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

WordPress 5.9 Feature Go/No-Go | October 14, 2021

TL;DR

WP5.9 Go ✅

  • 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, and their template and template part editing flows.
  • The default Twenty Twenty-Two block theme.
  • The Styles interface.
  • A myriad of design tools: layout control, block gap, typography options, border support, spacing, dimension controls, enhanced cropping tools, and duotone filters available in many blocks.
  • Navigation Block.
  • Improved block interactions, such as List View drag and drop, enhanced toolbar controls when using nested blocks, enhanced inserter between blocks, and block-level locking for patterns and inner blocks.
  • General UIUI User interface improvements, like rich URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org previews, the improved settings modal, and refined icons and animations.
  • Insertion of patterns directly from the Pattern Directory.
  • Iterative performance improvements.

To note, not all of the above are currently ready, but there is some level of confidence that they can be by the time of 5.9.

Who Attended

  • Matt Mullenweg – Project Lead (advocating for the vision/mission of WordPress and aggregate body of users)
  • Matías Ventura – 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/ project lead (host of the demo)
  • Kelly Hoffman – Lead Designer (advocating for Design and following up on design action items)
  • Helen Hou-Sandí – Lead developer (advocating for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., and extender community)
  • Josepha Haden Chomphosy – Executive Director (advocating for the community of WordPress and aggregate body of users)
  • Chloé Bringmann – Assisting with administrative and operational logistics
  • Héctor Prieto – Technical Project Manager (following up on technical action items)

Next Steps

With less than four weeks remaining until Feature Freeze, the Gutenberg path towards 5.9 remains the same as outlined on the Preliminary Road to 5.9 and is scoped in this GitHub issue. Two more Gutenberg release cycles remain until the freeze, and Gutenberg 11.9 will be the last release to make the cut.

While most of the efforts will focus on polishing existing features, the items below represent key high-level items to focus on in the weeks to come. Watch out for the recently created WordPress 5.9 Editor Must-Haves board for a more comprehensive and up-to-date list of items. Also, here’s an overview of different ways to keep up with Gutenberg, and don’t hesitate to join us at the core editor meeting every Wednesday at 14:00 UTC in #core-editor!

Block Themes and Site Editor

Block Themes and their template editors will be introduced in WordPress 5.9. It’s important to ease users into this new feature as it grows. To that end, the next steps will be to formalize editing flows for block themes, and to refine the Template Part Focus Mode.

Styling

WordPress 5.8 saw the introduction of 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., and WordPress 5.9 aims to go one step beyond by adding a Styles graphic interface for users to personalize the style on their sites. Apart from polishing the Styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., work will continue to enhance a wide array of design tools and enable them in blocks that benefit from them. These tools include typography toolsdimension and spacing tools, and UI updates like an improved ColorPicker

Patterns

Patterns provide a huge help to customize your site by adding rich block compositions and editing their content, and they will play a big role in block theme editing. Thanks to patterns, users are no longer constrained to a theme’s layout as they can design their site’s layout with the help of template part blocks and already available patterns. WordPress 5.9 will offer users patterns directly from the Pattern Directory, so the design choices patterns empower will grow exponentially as the directory gets populated without switching themes or upgrading WordPress! Check out the Pattern Insertion Tracking Issue for enhancements on pattern insertion flows.

Navigation Block

Arguably one of the most impactful theme blocks, the Navigation Block will make its appearance in WordPress 5.9. Because of the infinite ways to express navigation menus on a site, the Navigation Block has experienced a lot of iterations in the last months. However, thanks to the feedback gathered in the FSE Outreach Program; work is currently underway to optimize the user experience when building simple navigation menus. Apart from this optimization effort, many other Navigation Block improvements are under the radar.

Recording

October 14, 2021 Recording

Thank you to @cbringmann, @chanthaboune, and @matveb for their work on getting this content processed and ready to ship. Props to @angelasjin, @desrosj, @jeffikus, and @kjellr for reviewing this post.


Transcript

October 14, 2021, WP5.9 Demo

Thur, 10/14 5:30 PM UTC • 56:06

Continue reading

#5-9, #core-editor

Summary: Navigation Editor and Block hallway hangout

On October 13, 2021, 10:00 UTC a hallway hangout was held to discuss the future of the Navigation Editor and BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.. See here for the full agenda.

The meeting was convened to discuss some of the challenges contributors have been facing. Those challenges can probably be best dissected into two parts:

  1. What important changes to the Navigation Block need to be made for full site editing?
  2. What is the best path forwards for the Navigation Editor given the proposed changes to the block?

Meeting recording

Here’s a recording for the full meeting. The recording starts halfway through the introductions and didn’t capture the intros for myself (@talldanwp), Tammie (@karmatosed), Joen (@joen) or Emmanuel (@manooweb).

Topics

The meeting was quite a deep dive into the Navigation Block and Editor, exploring concepts like:

  • How the Navigation Editor and Block development has diverged
  • Upcoming priorities for the Navigation Block and Editor
  • Upcoming improvements to the Navigation Block. Largely centered around the block saving data like a Template Part or Reusable block does (described in the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ issue #34612)
    • There has already been some work on using a Template Part post type for this (pull request #35418)
    • Some exploration should happen around alternatives – a new post type or using the menu term’s description field
    • The actual data structure that is saved needs consideration and exploration
  • Migrating menu data when a user switches theme (e.g. to a block-based theme or between block-based themes)
  • Backwards compatibility with the current menu system
    • The shortcomings of the current menu / menu item data structure, the overhead and performance of this system
    • The current menu and menu item being the best way to achieve full backwards compatibility in the Navigation Editor
    • MigrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. paths for extensibility
  • The navigation block supporting different designs and styles
  • Some analysis of products and plugins that handle menus

Outcomes

The main outcome was to focus in the short-term on the Navigation Block for WordPress 5.9. (as an addendum to what was discussed in the meeting, this can be tracked via the Twenty Twenty-Two tracking issue (#75), and in the Navigation Block tracking issue (#35521)).

As the Navigation Block develops it will be possible to explore ways that it might work better within the Navigation Editor.

Immediate tasks

  • Publish a clearer set of goals for the Navigation Editor and Block.
  • Ensure the tracking issues are up-to-date.

What’s new in Gutenberg 11.7 (October 13th)

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/ 11.7 has been released! This release includes a number of nice enhancements and as usual many bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes.

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. And Navigation Editor Advances

The Lighter Navigation Block Experience and the Navigation Editor efforts led to many quality of life improvements in Gutenberg 11.7! 

The Navigation Block underwent a series of changes intended to provide a more intuitive navigation management experience. New links are now added instantly after clicking the “+” icon without an additional block selection step. There is also an additional new way of adding links: using a slash inserter. It is worth noting that a slash inserter can be enabled for any block using a new, experimental flag called __experimentalSlashInserter. In addition, navigation links may now be transformed into other allowed block types, such as Site Logo, Home Link, or Social Icons. Finally, it’s easier for users to notice linking mistakes thanks to the squiggly line highlighting empty links similarly to grammar errors. 

On the frontend front: The navigation link now supports custom font size and line-height. Link labels, such as “Previous post,” may now be a part of the link to the post itself. Mobile menus now reflect the justification settings of the desktop menus. 

Global Styles And Full Site Editing

The site editing experience got polished in this recent release. The template part editor gained a convenient back button to ease returning to the site editor. Switching between editing different template parts was made more accessible by listing the available areas in template details. Also, the custom gradient picker was refreshed.

There’s more! The Site editor was equipped with padding settings for specific template parts. Color palette settings are now available in a separate panel in the global styles sidebar. In addition, Duotone support was extended to the site logo block.

While we’re talking about Duotone, Gutenberg 11.7 enables theme authors to customize the default Duotone filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. using theme.json styles:

{
	"styles": {
		"blocks": {
			"core/site-logo": {
				"filter": {
					"duotone": "var(--wp--preset--duotone--blue-filter)"
				}
			}
		}
	}	
}

Columns Block Support For Tweaking The Gaps And Margins

The Columns block now allows you to adjust the space between the columns and the margins surrounding the block. Combined with customizable template part padding, it is the most flexible layout-building experience Gutenberg ever had.

Other Notable Highlights

As a part of the effort to get the LinkControl component out of the “experimental” state, 11.7 adds the ability to create pages directly from the link popup. So far, this was only possible in the Navigation block, but now this feature is exposed on every link. The popup also underwent subtle visual adjustments. In addition, empty links can no longer be added, making adding one by mistake harder. The ones that fall through the cracks are now clearly denoted as empty

Gutenberg 11.7 also ships a few formatting improvements. One of them is the ability to highlight text. Another is a new alignment option called “none,” intended for resetting alignment settings.

It is also worth noting that a breaking change the post pagination markup was introduced in PR 35092.

11.7

Enhancements

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)

  • Adjust wording for post format suggestions. (14124)
  • Add a visually hidden label for the Search block. (35034)
  • Add an accessible label to the Back button in preferences. (35340)
  • Global Styles: Add accessible label to Back button. (35325)
  • Template title: Include a button and label text when there is no post/page title. (35148)

Block Editor

  • Allow other blocks to use the slash inserter. (35196)
  • Enable ability to create Pages from the inline Link UIUI User interface. (35083)
  • Polish quick inserter. (35339)
  • Remove visual clue from alignment toolbar. (35080)
  • Remove native block inserter onboarding tooltip. (35150)

Block Library

  • Site Logo: Add duotone support. (35344)
  • Columns block: Enable blockGap and vertical margin support. (34630)
  • File Block: Only display PDF preview height RangeControl when embed is enabled. (35207)
  • Navigation: Add transformations from a link to other allowed nav blocks. (34978)
  • 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.: Include a Query Pagination option on the block variations. (35347)
  • Show “none” as an alignment option and use contextual text to clarify settings. (34710)
  • Social Links: Add block gap support. (35236)
  • Site Title: Add option to toggle home link. (31540)
  • Site title: update block description. (34474)
  • Transform Nav Links with children into Submenus. (34831)
  • Add an option for displaying the label inside the Navigation Link block. (34952)
  • Add typography settings for the Navigation Link block. (35324)
  • Add option to remove/clear logo from the Site Logo block. (34820)

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

  • Add ‘context’ to the query parts type definition. (35069)

Components

  • Add new Navigator components and use them in the global styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (34904)
  • Use _builtin property of classes in navigation link PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (35166)
  • Item: Remove isAction and use onClick to decide if it should render as button. (35152)
  • Make tooltip delay configurable with a property. (35246)

Design Tools

  • Block gap: Only render CSSCSS Cascading Style Sheets. variable if corresponding theme setting is enabled. (35209)
  • Format library: Add background color. (34680)
  • Update: Custom gradient picker design. (34712)

Global Styles

  • Add Padding to the root level of global styles. (35241)
  • Add duotone 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. styles support. (34667)
  • Extract the color palette to its own global styles screen. (35109)
  • Update the rules to hide/show blocks in the global styles sidebar. (35178)
  • Synchronize user custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. registration and UI visibility. (35427)
  • Enqueue preset styles for all themes in the editor. (35424)

Icons

  • Add color icon. (35187)
  • Rename globe icon to url. (35032)

Site Editor

  • Remove warning box from post terms. (35242)

Template Editor

  • Add back button for isolated template part editor. (34732)
  • Add template areas to template details. (35202)

Bug Fixes

Block Editor

  • Block Editor: Fix duplicate clientIds when dragging patterns. (35124)
  • Disallow creation of empty links using Link UI directly. (35060)
  • Fix Link UI when hyperlink has an empty href value. (35043)
  • Fix missing border in the quick inserter. (35307)
  • Fix toggle off for Duotone control and Post Date block’s date picking control. (35024)
  • useMultiSelection: Avoid crashing editor when block refs aren’t available. (35177)
  • Rich text: fix internal paste across multiline and single line instances. (35416)

Block Library

  • Embed: Remove meetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area.-com from variations. (35146)
  • Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Remove descendent space. (35273)
  • Fix: Broken disabled select style in the editor area. (35135)
  • Fix native BlockAlignmentControl. (35191)
  • Gallery block: Fix Safari image sizing issue. (35309)
  • Gallery block: Fix problem with caption showing encode tags when not selected. (35131)
  • Gallery block: Unset alignment on new images to prevent it breaking layout. (35132)
  • Post Template: Remove margins from the block. (35193)
  • Post Title: Always use blockProps. (35286)
  • Post Title: Only render link element if we have a post. (35284)
  • Query Pagination: Don’t render an empty container. (35092)
  • Navigation Link: Fix PHP notice in the Navigation Link block. (34984)
  • Fix Post Comment Content block’s edit function. (35190)

Components

  • Color Picker: Match figma metrics. (35039)
  • Remove shift-stepping from range in RangeControl. (35020)
  • Popover: fix __unstableBoundaryParent (35082)

Design Tools

  • ToolsPanelItem: Add panelId check before calling toggle methods. (35375)

Media

  • MediaUpload: Ensure current images in a gallery are selected after opening media library. (35070)

Post Editor

  • Fix missing save label. (34948)
  • Keyboard shortcut: Prevent post saving through keyboard if post saving locked. (35361)

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

  • 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. Fetch: Improve isMediaUploadRequest check. (34417)
  • Fix slashing when creating or updating a menu item. (35147)

Server Side Render

  • Prevent empty renders in ServerSideRender component caused by changing props while already fetching markup (35433)

Template Editor

  • Fix the styling of template details. (35285)

Widgets Editor

  • inspector-section: Track isOpen to make a better isContextuallyActive() function. (35055)

Performance

  • Edit Site: Optimize useSelect calls. (35213)
  • Memoize entity records selectors properly. (34323)
  • Widgets: Optimize useSelect calls. (35256)

Experiments

Block Library

  • Polish responsive navigation modal, inherit justifications, fix submenu direction. (35077)
  • Polish submenu indicator button. (35030)
  • Fix: Adding nav items from existing menu. (34837)

Navigation Screen

  • Remove 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. of help link in navigation editor. (35313)
  • Add a tooltip to Navigation items in a setup state. (35139)
  • Fix gap 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 navigation screen. (35234)
  • Truncate long menu names. (35188)
  • Insert Navigation Link blocks by default in Navigation block. (34899)
  • Migrate resolvers to thunks. (35044)

Full Site Editing

  • Remove extra styling around “Post content” placeholder. (35243)

Documentation

Handbook

  • Docs: Update testing overview with minor fixes. (35232)
  • Fix typos, grammar in contributors release doc. (35268)
  • Update nvm to latest 0.38.0 version in Handbook. (35125)
  • Adding example readme template to contributing guidelines. (34847)
  • Fix erroneous usage of the word master. (35392)

Packages

  • Add instructions for installing plugins/themes with wp-env. (35064)
  • MediaUpload: Reflect the correct filter name in the readme. (35240)
  • Update LinkControl documentation with additional examples. (35199)
  • Update doc block in block editor to fix documentation generation lint error. (35295)
  • Add missing doc blocks for the exported members of edit-widgets store. (35263)

Code Quality

Block Editor

  • Add colord package to block editor; Replace tinycolor2 with colord on duotone. (#34616), 346053516535164)
  • Migrate the toggleFeature action to a thunk. (35075)

Block Library

  • Migrate store actions to thunks. (35031)
  • Post Title Block: Fix argument numbering in ‘sprintf’. (35338)
  • Replace tinycolor2 with colord on block library package. (35184

Components

  • Refactor Navigator* folder structure, rename Navigator to NavigatorProvider. (35160)
  • Replace tinycolor2 with colord. (35185)
  • ToolsPanel component: Refactor to typescript. (34028)
  • UnitControl component: Refactor utils to TypeScript. (35138)
  • Do not export SimpleColorSwatch in Storybook examples for Item Group. (35179)
  • Refactor Navigator to TypeScript. (35214)

Global Styles

  • Simplify code that deals with user data for clarity. (35248)
  • Simplify how we register preset metadata. (35228)
  • Reorganize the global styles UI code base. (35218)
  • Don’t output preset classes for colors defined by the theme (35514)
  • Clean up logic to retrieve GS settings depending on context. (35437)

Post Editor

  • Keyboard Shortcuts: Use a new selector getter method. (35385)

Navigation Component

  • Refactor the preferences modal to use the new Navigator components. (35142)
  • Navigation Editor: Remove duplicated stripHTML. (35189)

Widgets Editor

  • Migrate edit-widgets store to thunks. (35110)

Tools

Build Tooling

  • Remove polyfills from view.js block scripts. (35038)

Testing

  • Add tests for Navigator*. (35163)
  • Enable flaky tests reporter bot in PRs. (35029)
  • Replace tinycolor2 with colord on getMostReadableColor util. Add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (34625)
  • Try fixing flaky navigation test. (35380)
  • Fix not archiving failure artifacts for flaky tests. (35379)

Plugins

  • Add oandregal and tellthemachines to codeowners file. (35233)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

VersionTime To Render The First BlockKeyPress Event (typing)
Gutenberg 11.73.7 s24.68 ms
Gutenberg 11.63.5 s25.88 ms
WordPress 5.84.0 s34.06 ms

Kudos to all the contributors that helped with the release. 👏

Thanks to @priethor, @matveb, and @javiarce for helping with the release!


Want to know more about recent Gutenberg releases? Check out the release post for Gutenberg 11.6!

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

Dev chat summary – October 13, 2021

@audrasjb led the chat on this agenda. You can also read the Slack logs.

Highlighted blogblog (versus network, site) posts

Bringing to your attention some interesting reads and some call for feedback and/or volunteers:

The proposal for a new Make/Performance team was well received by the meeting participants. Encouraging! Please add your feedback in the post comments.

Worth mentioning:

Thanks to the 30 contributors of the past week, including 3 new contributors! Kudos to the 5 coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committers of the week, too.

A Week in Core – October 11, 2021

Upcoming releases updates

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.(s)

Please note that 5.8.2 was deferred due to the lack of ready-to-ship tickets.

Reminder: @desrosj and @circlecube are co-leading the 5.8.x releases. The 5.8.x point releases are coordinated in the #5-8-release-leads 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. This channel is public and will be archived once 5.9 is released.

@sergeybiryukov proposed to also backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changeset [51883] (which is milestoned to 5.8.2) to older branches.

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.

Concerning the next major release —WordPress 5.9— a planning roundup was published some weeks ago.

@kjellr introduced the new bundled theme on Make/Core last week. The first Twenty Twenty-Two meeting was hosted on October 11, in the #core-themes Slack channel.

As usual, there is a public repository on GitHub so feel free to help testing the theme, and to contribute to this project.

The go/no go date for the main WP 5.9 features is October 14.

@audrasjb will run another 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 on Thursday October 14, 2021 at 20:00 UTC.

Reminder: everyone is welcome to run a bug scrub on the #core Slack channel. If you are interested, please read this handbook post: Leading bug scrubs and get in touch with @audrasjb or @francina for details.

Component maintainers updates

Upgrade/Install – @sergeybiryukov @afragen

Work has continued on addressing PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher timeouts or missing files during large 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 or theme updates. A couple of solutions were implemented so far, but it looks like the issue might not be fully resolved yet. Any testing and feedback welcome! See ticketticket Created for both bug reports and feature development on the bug tracker. #54166 for more details.

Also, @afragen made a few updates to the new move_dir() function based on @sergeybiryukov’s comments.

Help/About – @marybaum

Help/About: the component had a scrub Monday and is following up with another on @audrasjb will run another bug scrub on Monday October 18, 2021 at 19:00 UTC. So far two tickets are ready for commit action.

The #core-auto-updates team is still looking on getting a consensus on which approach to proceed with for #22316. Two competing PRs are proposed (1547 and 1724), there is a need to decide what is the best approach.

Open Floor

@johnjamesjacoby raised ticket #38231 and asked for another pair of eyes. @costdev pointed out some possible enhancements in the unit tests provided by the ticket.

@webcommsat shared that the Marketing Team is exploring how to help the Test Team reach extenders with the message to update their test suites to bring them in line with the latest WordPress Core PHP Test Suites.Everyone is welcome to join the collaboration in this document, and they are looking specifically for items to be filled in on the table on page 4 to 6.

#5-8-x, #5-9, #dev-chat, #summary, #twenty-twenty-two