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

Editor chat summary: 13 October, 2021

This post summarizes the weekly editor chat meeting (agenda here) held in Slack. Moderated by @annezazu.

Announcements

  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 11.7 is set to be released today with some wrangling around any critical bug fixes
  • It’s the last day to explore the current #fse-outreach-experiment call for testing. Share your feedback here!
  • The WordPress 5.9 Go/no go is coming up tomorrow. Stay tuned for more insights after that completes. 
  • Share your full site editing related questions by October 27th!
  • Check out this post to get a peak of the future from @critterverse on design explorations 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. theme switching.

Monthly Priorities & Key Project Updates

The overarching plan for October has not yet been shipped yet so we based today’s conversation on the Mid September Plan. As a reminder to those working on these projects, async updates are both welcomed if you can’t make the meeting and needed.

Mobile Team

Shipped

  • Use theme colors in htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. mode

Fixes

  • Small fixes for embed block and help screen

In Progress

  • Embed block improvements
  • GSS Font size, line height, colors

Navigation Block & Navigation Editor

The crew working on these projects had a hallway hangout today to chat through the state of their work. There is a longer takeaway here from @spacedmonkey until notes are posted but for now, here’s a TLDR: Focus is on the navigation block / experience in FSE and the nav editor is blocked until the block lands.

Template editor

In 11.7, there are two changes impacting this general area of work:

Patterns

A PR landed for 11.8 that changes the initial patterns shown to be from a featured list of patterns from the directory rather than an underwhelming alphabetical order. This should really help folks see the power of patterns more readily!

Styling

Shipping:

 In Progress:

Task Coordination

Feel free to add items to this post if you weren’t able to make the meeting. As a reminder, never be shy in sharing what you’re working on! It can sometimes be intimidating to see sponsored contributors share all they are doing but remember it all counts and is so appreciated.

@mamaduka

  • I’m continuing exploration for remaining individual block locking items. Some decisions are needed before I can start building UIUI User interface, and I would appreciate your feedback.
  • I created a small PR to hide the “Move to” option when the block is locked.
  • I will try address Andre’s feedback re parent/child theme.json merging feature this week.
  • Also created PR to correctly use data for customTemplates from the 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.

@annezazu

@colorful-tones

@mciampini

  • I will continue supporting folks working on WordPress components.
  • This week in particular, I believe we’re going to focus on improving  the ColorPickerFontSizePickerToggleGroupControl  any other control components used in 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., while coordinating the adoption of ToolsPanel in the Typography Tools

@jffng

  • I’ve been working on this PR that adds a Pattern block — giving themes a way to translate strings that appear inside block templates.
  • Keeping an eye on this overview issue in Twenty Twenty-Two where we’re tracking some issues which would really help the next default theme

Open Floor

Lovely kudos to the team. Shared by Steve Dwire.

Just want to give a big thank you to everyone contributing so much.  I’m finally getting back to theme development after years of neglect, and most of my to-do list is already being addressed by coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team.  THANK YOU!

Please help review this PR that would move an API from experimental to stable. Raised by @fabiankaegy.

As noted by Fabian, this PR touches many areas and would be a huge win 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 developers, particularly because it would make building custom blocks with inner blocks so much easier.

Next step: @annezazu will follow up to see if we can get a review in place or figure out what the priority is.

How can we liven up these open floor moments and use the GitHub Discussions section better? Raised by @annezazu.

For a while now, the open floor section of the meeting has been fairly quiet/uneventful, which feels a bit like a missed opportunity to connect and share ideas. We chatted about both re-sharing interesting discussions from the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Discussions section in the meeting and having a nice interplay where perhaps a discussion from Core Editor ends up there to continue async. Many folks don’t check that part of GitHub right now so it might help bring larger attention and use there. If other folks have ideas/suggestions, do share in future meeting since this seems to be a longstanding pattern.

On hallway hangouts, a PR ahead of 5.9, and speaking at WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Italia. Raised by @overclokk.

The topic of language barriers with hallway hangouts was brought up as not everyone is comfortable speaking in English but might still want to join hallway hangouts. This was a great chance to share that hallway hangouts don’t require speaking – you can join, listen in, and leave whenever you want. At the same time though, it would be neat to see them done in other languages and to have folks join who aren’t as comfortable with English in order to give feedback about how we can make them more inclusive.

From there, we chatted briefly about an issue raised that impacts block themes and that is important to review ahead of 5.9. Finally, we all sent good vibes and luck to @overclokk ahead of his FSE presentation!

Help review the Autogenerate heading anchors PR. Raised by @paaljoachim.

This PR impacts larger work around a table-of-contents block so it would be lovely to continue to move this forward.

#core-editor, #core-editor-summary

Submit Full Site Editing questions by Oct 27th

With the Go/No Go session happening this week ahead of WordPress 5.9’s release in December 2021, let’s use this time to dig into any general questions you all might have around Full Site Editing! As it’s possible, please focus questions specifically around WordPress 5.9 as those will be the most high impact to address and not on larger strategic decisions. You are welcome to submit questions using the form below or to leave them as a comment on this post by October 27th:  

