Dev chat summary – September 22, 2021

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

Highlighted blogblog (versus network, site) posts

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

Worth mentioning:

Thanks to the 42 contributors of the past week, including 7 new contributors! Kudos to the 4 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 – September 20, 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)

@desrosj and @circlecube are still leading the 5.8.x releases.

They will publish a schedule for 5.8.2 and –if needed– 5.8.3 on September 23.

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 a couple weeks ago.

Worth noting that @chanthaboune proposed a review of the upcoming 5.9 key features in the last issue of the WordPress.org podcast.

@audrasjb proposed to start to schedule 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. scrubs for the milestone. He will run the first scrub of 5.9 on Thursday September 23, 2019 at 20:00 UTC.

Reminder: everyone is welcome to run a bug scrub on the #core 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. If you are interested, please read this handbook post: Leading bug scrubs. And yes, that’s a call for volunteers 🙂 Please add a comment below if you want to help.

For 5.9, @hellofromtonya pointed out that it would be nice to try to also plan some APAC-friendly bug scrubs when possible.

Component maintainers updates

Help/About@marybaum

Build/Test Tools@sergeybiryukov

  • Some changes were implemented to make the PHPUnit Polyfills loading more flexible and improve the related messaging. See changesets 51810-51813 and ticketticket Created for both bug reports and feature development on the bug tracker. #46149 for more details.
  • The PHPUnit Polyfills package and related test infrastructure changes are now backported to a few older branches (WP 5.8 to 5.2). This makes it easier for developers to continue testing on multiple versions of WordPress while adding tests for newer versions of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher, which require more modern PHPUnit practices. See changesets 51838-51840, 51843-51846 and ticket #53911 for more details.
  • Work is now complete on Modernizing to the Latest PHPUnit version. Dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. is being reviewed and plan is to publish on Monday.
  • PHP 8.1: work is nearly complete, i.e. identified through tests. Will be shifting shortly into community feedback and open call for contributions to identify and help fix compatibility issues.

General@sergeybiryukov and @hellofromtonya

Internationalization@sergeybiryukov

  • A translator comment was added to clarify the “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. HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.” string in the Block 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. settings form. This should reduce confusion for Polyglots translating the string.

Toolbar@sabernhardt

  • @sabernhardt shared a draft of a Toolbar component update post (it’s also available in a Google doc if you want to add comments that way)

Open Floor

From @hellofromtonya: If you want to contribute to the Testing Team, here’s this week’s edition of Week in Test which is a curated list of where testers (of any skillset) are needed this week.

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

Core Editor Improvement: Introducing the Widget Group Block

While the Block Widgets Editor was released with WordPress 5.8, the work to improve the experience hasn’t stopped to help even more folks use blocks to build out 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 in an endless number of ways. The latest in a series of improvements comes with the launch of Gutenberg 11.5 that introduces a Widget Group block. This new 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. replicates the familiar experience of being able to add a title to a group of blocks and allows you to group any block, making it easier to move and layout content however you’d like. This both helps with compatibility for older themes when migrating over to the new editor and enables a more cohesive experience for building out widget areas.

For example, before this update, it was tricky to get the spacing right for adding a 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. above another set of blocks. Now, you can do that with ease:

Video showing how to use the Widget Group Block.

This also makes it a breeze to move collections of blocks into new widget areas: 

Video showing how you can drag and drop a collection of blocks within the Widget Group Block.

As always, you can also make these changes in 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.! For more general information about the Block Widgets Editor, check out the Dev note and the user documentation. To get involved in this work, head to #feature-widgets-block-editor and explore the GitHub tracking project to see what’s next. 

Props to @critterverse for the lovely videos! #core-editor, #core-editor-improvement, #feature-widgets-block-editor

Dev Chat Agenda for Sept 22, 2021

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

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 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.: WP 5.8.2
  • 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

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-8-2, #5-9, #agenda, #core, #dev-chat

CSS Chat Summary: 16 September 2021

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

