Consistent minor release squad leaders for each major branch: Trial run retrospective and 5.8.x releases

During the 5.8 release cycle, a Release LeadRelease Lead The community member ultimately responsible for the Release. and Release Deputy was named for all 5.7.x releases in a trial run. The experiment was an attempt to address several pain points that made executing minor releases needlessly difficult. Each of the pain points of the minor release cycle were expanded in detail in the original post.

For the 5.7.x releases, @peterwilsoncc and @audrasjb were named as Release Lead and Release Deputy respectively. In the months between the 5.7 and 5.8 releases, they successfully planned and released 2 minor 5.7.x versions with an average of 4.5 weeks between each. The gap between the final minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. (5.7.2) and 5.8 was 9.7 weeks.

Feedback

In an effort to evaluate how this process went, they were asked for some answers to a handful of questions. Here is some collected feedback from @peterwilsoncc on how the process went.

What went well?

Generally I thought the experiment was successful and it was good to be able to concentrate (and only be expected to concentrate) on the minor releases rather than try to track both major and minor. More specifically:

  • Getting a few more people in the AEST timezone involved than usual helped with coordination.
  • Starting early my time for releases was good for the .1 version as it went longer than expected.
  • Probably should have asked for author rather than contributor permission on w.org/news so I could actually publish the posts I prepared.
  • Having scripts prepped a day in advance was great at reducing stress and allowed for dry-runs (excluding commit).

What went poorly?

  • Night owls or not, I don’t think it was great having me in APAC and @audrasjb in EU working as team leads, everything that was good about release times for me was exactly the reverse for @audrasjb (and @desrosj but to a lesser extent).
  • Better prep on the .1 release could have shortened the time for committing and moving on to the release party.
  • Needed to pull in a couple of people on the release day for the .1 release.
  • Finding someone with mission control access is not easy (especially in timezone). The list of those with permissions is really out of date, and some probably don’t need release permission any more.
  • I didn’t delegate some of the adminadmin (and super admin) stuff well and ended up doing a fair bit at the last minute as a result (on me for not asking).

What did you learn?

  • How to release 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/ packages, although doing so on my first production commits to the repository was a little brave.
  • Depending on the number of security backports, and how far back they need to go, release day for a minor can be busier than a major.
  • Process page in the handbook is quite out of date: updated a few steps after each of the two releases.

What support did you receive?

A lot.

  • @gziolo and @isabel_brison helped a great deal with getting the Gutenberg release process down, especially @gziolo by updating the undocumented steps as I asked questions.
  • @audrasjb, @desrosj and @whyisjake with release processes, both in advance and on the day.
  • Code review of shell scripts to attempt to speed up the process.
  • @dd32 with release day stuff, including catching quite a few things I was unaware of on the day.


What support could you have used?

Needed a lot more support from editor team with some planning tasks. The team was consumed with 5.8 and Full Site Editing, so they did not have much time to spare.

What were some responsibilities or tasks you had to take care of that you did not anticipate?

  • Expected I’d need to prep some release day scripts, but didn’t realize how many until I started doing them. Again, probably would have been helped by better delegation
  • Didn’t realize I’d need to do NPM releases at the start but figured it out well before the actual release

Anything else you feel is worth sharing?

Generally I think it went well and was successful.

Continuing the trial in 5.8.x releases

Because the experiment was generally successful, it will be repeated in 5.8.x releases. To reiterate the ideal criteria that was listed in the original proposal, the two contributors serving as release lead and release deputy will be responsible for:

  • Publishing timelines and plans for each minor release.
  • Executing these plans through release day.
  • Coordinating with the Security Team lead to improve the flow of fixes from the team to users.
  • Assembling and requesting help from other volunteers for each release as deemed necessary (docs, test, specific focus areas, etc.).

Ideally, one of these two contributors has a technical background (with the abilities to identify, confirm, test, and approve 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 and changes), and the other has a project manager or coordinator background (with the abilities to create release timelines, coordinate contributors, and help unblock efforts).