Keep in mind that because, depending on the questions it’s likely that some answers might take the form of “people are working to figure this out and feedback is welcome here,” rather than a definitive answer. This is especially true for features/milestones that are planned for future releases. 

When and where will you share the answers? 

I’ll share a recap post on this blogblog (versus network, site) (Make CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.) as soon as I possibly can and aim to do so no later than November 1st, 2021. If there are a ton of questions, they will be grouped with corresponding answers for easy review. You can see what the outcome will look like based on the first round and second round. I will work in the open as I go in a collaborative Google doc that will be shared in #fse-outreach-experiment for anyone who wants to collaborate or check in on the work. 

Once the post is published, I will follow up via email with everyone who left their email and a question in the form. For anyone who leaves a question as a comment on this post, I will @ your username in the recap post so you don’t miss out too!

What else will this effort help with?

While the main outcome will be a lovely list of answers to grow community knowledge, this collective effort will also be useful for future documentation updates, potential tutorials, hallway hangout topics, and more.

For more information about the FSE outreach program, please review this FAQ for helpful details. To properly join the fun, please head to #fse-outreach-experiment in Make Slack for future testing announcements, helpful posts, and more will be shared there.

#core-editor, #fse-answers, #fse-outreach-program, #full-site-editing

CSS Chat Summary: 07 October 2021

The meeting took place here on Slack. Thanks to @dryanpress for stepping in to facilitate at the last minute! @danfarrow wrote up these notes.

Housekeeping

CSSCSS Cascading Style Sheets. Custom Properties (#49930)

  • @dryanpress reported that @circlecube has updated comments on his PRs and has been pinged about outstanding merge conflicts
  • @dryanpress is working on .customize-controls.css, continuing @robertg’s extensive work on this 3000 line file
  • @wazeter and @dryanpress reflected on the Custom Property project’s ongoing achievements, made possible by the many generous contributors
  • @dryanpress restated some points from last week’s meeting:
    • custom-properties.css needs organising and the addition of a table of contents
    • box-shadow declarations should be put into custom property
    • This is still the first-pass – there will be further consolidation of the custom-properties

Open Floor / CSS Link Share

Post-meeting chat!

Thanks everybody!

#core-css, #summary

Dev Chat Agenda for October 13, 2021

Here is the agenda for this week’s developer meeting to occur on October 13, 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

  • Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: WP 5.9
    👉 WordPress 5.9 Planning Roundup
    👉 Introducing Twenty Twenty-Two

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

Proposal for a Performance team

We (the undersigned) believe that WordPress needs an official Performance team responsible for coordinating efforts to increase the performance (speed) of WordPress.

This proposal outlines why we believe that this is necessary, how we envision such a team might function, and some potential initial areas of focus. It is authored by contributors from Yoast and Google.

What problems are we trying to solve?

Users expect and prefer fast experiences (consciously or otherwise). Research shows that fast websites can provide a better user experience, increase engagement, benefit SEO, increase conversion, and be more economically and ecologically friendly.

References:

The benefits of improving performance driving investment across the web [ref]. This further raises users’ expectations, and thus may comparatively ‘harm’ slow(er) things.

Compared to other platforms (e.g., Wix, Shopify, Squarespace), WordPress is falling behind. Other platforms are on average faster – and becoming increasingly faster – than WordPress websites (see The HTTP Archive’s Core Web Vitals report), and are actively investing in (and marketing) coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. performance-as-a-feature [1, 2].

We can see the impact of this investment in the widening gap between the proportion of WordPress sites which achieve ‘good’ Core Web Vitals scores, vs other platforms.

Performance graph for CMSs on desktop clients.
Performance graph for CMSs on mobile clients.

This gap continues to widen, despite the availability of many performance plugins and performance-focused themes. This suggests that there’s a discovery and/or education problem, or an updating/staleness problem – neither of which the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party ecosystem solves for. 

In order to meet the increasing needs and expectations of site owners and end-users, WordPress needs to be actively investing in performance in WordPress Core and beyond (e.g., core code, themes & plugins requirements, setup and onboarding processes, adminadmin (and super admin)/editing experiences, education for content creators).

We believe that:

  • Performance is a fundamental part of user experience, and WordPress should aim to deliver a good user experience.
  • Achieving reasonable performance levels shouldn’t be plugin territory, but part of core (aka, “performance by default”), because;
    • All WordPress users (of all types) need a well lit path to good performance.
    • Average end-users can’t be expected to be performance experts.
    • Achieving high levels of performance requires technical considerations to be ‘built-in’ across the whole stack; and as this is often not the case with themes/plugins, performance solutions are limited to ‘brute-forcing’ performance solutions over non-performant behaviour (e.g., output buffering).
    • The plugin ecosystem doesn’t help users who don’t know that they need help, or who are poorly served by the plugin ecosystem.
  • Users determining which CMS to choose are / will be increasingly influenced by performance (and the associated UXUX User experience/SEO/conversion factors), and we’ll lose ground to faster platforms.
  • ‘Democratizing publishing’ requires that published content be discoverable; which will be less likely to occur via search engines (which influence or account for the majority of new content discovery) for slow(er) sites.

Web Vitals metrics provide a standardized and accepted mechanism for evaluating performance.

Plugin territory

Whilst we argue that some (perhaps most) performance considerations should be part of core, there are definitely areas that should remain firmly in ‘plugin territory’. For example, the following areas should be handled by plugins:

  • Integrations with specific CDNs
  • Template transformation processes (e.g., AMP)
  • Any non-standardized performance technology
  • Any experimental standards (e.g., browser APIs / capabilities with limited adoption)

These distinctions will need exploring and lines will need drawing (and maintaining) as part of the team’s activity.

Why a team?

Performance is already a focus in Trac and a label in the Gutenberg GitHub repository; but these alone don’t attract enough attention to the issues, nor unify efforts and priorities. Experienced and active contributors are not necessarily performance experts.

A team gives more visibility to the effort: contributors that are not interested in working on Core as a whole can be attracted by working on performance specifically. It also opens up contributing to new types of contributors, like performance or data analysts.

A performance team could also attract contributions from different groups; browsers, hosting, SEO companies, etc.

Resources and efforts

In practical terms, the creation of a performance team requires the following:

  • A performance 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.) on Make websites
  • A performance channel 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/.
  • A meeting every two weeks; time to be determined
  • Two team representatives for administrative purposes: they will be responsible for: 
    • Giving a quarterly report to the project leadership
    • Assigning roles in the website
  • A team lead/product owner. They will be responsible to create a mission statement for the team, highlight the areas to tackle, outline the scope and the roadmap for the improvements that need to be made.
  • Representation in (and influence on) other Make verticals and processes (e.g., themes, plugins, etc)