CSSCSS Cascading Style Sheets. Custom Properties (#49930)

  • @dryanpress shared the working document and the trac ticket, for anybody new to the project
  • All coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. CSS files have now been claimed, and are either in progress or have a PR, however @dryanpress reminded us that if anyone has claimed a file and can no longer work on it please do let us know
  • The next step is reviewing and merging PRs. Help is very welcome if anybody is up for “trying out a PR and making sure the colors still look correct (or correct enough, where maybe we made changes)
  • @dryanpress raised the topic of skinning adminadmin (and super admin) colour schemes, as there are some custom properties for body.admin-color-ectoplasm already in custom-properties.css. We would probably create a couple of colour schemes at a later stage, for testing & demonstration purposes
  • @dryanpress outlined the final todo list for the project:
    • Merge all remaining files
    • Look for duplication and opportunities for property consolidation
    • Final team review
    • Merge proposal write-ups
  • @ryelle added that, before the final team review step, discussion will be needed about what to consolidate and how, for example rgba and box-shadow values
  • @ryelle added that, as there are several PRs now merged, anybody interested could start generating some ideas for these next steps right now
  • @dryanpress asked if we are still on target for an --experimental release in 5.9 which @ryelle confirmed we have good momentum for
  • @ryelle observed that there are other places outside of CSS files where CSS is used, for example php and js files, which also need to be reviewed. @dryanpress offered to add this and the other tasks (mentioned above) to the planning document
  • @CodeXplorer admitted to wanting to help but feeling lost, to which @dryanpress provided a few notes of the current state of the project
  • @danfarrow had quickly calculated there are now 127 custom properties in custom-properties.css. @robertg added that this isn’t including the 225 (approx) in his PR

Open Floor / CSS Link Share

Thanks everybody!

#core-css, #summary

Editor chat summary: Wednesday, 15 September 2021

This post summarizes the latest weekly Editor meeting (agenda, slack transcript), held in the #core-editor 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, on Wednesday, September 15, 2021, 14:00 UTC.

WordPress 5.9

Preliminary Roadmap, a quick overview of the main areas and features currently underway for 5.9 in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/.

Gutenberg 11.5.0

Gutenberg 11.5.0 was released on 16th September, this update includes 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. Gap support, improved support for Flex Layouts, performance improvements, and additional design tools. Check out the release post for a complete list of features and enhancements:

Monthly Plan

The monthly update containing the high-level items that Gutenberg contributors are focusing on for June are:

  • Template Editor
  • Patterns
  • Global Styles and 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. UIUI User interface
  • Design Tools
  • Navigation Block
  • Navigation Editor

For a detailed plan check out monthly priorities post.

Updates on the key projects

Nav Editor:

@get_dave

Rest API:

@zieladam

  • For the REST API changes, saving menu items using rest API.
  • As a nice side-effect, we might get a simple 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. for saving changes in any editor that acts on entities through blocks (e.g. the widgets editor).

Mobile: 

@hypest

Shipped

  • Inline preview support for Instagram, Vimeo. Now supporting all  5 most-used providers (YouTube, Twitter, WordPress, Instagram, Vimeo).

Fixes

  • Refresh embed preview when switching light/dark mode
  • Use device’s localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. in embed previews
  • Ensure inserter button is in view when RTL
  • Translate column block’s control labels

In Progress

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

Task Coordination

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

@mamaduka

@ntsekouras

In progress:

@jorgefilipecosta

  • Worked on the task to replace the color picker component namely enhance its design and started working on replacing tinycolor with colord.
  • Need some reviews on tinycolor to colord replacements:
  • Simple PR’s to get the ball rolling as long as one is approved I guess we can merge multiple similar ones.
  • Worked on implement the new custom gradient picker design.
  • Currently working on the new color palette editor.
  • For the next week I will continue with improving the global styles related components.
  • Will see how can I best help the effort of implementing the new 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. with its navigation system.
  • Will try to dedicate attention to old PR’s I have that are mostly ready.
  • Mosaic view and block awareness of global styles I hope to merge them so my head becomes free for other challenges and we can submit follow ups on them.

@zieladam

@mciampini

An update from the folks working on the components package

Shipping:

In Progress:

@oandregal

@annezazu

  • Mainly have been doing some light triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors., amplifying the current block theme switching exploration.
  • Working on updating 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 description (PR coming).
  • Ran a hallway hangout for FSE items.
  • Hoping to ship an additional coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. editor improvement post too in the next week.

@get_dave

This week, I’ve have been mostly workin’ on:

  • Adding Global Inserter to Navigation Editor screen.
  • Experimenting with Theme JSON as means to control many aspect of Navigation block.
  • Fixes from the High priority section of Nav Editor tracking issue.
  • Various Link UI issues.
  • Added “help” descriptions for the various HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element options on the Group block.

@mkaz

Open Floor

@get_dave

  • Could whoever is running the Gutenberg Plugin release please let me know how they found the automated changelog feature grouping? I worked on a couple of PRs on that and I’m curious to know whether anything could
  • Working on how to make the Nav Editor more resilient to changes in the Navigation block. Currently it’s very difficult and not at all resilient.
    • One route I’m exploring is using Theme JSON to control the features of the Nav block. My proposal does two things that I’d like some input on:1. opens up `theme.json` for extensibility by developers via hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same./filters.
    • Allows `theme.json` to control features that are unique to particular blocks (as opposed to things that are common across all blocks such as spacing).
    • I’d really like to understand whether this is within the intended scope for Theme JSON.
    • This has large utility outside Nav Editor because I imagine Themers wanting to be able to control multiple facets of blocks (and not just common things such as padding/margin…etc) without having to use complex hooks/filters
    • some dicussion but no conclusion read complete discussion.

@paaljoachim

  • The following comment made by @a4jpcom was posted to last weeks Core Editor Chat agenda after the chat was held.
    • The inserter (add block – the line with plus mark) is missing above the top inserted block.
    • Toggle block inserter doesn’t help here either.
    • Related issues.
    • You currently have to add a block under the top inserted block then move it above the top block each time. It would be nice to get this fixed.
    • If the line that said add block were above the first block added it would just take one click to add new blocks, which is very nice.
  • I would like to bring up one more thing that would be nice to get some eyes on again. 
    • Moving the post/page title to the top bar, so that users can choose to have the title in the layout.
      Here is a PR which has stalled.

Read complete transcript

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

What’s new in Gutenberg 11.5? (16 September)

It’s been two weeks since 11.4, so it’s time for another 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/ release, 11.5!

This update includes 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. Gap support, improved support for Flex Layouts, performance improvements, and additional design tools.

Theme / Block Gap Support

Block Gap support adds the ability for blocks to opt-in to a control that allows users to choose the distance between items within a block.

The groundwork for this feature was introduced in 11.4, and was initially opt-out for themes. Following feedback, this feature is now opt-in. Thanks so much for the testing and feedback!

With Block Gap support in place, it has also been added to the Columns, Title, and Navigation blocks.

Buttons in the the Buttons Block move closer together or farther apart as the Block Gap is changed.

Flex Layout Highlights

Following the introduction of Flex Layout in 11.2.0, now Flex Layouts are supported within the Social Links and Group blocks! The Social Links block now has a ‘flex’ justification option, for automatic best-fit. 

There is also a new variation of the Group block that allows for flex layout. You can try it out by choosing “Row” from the block inserter.

Social Icons change flow when flex justification is selected.

Site Title and Logo Inside Navigation Block

It’s now possible to build your site logo or title directly into menus, enabling new design possibilities! Insert, and modify the title or logo that you prefer, using design tools, then re-order for your ideal look.

A Site Logo is added to a Navigation Block, then resized and placed.

Global Styles 

Global styles are now available to themes by default, allowing block, theme, and patterns to have a reliable set of styles provided by coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

Themes are now able to selectively disable text and background colors. This allows theme authors to provide exactly the experience they’d like to provide users, whether allowing custom colors, gradients, or only their curated selections.

Other Notable Highlights

The Heading Levels menu has been redesigned, and is now vertical, making it easier to visualize the hierarchy.

There is a new setting to customize the Next and Previous Page indicators in the Query Pagination block, allowing the addition of an arrow or a chevron to your designs.

New vertical Heading Levels menu, with H2 selected.

11.5.0

Features

Design Tools

  • Block Support: Add gap block support feature. (33991)

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)

  • Font weight screen reader description. (34312)