One additional (potentially optional) criteria would be that either the lead or deputy be a part of the previous 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.’s squad, or be very familiar with the changes that were introduced in that major release. This would further increase the speed at which the minor releases are able to fix related bugs, as they are already “up to speed” on the changes.

In recent years, the gap between major releases has been, on average, 3 to 5 months. If necessary, contributors can 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.) in and out of the role should circumstances change and it becomes necessary.

If you’re interested in volunteering as a Release Lead or Release Deputy for the 5.8.x releases, please comment below!

Props @peterwilsoncc and @audrasjb for their great work during the 5.7.1 and 5.7.2 releases, and @chanthaboune for pre-publish review.

#5-7, #5-8

CSS Chat Summary: 22 July 2021

The meeting took place here on Slack. @notlaura facilitated and @danfarrow wrote up these notes.

Housekeeping

  • No housekeeping items this week

Custom Properties (#49930)

  • @notlaura shared some background on the project for new participants and suggested another session of individual work time
  • @notlaura added a note to the trac ticket indicating who has “claimed” particular coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. CSSCSS Cascading Style Sheets. files

30 or so minutes later…

  • @Dave Ryan reported having made solid progress on login.css & finding some near-duplicate shades of blue, for which he added new custom properties. Work on colour unification can come later
  • @notlaura had a similar experience with shades of grey and agreed with the approach. @Dave Ryan added a note about it to the shared doc

CSS Link Share / Open Floor

Thanks everyone!

#core-css, #summary

CSS Chat Summary: 15 July 2021

The meeting took place here on Slack. @notlaura facilitated and @danfarrow wrote up these notes.

Housekeeping

  • @notlaura wondered how we could encourage participation at the chats, and get more help with the Custom Properties project. She suggested maybe some guidelines on how to get started contributing
  • @danfarrow offered to add some notes to the shared document
  • @notlaura also suggested a “Call for CSSCSS Cascading Style Sheets. contributors” Make post linking to the shared document and offered to work on writing that

Custom Properties (#49930)

  • @notlaura suggested spending some time working individually on the project which is something we’ve tried at previous meetings with great success

20 minutes later…

  • @notlaura used the time to write a draft of the previously mentioned Make post
  • @danfarrow started updating forms.css noting that some custom properties have a longer ancestry e.g. --wp-admin--button--text takes its value from --wp-admin--button-primary, which in turn takes its value from --wp-admin--theme--primary. He speculated that tooling could make it easier to traverse & understand this hierarchy

CSS Link Share / Open Floor

Thanks everyone!

#core-css, #summary

A Week in Core – July 26, 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 July 19 and July 26, 2021.

  • 24 commits
  • 23 contributors
  • 103 tickets created
  • 18 tickets reopened
  • 68 tickets closed

Please note that as expected, WordPress 5.8 was released last week, on Tuesday July 20, 2021 🌟

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

Build/Test Tools

  • Rename classes in phpunit/tests/widgets/ per the naming conventions – #53363
  • Rename classes in phpunit/tests/sitemaps/ per the naming conventions – #53363
  • Rename classes in phpunit/tests/blocks/ per the naming conventions – #53363
  • Move and fix incorrectly placed tests 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. supported styles – #53363
  • Use better assertions in WP_UnitTestCase_Base::assertEqualFields(): – #53363
  • Modernize the WP_UnitTestCase_Base::assertEqualFields() method: – #53363
  • Correct placement of the $message parameter in assertDiscardWhitespace()#53363
  • Add a $message parameter for custom assertions in WP_UnitTestCase_Base#53363
  • Correct class name for WP_Filesystem_Base::find_folder() tests – #53363
  • Update PHP_CodeSniffer to version 3.6.0 – #53477

Bundled Themes

  • Version Bump 2010, 2011 and 2012 – #53777
  • Bundled Themes: Use correct path for loading images in block patterns – #53769
  • Twenty Ten: Use correct path for loading block patterns – #53752

Media

  • Check the posts_per_page value in wp_ajax_query_attachments() before using it as a divisor – #53773
  • Media: Remove unused code from wp-admin/includes/media.php#53764

Documentation

  • Miscellaneous docblockdocblock (phpdoc, xref, inline docs) corrections and improvements – #53399
  • Add a comment about the $title global usage in various adminadmin (and super admin) files – #53729
  • Correct a comment about WebP constants in wp-includes/compat.php#53680

Help/About

  • Add / character to img and source tags – #53716

Internationalization

  • Fix broken 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. in WP_Theme_JSON_Resolver

Editor

  • Conditionally load registered styles for block variations – #53616

External Libraries

  • Correct the underscore version used when registering – #53713
  • Correct the jquery-form version used when registering – #53714
  • Correct the hoverIntent version used when registering – #53715

Props

Thanks to the 23 people who contributed to WordPress Core on Trac last week: @jrf (5), @audrasjb (4), @sabernhardt (3), @david.binda (3), @hellofromTonya (2), @aristath (2), @SergeyBiryukov (1), @schlessera (1), @TobiasBg (1), @ankitmaru (1), @radixweb (1), @rtm909 (1), @GaryJ (1), @dd32 (1), @ravipatel (1), @peterwilsoncc (1), @loranrendel (1), @ryelle (1), @rudlinkon (1), @youknowriad (1), @kapilpaul (1), @2linctools (1), and @johnbillion (1).

Congrats and welcome to our 5 new contributors of the week! @radixweb, @rtm909, @loranrendel, @rudlinkon, and @2linctools ♥️

Core committers: @sergeybiryukov (17), @desrosj (3), @gziolo (2), @peterwilsoncc (1), and @johnbillion (1).

#5-8, #week-in-core

Dev Chat Summary: July 21, 2021

@desroj led the weekly meeting at 20:00 UTC. Here is the meeting agenda.

Link to 20:00 UTC <dev-chat> in #core on Making WordPress Slack

Notable news and blogblog (versus network, site) posts

WordPress 5.8 was released yesterday(July 20, 2021)! The new release was downloaded 7.7 million times in a little over 24 hours.

What’s next in Gutenberg?

What’s new in Gutenberg 11.1.0?

Requests for Feedback

Component Team Updates

Build/Test Tools

  • Ongoing modernization of PHPUnit tests. #53363
  • PHP_CodeSniffer updated to 3.6 (with PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8 support) #53477

Auto-Updates

Themes

Open Floor

  • @desroj highlighted a bug in the Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site 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. that was requested to be prioritized in 5.9.
  • @chanthaboune raised a discussion about Making WordPress Slack — what we can/should use it for. Should #core be the default channel? Should some other 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 be created to greet new users (who may or may not have context entering Slack that it is mostly a working environment)? This was a lively discussion, please add more thoughts in the comments below!
  • While it’s been a fairly quiet (some might say too quiet) and smooth release, @chanthaboune encouraged the hosting (and greater) community to check-in with support folks and report back any trends. @johnbillion also noted a handful of tickets about Widgets have been opened related to “widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. customisation and logic plugins.”

Watch For

Interested in volunteering for upcoming WordPress releases? Please comment below and team reps will reach out!

Props to @dryanpress for taking these #summary notes!

#dev-chat

CSS Chat Agenda: July 22, 2021

This is the agenda for the upcoming CSSCSS Cascading Style Sheets. meeting scheduled for Thursday July 22 at 21:00PM UTC.

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

  • Housekeeping
  • Custom Properties (#49930)
    • Discussion as needed
    • Work time
  • Open Floor + CSS Link Share

If there’s any topic you’d like to discuss, please leave a comment below!

#agenda, #core-css

Editor chat summary: 21 July, 2021

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, July 21, 2021, 02:00PM UTC on Slack. Moderated by @andraganescu.

Announcements

Monthly Priorities & Key Project Updates

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. based WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor

As the project has landed in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., there is now a new tracking issue set up for things identified by the community as great follow up work to improve on it.

Mobile Team

  • Shipping: Block picker search and first iteration of the embed block will be shipping in the next release.
  • In Progress: Scoping the next phase of Global Style Support work focusing on text-related styles.

Task Coordination

@ntsekouras

  • Landed SegmentedControl (PR: 31937)
  • I’m working on porting some more components from g2 and will make explorations for more layout integrations. Related Riad’s PR (PR: 33359)

@torounit

  • I am working on refactoring HierarchicalTermSelector (PR: 33418)

@zieladam

@mamaduka

  • Started refactoring FlatTermSelector into a functional component and utilize core data module for fetching terms.
  • While working on this discovered a few minor issues with the “Most Used Terms” component, which should be fixed now.
  • Also, now users with author roles should be able to set featured images uploaded by other users.

@aristath

  • Autogenerate headings anchors – PR: 30825.
  • Allow enqueing multiple stylesheets per-block – PR: 32510.

@getdave

  • I improved the build tooling by automatically grouping changelog items by feature when it is build on CI PR: 33229.

@ajlende

  • Cropping for the site logo needs reviewers PR: 31607.
  • Working on duotone enhancements we can discuss more during open floor PR: 33466.
  • Related 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. fix for cover block spacing ui PR: 33560.

Open Floor

A test file was added to WP Core in 5.6.0, but added incorrectly, which means that the tests effectively were never run. I’m trying to fix that, but am now finding that 7 out of the 20 tests are failing. Raised by @jrf

We need someone with good knowledge of global styles to help figuring out if the test’s problem is on the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher or JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. side of the global styles.

@torounit surfaced issue 33589

This is probably a bug introduced by the recent work on the “select all” behavior in the block editor.

@ntsekouras surfaced a problem in PR: 1483 – It seems there will be the need for WP version check in patterns

The problem lies that patterns can have blocks with shape that is not supported in a WP version, but themes are also checked against WP version that are compatible. This isn’t the same WP version usually.

@ajlende asked if more people think it might be beneficial to have a system to that allow block supports to detect placeholder state.

General support for the idea was offered.

@mikeschroder raised PR: 32516 and asked if this direction is a good approach.

Looking forward for feedback from folks who know the rich-text package and can provide advice. Does that seem along the right lines for a fix?

#core-editor, #core-editor-summary

What’s next in Gutenberg? Site Editing status check (Late July-August 2021)

WordPress 5.8 is already here, an exciting release marked by the inclusion of many Full Site Editing features that have been big-picture focuses in recent times. Because of this important achievement, in contrast to normal monthly updates, this post seeks to review the status of Full Site Editing and summarize the next high-level focuses within 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/ Phase 2.


Full Site Editing is the lighthouse goal for phase 2 of Gutenberg. As such, it’s good to remember it is a collection of projects that allow site editing with blocks, bringing powerful capabilities for a smooth editing experience.

WordPress 5.8 includes some of these Full Site Editing projects and features; while some of them will continue as ongoing focuses for subsequent Gutenberg releases (⚒️), others can be considered stable and enter a maintenance phase (✅)

Without further ado, let’s look at the current status of the milestones that have guided Full Site Editing work in the last months and the updated scope for Site Editing.

Site Editing Infrastructure and UIUI User interface

The Site Editing Infrastructure and UI provide foundational work for the rest of FSE projects, mainly in the Site/Template Editor, Template parts, and the numerous APIs that support work around Full Site Editing.

The first two iterations of the site editor milestone introduced editing 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 all their template files. The ongoing third one offers the possibility of creating custom block templates in classic themes and is available in WordPress 5.8 for those themes that opt-in to the site editing experience. Work will continue to finalize the Site Editor naming and placement: the current Site Editor as we know it in the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party may evolve for better navigation flows and interactions.

Thanks to feedback from different FSE Outreach Program testing rounds, the next focus for site experience and tooling improvement include:

Overview Issues: ✅ Part 1, ✅ Part 2, ⚒️ Part 3

Global Styles

Global Styles comprises two major areas that fall underneath the global styles umbrella: centralized theme configuration and an interface for manipulating visual aspects of blocks globally.

Theme configuration absorbs things like declaring color palettes, presets, different supports and settings, and toggle on or off the available block design tools (typography, colors, dimensions, etc.). All of this can be managed through 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. configuration file and is one of the key features available in WordPress 5.8. After a few iterations and open testing, this feature is considered stable and moved to a maintenance phase.

The other major part of global styles is the user interface to make edits to blocks globally. With theme.json in place, the next release cycle will have the Global Styles UI as one of its main focuses, allowing users to tweak the theme easily. Color handling will be an important focus, not only to better theme switch but also to seamlessly integrate color palettes with patterns.

⚒️ Global Styles Overview Issue

Theme Blocks

To support the theme building needs outside of the template and template parts infrastructure, there was a need to create many new blocks centered around theme functions. WordPress 5.8 brings several of these blocks, from Site Title, Site Tagline, and Site Logo that allow users to configure site settings with blocks, to the post-related blocks such as Post Title and Post Date, to be used inside a 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. to display post data.

Although new theme blocks may be added as the need arises and the existing ones will receive incremental upgrades, the basics of this milestone are complete.

Theme blocks Overview Issue

Query Loop Block

Among the theme blocks, the Query Loop Block has been a significant area of the site editing focus in the past months, deserving its own milestone. Taking some of the block 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. infrastructures to the limit, such a powerful block has proven challenging to expose at a user level. As a result of the feedback collected in the FSE Outreach Program, the block has been renamed to clear confusion, and usability enhancements have been implemented before launching it in WordPress 5.8.

With the Query Loop foundations in place, the next iterations will seek to ease the user interactions and flows, even more, thanks to two fundamental Gutenberg tools – block patterns and block variations. The former will continue to help set the inner block structure and content. In contrast, the latter will present the powerful Query Loop’s features in the form of preconfigured blocks and consolidate similar blocks to use the Query Loop Block as their underlying mechanism.

Query Loop Block Overview Issue

Navigation Block

Along with the Query Loop Block, the Navigation Block is another theme block that stands out as a project in its own right. This block has seen great improvements in the last few months, from improved overlays to responsive menus. New blocks are available as well, such as the Home Link block. Shortly, we will see the Navigation block house whole new kinds of blocks thanks to the recent frontend markup adjustments that allow blocks other than links in an accessible way.

Because of its key role in building rich theme blocks, the Navigation Block will be one primary focus during the next WordPress release cycle. Apart from more blocks being available inside the Navigation Block, customization options – such as configuring dropdown behavior or adding fullscreen variants – are an area that seeks improvement. These customizations should be design-driven due to the multiple layouts nested navigation menus can have.

⚒️ Navigation Block Tracking Issue

Site Editing Gradual adoption

Full Site Editing represents a new paradigm in site and theme building in the well-established WordPress ecosystem, and as such, providing the right tools is key to gradual adoption. Tools like the Widgets Editor and Navigation Editor bring block editing capabilities to traditional features that can’t take full advantage of their native block counterpart implementation.

WordPress 5.8 brings the power of blocks to both the Block Widgets Editor and the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.. Users will be able to add blocks in widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. areas, add widgets and blocks with live preview, and schedule and share directly from the Customizer.

Because blocks can now be added to widget areas, developers are encouraged to phase out their widgets in favor of blocks, which are more intuitive and can be used in more places. Developers can allow users to easily migrate a Legacy Widget block containing a specific widget to a block or multiple blocks. 

On the other hand, the Navigation Editor has also seen its share of iterative improvements in the last months. Together with the Navigation Block, it will remain an ongoing focus for the next WordPress release cycle.

Widgets Editor Tracking Issue

⚒️ Navigation Editor Tracking Issue

Smoothing block interactions

As mentioned with regards to Query and Navigation blocks, the complexity of the editor increases as site editing capabilities are introduced with advanced block structures and customization options. This highlights the need to expand our APIs and interactions — which are well suited for simple block structures — to better support container blocks.

To address some of this, the List View introduced in Gutenberg 10.7, and WordPress 5.8 aims to help navigate these advanced structures more efficiently and should continue evolving further in the future. Internally, the List View is powered by a component available in the post editor List View and advanced blocks like Navigation; all features and blocks having a list of blocks will benefit from the improvements made to this component.

Another challenging editing experience with the increased number of container and inner blocks is adjusting parent block settings when editing a child block.  Users often need to switch between different child and parent blocks to change settings like layout or positioning. In turn, it is necessary to explore Toolbar absorption mechanisms that allow parent blocks to expose their toolbar on their children.

Patterns everywhere

At this stage, it is no secret that block patterns represent considerable potential for users to add many blocks with different preset layouts and settings easily. By using patterns, users don’t need to individually add blocks to achieve rich representations in headers, columns, or Query blocks, as patterns act as a jumpstart blueprint that can be tweaked and adjusted to the user’s needs. 

An example of the improved interaction block patterns is demonstrated by the Query block, which allows users to select block patterns in its placeholder state. This is just the tip of the iceberg in terms of the ways patterns can leverage the editing experience, and as such, efforts will continue improving pattern insertion capabilities.

Thanks to the recently released Block Pattern Directory, patterns can be copied and pasted into the block editor; upcoming Gutenberg iterations will connect and retrieve patterns from this directory, allowing users to choose from huge amounts of beautiful patterns without leaving the editor. Both to ease navigating the big number of patterns users will be able to choose from and accommodate increased pattern complexity and richness, such as in Query or HeaderHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. patterns, revisiting the pattern insertion UI will be an ongoing focus in the months to come.

 ⚒️ Pattern Insertion Tracking Issue

Design Tools

Several design tools are needed to ​​ensure a wide range of exquisitely crafted patterns can support powerful settings and rich block customizations. These encompass all tools related to the appearance of blocks and range from colors, typography, alignments, and positioning to filters like duotone, cropping, and background media and will need to integrate seamlessly with theme.json mechanics.

Going further, controls like font size, even if exposed as single values to users in the UI, are built behind the scenes to accommodate different viewport ranges. Apart from providing access to the underlying mechanisms through theme.json, responsive-previewing and device-specific editing will be necessary to support this.

To support the ever-increasing number of tools, the 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 secondary in some regards to the block canvas and toolbar, will need to accommodate many of these tools, whereas the Component System will provide a shared design language between all these controls.

⚒️ Design Tools Overview Issue


How to follow along with Gutenberg

Here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project. There is also an index page of Gutenberg development-related posts and an updated Site Editing overview issue that breaks down the upcoming work into more concrete next steps.

Ways to Get Involved

While the above items are our focuses, don’t forget that you can always help with triage, testing issues, good first issues, and reviewing PRs. In particular, if you’re interested in helping with triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. but don’t know where to start, there’s a course on Learn WordPress for how to do triage on GitHub! Check it out and join us.

Hearing your feedback is crucial to drive upcoming priorities and iterate on our work, so you are more than welcome to join our Full Site Editing Outreach Program!

If there’s anything we can do to make contributing easier, let us know in the comments or #core-editor chats. While we can’t promise to fix everything, we’d appreciate being aware of any blockers.


Props to @javiarce for creating the images, and to @cbringmann and @mcsf for reviewing the post.

#core-editor #gutenberg-next #gutenberg #full-site-editing

A Week in Core – July 19, 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 July 12 and July 19, 2021.

  • 37 commits
  • 35 contributors
  • 53 tickets created
  • 15 tickets reopened
  • 51 tickets closed

Please note that WordPress 5.8 will be released tomorrow on Tuesday July 20, 2021 🌟

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

Application Passwords

  • Improve various user-facing and developer-facing terminology – #53503, #53691

Build/Test Tools

  • Update the caniuse browser data and regenerate CSSCSS Cascading Style Sheets.#53277
  • Clean up skipping conditions and requirements for various tests – #53009
  • Correct the test for autosaving a post with Ajax – #53363
  • Replace assertContains() with assertStringContainsString() when used with strings – #53363, #46149
  • Require the WP_REST_Test_Controller class in WP_REST_Controller tests – #53363
  • Reset $current_screen global between tests to avoid cross-test interdependencies – #53431
  • Use more appropriate assertions in rest_sanitize_request_arg() tests – #53363
  • Use more appropriate assertions in various tests – #53123, #53363
  • Use more appropriate assertions in various tests – #53363
  • Use more appropriate assertions in various tests – #53363
  • Use more appropriate assertions in various tests – #53363
  • Use more appropriate assertions in various tests – #53363
  • Use more appropriate assertions in various tests – #53363
  • Use more appropriate assertions in various tests – #53363
  • Use more appropriate assertions in various tests – #53363

Bundled Themes

  • Revert the [51372] update to 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. patterns in bundled themes – #53617

Coding Standards

CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

  • Don’t always set normalizedTransitionendEventName to null#53562

Documentation

  • Correct documentation for wp_get_post_parent_id()#53399
  • Synchronize the $post_id argument description for some post and attachment functions – #53399
  • Various documentation fixes following [51129]#44314

Editor

  • Second round of package updates ahead of RC3
  • 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. fixes targetted for WordPress 5.8 RC4 – #53397
  • Include the fixes targetted for WordPress 5.8 RC3 – #53397

Help/About

  • Update the About page for 5.8 – #52775
  • Update the About section for 5.8 – #52775

Media

  • Document edge cases with the new image_editor_output_format 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.#5366, #53668, #35725
  • Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in Media Library when infinite scroll enabled – #53672
  • When resizing WebP images set the compression to “lossy” by default. Fixes a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. where the compression was set to “lossless” when the uploaded WebP images have extended file format (VP8X) – #53653

Privacy

  • Ensure the copy button actually copies the suggested privacy policy text – #53652, #52891

Upgrade/Install

  • Add additional files to $_old_files for 5.8 – #53367

Widgets

  • Prevent widgets unintentionally being moved to the inactive 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.#53657
  • Replace wp.editor references in the legacy text widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.#53437
  • Use wp_sidebar_description() to retrieve a sidebar’s description#53646
  • Validate HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. before saving block widgets

Props

Thanks to the 35 people who contributed to WordPress Core on Trac last week: @desrosj (6), @SergeyBiryukov (4), @jrf (3), @peterwilsoncc (3), @hellofromTonya (3), @adamsilverstein (2), @javiarce (2), @talldanwp (2), @zieladam (2), @timothyblynjacobs (2), @mikeschroder (2), @antpb (1), @denisco (1), @milana_cap (1), @karmatosed (1), @audrasjb (1), @nao (1), @kevin940726 (1), @noisysocks (1), @jorbin (1), @johnbillion (1), @mukesh27 (1), @kapilpaul (1), @youknowriad (1), @ianmjones (1), @mcsf (1), @get_dave (1), @ellatrix (1), @walbo (1), @dd32 (1), @htmgarcia (1), @linux4me2 (1), @mmxxi (1), @wildworks (1), and @spacedmonkey (1).

Congrats and welcome to our 3 new contributors of the week! @htmgarcia, @linux4me2, and @mmxxi ♥️

Core committers: @sergeybiryukov (16), @desrosj (12), @youknowriad (2), @ryelle (2), @johnbillion (1), @joedolson (1), @azaozz (1), @mikeschroder (1), and @peterwilsoncc (1).

#5-8, #week-in-core

WordPress 5.8 Release Candidate 4

In preparation for the final release of WordPress 5.8 on July 20, 2021, an RC 4 has been packaged and released to fix some late-discovered blocking issues. The following changes have been made since RC 3:

  • 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. Editor: 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. fixes targeted for WordPress 5.8 RC4 ([51445] for #53397).
  • Media: When resizing, WebP images set the compression to “lossy” by default. It Fixes a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. where the compression was set to “lossless” when the uploaded WebP images have extended file format (VP8X) ([51437] for #53653).
  • Media: Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in Media Library when infinite scroll enabled ([51441] for #53672).
  • Media: Document edge cases with the new image_editor_output_format 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. ([51444] for #53667, #53668, #35725).
  • Privacy: Ensure the copy button actually copies the suggested privacy policy text ([51433] for #53652).
  • Widgets: Prevent widgets unintentionally being moved to the inactive 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. ([51439] for #53657).
Continue reading

#5-8