Next steps

Next steps should be discussed and determined as part of the process of exploring and responding to this proposal.

In the case that there are no objections, the next major steps are likely to be:

  • Set up Slack channel and meeting schedule, and make.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ infrastructure.
  • Benchmark performance and define ongoing/future measurement & success criteria
  • Identify priority projects for CWV improvements with high-level timelines
  • Assign responsibilities for the projects identified

Props

Thanks to the following for this involvement in outlining this proposal.

@francina, @adamsilverstein, @tweetythierry, @joostdevalk, @jonoaldersonwp, @flixos90, @aristath (in no particular order)

#performance, #proposal, #team

A Week in Core – October 11, 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 4 and October 11, 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 🛠

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

Code changes

Administration

  • Allow 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 action links row to wrap – #53275

Build/Test Tools

  • Change the 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. version used for testing the 5.6 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". of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher#54223

Bundled Themes

  • Twenty Twenty-One: Remove duplicate width and height values from social icons – #54208

Coding Standards

  • Use strict type check for in_array() in register_block_script_handle()#54206, #53359

Docs

  • Add a @since note for the new $parent_block parameter of several filters – #51612
  • Improve various inline documentation for adminadmin (and super admin) bar functions and 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.#53399
  • Miscellaneous inline documentation improvements, including: – #53399

Editor

  • Apply the pre_render_block, render_block_data, and render_block_context filters when rendering inner/nested blocks – #51612

External Libraries

  • Revert [51900] for now to investigate test failures – #54162
  • Update getID3 to version 1.9.21 – #54162
  • Update jQuery UIUI User interface to 1.13.0 final – #52163

Permalinks

  • Move the NginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. documentation link to help 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. in wp-admin/options-permalink.php#39258

Privacy

  • 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): Use red color for action buttons on the Erase Personal Data screen: – #49603

Site Health

  • Use an integer value as a fallback in the available disk space check – #51857

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.

  • Populate the WP_Terms_List_Table::$items property in ::prepare_items()#54181

Upgrade/Install

Props

Thanks to the 30 people who contributed to WordPress Core on Trac last week: @audrasjb (4), @SergeyBiryukov (4), @azaozz (3), @mukesh27 (2), @sabernhardt (2), @hellofromTonya (2), @Clorith (2), @noisysocks (2), @peterwilsoncc (2), @aristath (2), @sergeybiryukov (2), @joedolson (1), @carike (1), @arena (1), @desrosj (1), @timlappe (1), @johnjamesjacoby (1), @jrf (1), @gaambo (1), @Presskopp (1), @laxman-prajapati (1), @max-dayala (1), @swissspidy (1), @mattoakley (1), @mgol (1), @TobiasBg (1), @pbiron (1), @galbaras (1), @afragen (1), and @ankit-k-gupta (1).

Congrats and welcome to our 3 new contributors of the week: @timlappe, @max-dayala, @mattoakley ♥️

Core committers: @sergeybiryukov (8), @hellofromtonya (3), @azaozz (2), @johnbillion (2), and @desrosj (1).

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