Block Editor

  • Media Placeholder: Change media URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org input type to allow a local URL path. (29138)

Block Library

  • Columns Block: Use blockGap between Columns blocks. (34456)
  • Group Block: Add a row variation. (34535)
  • Heading Block: Vertical heading levels menu. (32926)
  • Navigation Block: Allow Site Title and Logo inside Navigation block. (33316)
  • Navigation Block, List View: Do not show appender and avoid closing the modal on block select. (34337)
  • Navigation Block: Remove horizontal and vertical navigation block variations from inserter. (34614)
  • Navigation Block: Use gap instead of margin. (32367)
  • Post Author Block: Add duotone suport. (34408)
  • Query Pagination Next/Previous: Add an arrow attribute and sync next/previous block’s arrow. (33656)
  • Site Logo Block: Update block description to be concise. (34471)
  • Site Title Block: Update block description to be concise. (34475)
  • Social Links Block: Use the new flex layout. (34493)
  • Video Block: Use existing video poster image on insert. (34415)

Components

  • MenuItem: Add right padding for unchecked radio and checkbox items. (34406)
  • ToggleGroupControl: Update stories to use knobs. (34497)

Core Data

  • Add isRawAttribute to entity configuration. (34388)

Design Tools

  • Add wide alignment control only if theme provides layout.wideSize. (34586)
  • Update justification control in flex layout. (34651)
  • ToolsPanel: Change icon from horizontal to vertical ellipsis. (34369)

