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

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

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