Full Site Editing

  • Limit FSE adminadmin (and super admin) notices to the Themes screen. (34353)

Global Styles

  • Allow disabling text and background color via theme.json. (34420)
  • Make global styles available to all themes. (34334)

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.

  • Add context to ‘none’ strings for better translations. (34341)
  • Make permalinks documentation URL translatable. (34282)

Post Editor

  • Expose ThemeSupportCheck component. (20506)
  • Title block gap. (34570)

Themes

  • Add default editor styles applied to themes without theme.json and without editor styles. (34439)

Widgets Editor

  • Add ‘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. Group’ block to widgets screens. (34484)
  • Legacy widget rendering endpoint. (34230)

New APIs

Design Tools

  • Allow themes with theme.json to opt-out of block gap styles. (34491)

Bug Fixes

Accessibility

  • Fix button block focus trap after a URL has been added. (34314)

Block Editor

  • Fix menu item padding 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.. (34435)
  • Fix text-menu min widths. (34532)
  • Keep id on paste if internal link points to it. (31107)
  • Fix caret position on block merging. (34169)

Block Library

  • Heading Block, Paragraph Block: Fix long strings of text without spaces overflow the block. (34222)
  • Gallery Block: Fix 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. with stalled upload when image size too large. (34371)
  • Gallery Block: Fix media placeholder height in site editor. (34629)
  • Gallery Block: Fix problem with overflowing captions on new gallery block format. (34402)
  • Latest Posts: Fix various ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warnings in development log. (34428)
  • Navigation: Fix navigation block classname issues. (34344)
  • Navigation: Fix Page List styles inside responsive Navigation. (34517)
  • Navigation: Fix responsive menu height regression. (34488)
  • Navigation: Fix submenu layout in navigation page list. (34342)
  • Navigation: Fix submenus to only take up space when visible. (34382)
  • Navigation: Fix undo/redo ‘trap’ in navigation link block. (34565)
  • Site Title: Allow empty title in edit mode. (34274)
  • Social Links Block: Fix deprecation. (34639)
  • Video Block: Fix TypeError when removing poster. (34411)

Components

  • Align labels on focal point picker position controls above the inputs. (34209)
  • Check if in browser env before calling CSS.supports. (34572)
  • Combobox Component: Only force expanded state if the input has focus. (34090)
  • CustomSelectControl: Add describedBy fallback. (34385)
  • DateTime Component: Fix sizing of help info. (34370)
  • Fix ToggleGroupControlBackdrop not updating size when isAdaptiveWidth prop changes. (34595)
  • Fix selected value computation in CustomSelectControl when no initial value is set. (34490)
  • Fix subheadings from wrapping. (34319)

Design Tools

  • Border Controls: Display color indicator and check selected color. (34467)
  • Border Support: Fix check for displaying border support panel. (34516)
  • Gap block support: Force gap change to cause the block to re-render (fix Safari issue). (34567)
  • Letter Spacing: Group letter spacing correctly under typography supports. (34515)

Global Styles

  • Fix block-level global styles color panels. (34293)
  • Font Appearance Control: Fix error in global styles for Site Title in TT1-Blocks. (34520)

MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Boxes

  • Change default value of enableCustomFields to undefined. (33931)
  • Fix metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. reordering. (30617)

Packages

  • Blocks: Register block when 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. value provided for the icon. (34350)
  • Core Data: Add ‘include’ to the query key. (34583)
  • Core Data: Use resolveSelect instead of select in saveEntityRecord. (34584)
  • Interface: Block Toolbar & Popover component – Prevent sticky position from causing permanently obscured areas of the selected block. (33981)
  • Scripts: Only use svgr/webpack in js files. (34394)
  • Scripts: Convert legacy entry point arguments for compatibility with webpack 5. (34264)

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

  • Default batch processor: Respect the batch endpoint’s maxItems. (34280)

Widgets Editor

  • Fix Block Settings 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. unexpectedly collapsing. (34543)
  • Legacy widget’s preview functionality is broken when the page is moved. (34384)
  • Prevent focus trap in Legacy Widget block’s preview iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. (33614)

Performance

Block Editor

  • Improve the getBlock and getBlocks performance. (34241)
  • Remove duplicated useValidAlignment hook. (34593)

Core Data

  • Move locks state from store to local variable. (34374)

Global Styles

  • Remove colors classes from the packages that are already provided by global styles. (34510)

Experiments

Navigation Editor

  • Add undo redo buttons in navigation editor. (34533)
  • Decode entities in the menu names. (34263)
  • Disable “block-nav-menus” feature for the purposes of removing the “experimental” status on the Navigation Editor. (34444)
  • Preload menu REST API requests on new navigation editor. (34364)
  • Update navigation editor placeholder. (34568)

Documentation

Handbook

  • Replace withSelect references with useSelect. (34549)
  • Updated Template Section copy. (34383)
  • Update block variations documentation about block scope. (34455)

Packages

  • Blocks: Correct typo in Blocks Documentation. (34396)
  • Componentes: Fix/update documentation alignment matrix control. (34624)
  • Componentes: Update DuotonePicker documentation for accuracy. (34494)
  • Eslint: Add no-unsafe-wp-apis to rules list in the documentation. (34416)
  • Prettier: Correct syntax in README.md for prettier-config. (34600)

Code Quality

Block Editor

  • Code cleanup to the getBlock refactoring. (34326)
  • Ensure that blockType is defined when accessing apiVersion. (34346)
  • Migrate lightBlockWrapper support to apiVersion for blocks. (34459)
  • Fix Animated warning log. (34197)
  • Rich Text: Replace global event handlers with local ones. (34492)
  • Rich text (core): OnFocus method can be replaced with HTMLElement.focus. (32054)
  • Use Setting: Consolidate the PATHS_WITH_MERGE constant to one instance. (34407)

Block Library

  • Gallery Block: Add docblockdocblock (phpdoc, xref, inline docs) comments to the new gallery hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (34562)
  • Gallery Block: Remove IE specific CSSCSS Cascading Style Sheets. hacks. (34372)
  • Button Block: Replace global shortcut event handlers with local ones. (34498)
  • Navigation Block: Refactor to use generic classnames. (34171)
  • Navigation Link Block: Replace global shortcut event handlers with local ones. (34500)
  • Gallery Block: Remove redundant css selector. (34277)

Components

  • CustomGradientBar: Replace global shortcut event handlers with local ones. (34505)
  • Guide: Replace global shortcut event handlers with local ones. (34503)
  • Navigate regions: Use React events for shortcuts (portal bubbles & contextual). (33633)
  • Rename PolymorphicComponent* types to WordPressComponent*. (34330)
  • Simplify Modal with hooks. (34412)
  • Simplify & polish heading levels. (34378)

Core Data

  • Fix linting errors. (34596)
  • Fix linting error in trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (34464)
  • Migrate canUser resolver to thunks. (34580)
  • Migrate entities.js to thunks. (34582)
  • Migrate getAutosaves resolver to thunks. (34581)
  • Migrate getEntityRecord resolver to thunks. (34576)
  • Migrate getEntityRecords resolver to thunks. (34578)
  • Migrate resolvers to thunks: GetAuthors, _getCurrentUser, __getCurrentTheme, __getThemeSupports. (34579)
  • Refactor deleteEntityRecord to use thunks instead of generators. (34386)
  • Refactor editEntityRecord, undo, and redo to be thunks instead of generators. (34387)
  • Remove the PROCESS_PENDING_LOCK_REQUESTS action. (34343)
  • Refactor saveEntityRecord from redux-rungen to async thunks. (33201)
  • Remove extraction of raw values in saveEntityRecords. (34502)

Other Packages

  • Compose, useDropZone: Ensure drag event targets HTMLElement. (34272)
  • Editor: Replace hardcoded store key. (34296)
  • Env: Clarify config error within parse-config.js. (34322)
  • Post Editor: Fix gray W menu color. (34318)
  • URL: Add getFilename method to the URL package. (34313)

Tools

Build Tooling

  • ESLint: Add useSelect to direct function calls list. (34301)
  • ESLint: Update error message for @emotion/css with info about the useCx hook. (34418)
  • Fix build hang on Windows 10. (23589)
  • Linting: Remove global event listener warning. (34528)
  • More work on the stability of the performance metrics. (34229)

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

  • Added janw-me to the Codeowners for the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher FSE folder. (32990)
  • Fix title missing in bug report form. (34504)
  • Update bug form to use drop downs. (34458)
  • Update the minimum supported WordPress version to 5.7. (34536)

Testing

  • Add unit tests for edit site editor utils. (34401)
  • Debug e2e-tests in vscode. (29788)
  • Jest Preset: Restore the default setting for the verbose option. (34327)
  • Make Test_Widget compatible with WP_Widget. (34355)

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.

VersionLoading TimeKeyPress Event (typing)
Gutenberg 11.56.71s40.42ms
Gutenberg 11.46.80s44.79ms
WordPress 5.87.53s50.72ms

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

Thanks to @beafialho and @joen for the release post assets, @priethor for coordination and review, @youknowriad for release and tools wrangling, @mamaduka for answers and help throughout, and @talldanwp for inviting me to shadow a release in preparation.

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

What’s next in Gutenberg? (Mid-September 2021)

This status update contains the high-level items that 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/ contributors are focusing on in preparation for the WordPress 5.9 Go/No Go that builds on the focus areas for 5.9 and the current Site Editing Scope. Please join us in our efforts and let us know in the comments if anything is blocking you from doing so.

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.


Template Editor

The Template Editor is the editing mode that allows you to create, assign, and edit 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. templates to posts and pages. There are different editors that leverage this editing mode, such as the Template Editor inside the Post Editor or the Site Editor available 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. Current focuses include:

Follow along:

Patterns

With the initial rollout of the new directory in WordPress 5.8, there’s a growing need to expand the inserter integration to accommodate broader categories of patterns and the experience of browsing them:

Follow along:

Global Styles and 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. UIUI User interface

WordPress 5.8 introduced the scaffolding necessary for themes to control how various aspects of blocks render and how the interface is controlled. The natural next step ahead is to develop the user interface that will allow themers to build with these style properties directly in the editor and when allowed, users to interact with these style properties.

Follow along:

Design Tools

Design tools encompass all tools related to the appearance of blocks and it ranges from colors, typography, alignments, and positioning, to filters like duotone, cropping, and background media creation of shared tools and its consistent application across blocks:

Follow along:

Navigation Block

With the help of the Navigation block, editing a site’s navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. will be possible with a block interface and within a stand-alone block editor. This will allow users to edit not only the menu’s structure but also its design directly in context and without the need for previewing. The main current focuses in this project are:

Follow along:

Navigation Editor

The Navigation Editor aims to help expand what’s possible with menus while bringing block functionality to yet another part of WordPress while offering a more modern experience. Current efforts include:

Follow along:

Other Projects

Apart from these bigger projects, there are a wide arrange of focuses where contributors can help improve Gutenberg, including:

Follow along:


Areas to be aware of

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. US 2021:

  • WordCamp US 2021 is scheduled for October 1st, 2021 as an online event. Tickets are free and available here!

FSE Outreach Program:

Hallway Hangouts:

Design:

  • If you would like to see a design exploration on the Inspector 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., take a look at this post exploring ways to improve the Document Status and Visibility sections.

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 in GitHub! Check it out and join us.

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

Meetings to join:

While you can view all meetings here, here are specific meetings to join depending on your interest. Remember that you need a WordPress.org slack account to participate:

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor weekly Wednesdays @ 14:00 UTC in #core-editor focused on all things Gutenberg.
  • Block Themes meeting twice monthly on Wednesday @ 16:00 UTC in #themereview focused on preparing for Full Site Editing.

Thanks to @annezazu and @cbringmann for reviewing this post.

#core-editor #gutenberg-next #gutenberg

Dev Chat Agenda for Sept 15, 2021

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

Blogblog (versus network, site) Post Highlights and announcements

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

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-8, #5-9, #agenda, #core, #dev-chat

CSS Chat Summary: 09 September 2021

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

Announcements & Housekeeping

  • @wazeter shared the facilitator schedule sign-up form – please add your name if you would like to run a future meeting or CSSCSS Cascading Style Sheets. triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.
  • @danfarrow shared the dev-chat meeting guide which could be useful for finishing the Core CSS meeting guide
  • @danfarrow observed that some WordPress docs pages relating to local dev have not been updated to include details of wp-env and expressed an intention to remedy that

CSS Custom Properties (#49930)

  • @dryanpress has some files ready to submit, @wazeter is finishing updating media-views.css and @danfarrow posted a draft PR for forms.css
  • deprecated-media.css is the only remaining unclaimed file
  • @ryelle has been working on reviewing & merging PRs as they come in. She is planning to open a new base branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch"., once more PRs are merged, to make it cleaner for the next stages
  • @danfarrow asked about the PR review process. @ryelle said she’s been trimming down custom properties to existing ones where possible, and testing in the browser
  • @danfarrow asked if creating a custom-properties aliasing existing custom-property is ever useful. @ryelle responded that they might be if there could be a requirement to style a component differently, but the subject is open to discussion. @dryanpress & @wazeter expressed the view that more aliases give users more granular control outside of the cascade
  • There was general agreement that this project is a good opportunity to clean up things like the inheritance structure, minor colour variations etc.

Open Floor / CSS Link Share

Thanks everybody!

#summary

A Week in Core – September 13, 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 September 6 and September 13, 2021.

  • 37 commits
  • 30 contributors
  • 40 tickets created
  • 4 tickets reopened
  • 25 tickets closed

As expected, WordPress 5.8.1 was released last week! Props to @desrosj and @circlecube for leading this new point 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. 🌟

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

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

Code changes

Administration

  • 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): Improve aria-label on networknetwork (versus site, blog) adminadmin (and super admin) Themes screen – #24442

Build/Test Tools

  • Fix CI for running tests on PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 – #53945
  • Add more 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. IP test cases and @covers to Tests_Functions_Anonymization#53363
  • Add tests for wpdb::_real_escape()#53363
  • Fix “null to non-nullable” deprecation notice in Tests_Admin_IncludesPlugin::test_get_plugin_files_folder()#53635

Bundled Themes

  • Twenty Eleven: Set a fixed height for search form when 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. image is added – #40398

Code Modernization

  • Fix “passing null to non-nullable” deprecation in wpdb::_real_escape()#53635
  • Fix “passing null to non-nullable” deprecation notice in WP_Comment_Query::get_comment_ids()#53635
  • Fix “passing null to non-nullable” deprecation notices in WP_Http::normalize_cookies()#53635
  • Fix last parameter name mismatches for parent/child classes in Walker::start_el()#51553
  • Fix null to non-nullable deprecation in term_exists()#53635
  • Fix null to non-nullable deprecation in wp_privacy_anonymize_ip()#53635
  • Fix null to non-nullable deprecations in WP_Meta_Query::get_sql_for_clause()#53635
  • Fix parameter name mismatch with parent in WP_Customize_Custom_CSS_Setting::validate()#51553
  • Fix parameter name mismatches for parent/child classes in WP_Customize_Setting::sanitize()#51553
  • Fix parameter name mismatches for parent/child classes in WP_Customize_Setting::update()#51553
  • Fix parameter name mismatches for parent/child classes in WP_Image_Editor::save()#51553
  • Fix parameter name mismatches for parent/child classes in WP_List_Table::column_cb()#51553
  • Fix parameter name mismatches for parent/child classes in WP_List_Table::handle_row_actions()#51553
  • Fix parameter name mismatches for parent/child classes in WP_REST_Controller::prepare_item_for_response()#51553
  • Fix parameter name mismatches for parent/child classes in WP_Sitemaps_Provider::get_max_num_pages()#51553
  • Fix parameter name mismatches for parent/child classes in WP_Sitemaps_Provider::get_url_list()#51553
  • Fix parameter name mismatches for parent/child classes in WP_Upgrader_Skin::error()#51553
  • Fix parameter name mismatches for parent/child classes in WP_Widget::update()#51553
  • Fix reserved keyword and parameter name mismatches for parent/child classes in WP_Upgrader_Skin::feedback()#51553
  • Fix reserved keyword and parameter name mismatches for parent/child classes in Walker::end_el()#51553
  • Fix reserved keyword and parameter name mismatches for parent/child classes in Walker::start_el()#51553
  • Improve @since message in WP_List_Table::column_default()#51553

Documentation

  • Correct documentation for the in_plugin_update_message-{$file} 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.#40006

Editor

  • Revert [51748] and [51649]. They intorduced 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 wp.editor may be replaced with wp.oldEditor in certain cases – #53762
  • Editor: fix the replacement of wp.editor with wp.oldEditor in the inline script outputted when enqueueing the old editor – #53762

External Libraries

  • Update jQuery UIUI User interface to 1.13.0-rc2 – #52163

General

  • Only use _jsonp_wp_die_handler() for JSONP 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/. requests

Site Health

  • Add Intl to the list of recommended PHP extensions – #52654
  • Site Health: Move the Imagick entry higher in the list of recommended PHP extensions – #52654

Users

  • Introduce a meta_input argument for wp_insert_user()#41950

Widgets

Props

Thanks to the 30 people who contributed to WordPress Core on Trac last week: @hellofromTonya (26), @jrf (26), @azaozz (19), @desrosj (18), @johnbillion (15), @sergeybiryukov (15), @audrasjb (2), @david.binda (2), @sabernhardt (2), @Clorith (2), @Soean (1), @davidmosterd (1), @BinaryKitten (1), @donmhico (1), @peterwilsoncc (1), @mdawaffe (1), @get_dave (1), @grantmkin (1), @fullofcaffeine (1), @lukecavanagh (1), @josklever (1), @mukesh27 (1), @zieladam (1), @andraganescu (1), @fedepia (1), @zodiac1978 (1), @mgol (1), @JavierCasares (1), @zeo (1), and @SergeyBiryukov (1).

Congrats and welcome to our new contributor of the week: @josklever ♥️

Core committers: @hellofromtonya (26), @sergeybiryukov (6), @azaozz (3), and @johnbillion (2).

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