Dev Chat Agenda for April 21, 2021

Here is the agenda for this week’s meetings to occur at the following times: April 21, 2021 at 5:00 UTC and April 21 2021 at 20:00 UTC.

Release Announcements

Blogblog (versus network, site) Post Highlights

Blog posts that need feedback

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 our standard list 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-7-1, #5-8, #agenda, #dev-chat

Full Site Editing Go/No Go: Next steps

The Full Site Editing Go/No Go demo took place a few days ago, where project leadership determined what new features should be included in WordPress 5.8 based on their current status, feedback gathered in calls for testing, and the prospect of achieving a solid implementation before the feature freeze.

This post aims to provide a high-level overview of the focuses to attend to before the feature freeze; linked individual actionable GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ items further develop lower-level requirements to complete. Individual items are also being tracked in the WordPress 5.8 FSE Must Haves project board.

Schedule

According to the WordPress 5.8 pre-planning schedule, the feature freeze will take place on May 25th, leaving room for the following 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/ 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 releases to be merged:

Gutenberg versionRC release dateFinal release date
10.5April 21stApril 28th
10.6May 5thMay 12th
10.7May 19thMay 26th

To align with this schedule, the last version to be merged in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. before the feature freeze will be 10.7-RC, with any future bugfix applied before or after the final 10.7.0 being ported as well. Moreover, to ease new feature testing with more frequent merges, as suggested in a recent dev chat, Gutenberg 10.4 -without experimental features- is already available in WordPress core.

Next steps

Apart from all the incremental improvements included by merging up to 9 plugin releases, from Gutenberg 9.9 to 10.7, the following work-in-progress features are targeted for 5.8 and should become stable by Gutenberg 10.7. 

BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme building

Block themes might arguably represent one of the biggest core theme-building paradigm changes in the last decade. As such, a huge effort is being done to achieve a future-proof, evolvable foundation. With most of the infrastructure ready, the focus remains on the theme.json configuration file, and the “block supports” mechanism:

A list of detailed requirements to meet before the feature freeze can be found at the Block Styles Breakdown overview issue.

Once released in 5.8, theme developers will be able to create block themes and provide quality feedback to iterate over these mechanisms.

Introducing Theme blocks

As part of the implementation of Full Site Editing, a number of theme blocks have been developed to cover theme/site features similar to how classic template tags worked. The next steps are to finish determining which of these blocks should be included in 5.8 and enabled for classic themes, and polish them, including:

These blocks should display a badge in the inserter, denoting they are new blocks that, while completely stable and functional, might still need some UXUX User experience polishing and are meant to experiment and tinker around.

Template editing within the post editor

With one of the targets for 5.8 being to introduce block templates, users will be able to create custom block templates for posts and pages in classic themes. Although this feature mostly relies on the existing site editing infrastructure already available in the plugin, these improvements will be focused on to provide a great user experience. User testing is planned in coordination with @annezazu from the FSE Outreach program during the WordPress 5.8 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. phase. Users are encouraged to join this program as it provides invaluable feedback that helps drive the projects’ focus and determine feature usability.

Widgets Editor & Block Widgets 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.

The Widgets Editor project aims to bring the power of blocks to classic theme with two major milestones:

  • Adding support for 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
  • Embedding a block editor in the customizer

Once these milestones have been completed, the remaining efforts towards 5.8 focus on providing stellar stability and backward compatibility, with an upcoming call for testing to be launched in the near future; if this is of interest to you, please keep an eye out for a future post on this blogblog (versus network, site). A detailed list of the next actions can be found at the Widgets Editor tracking issue.

Persistent List view in the post editor

The Persistent List View provides an improved overview of the inserted blocks and has greatly enriched the way users navigate the block tree in the Site Editor. Therefore, the goal is to bring the Persistent List View to the post editor as well in 5.8.

Duotone block supports

WordPress 5.8 aims to introduce the new duotone design tool as a “block supports” feature, available by default in the core image and cover blocks. The PR introducing this feature is currently in its last polishing iterations and should be expected to land in the plugin soon.

Gallery block refactor

Last, but not least, work and a round of testing continue on the Gallery block refactor which seeks to be a wrapper around Image block rather than a separate block entirely. This will allow the Gallery block to benefit by default from all design tools and improvements made to the Image block. Feedback collected is addressed as part of the PR efforts; users are welcome to test and submit their feedback as early as possible so that it can be acted upon in the upcoming weeks.

#5-8, #core-editor, #gutenberg

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

  • 26 commits
  • 22 contributors
  • 44 tickets created
  • 5 tickets reopened
  • 37 tickets closed

WordPress 5.7.1 was released on April 14, 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.

Code changes

Build/Test Tools

  • Make adjustments to how often old branches are tested – #52653

Bundled Themes

  • Bump versions for WordPress 5.7.1 – #52859

Coding Standards

  • Use strict comparison in wp-admin/includes/class-wp-media-list-table.php#52627
  • Fix WPCSWordPress Coding Standards A collection of PHP_CodeSniffer rules (sniffs) to validate code developed for WordPress. It ensures code quality and adherence to coding conventions, especially the official standards for WordPress Core. issues in wp-admin/includes/class-wp-comments-list-table.php#52627
  • Use strict comparison in wp-admin/includes/class-walker-nav-menu-edit.php#52627
  • Give a variable in WP_Automatic_Updater::after_core_update() a more meaningful name – #52627
  • Use strict comparison in wp-admin/includes/class-custom-image-header.php#52627
  • Use strict comparison in wp-admin/includes/class-custom-background.php#52627
  • Rewrite a fragment in request_filesystem_credentials() for clarity and to avoid repetition – #52627
  • Use strict comparison in wp-admin/includes/file.php#52627
  • Use strict comparison in wp-admin/includes/class-wp-automatic-updater.php#52627

Documentation

  • Correct comment format in `wp-adminadmin (and super admin)/edit-tags.php`, remove extra space – #46428

Editor

  • Update WordPress packages to use with WordPress 5.8 – #52991
  • 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. changes for WordPress packages added in 5.7.1 – #52912
  • Blocks: Add is_default handling to server side 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. styles registry – #53006

External libraries

  • Include upstream GetID3 fix for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8

Feeds

  • Rename “Summary” to “ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.” in Reading Settings – #52987

Internationalization

  • Add context to strings when updating a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party or theme with a ZIP package – #53017, #52625

Privacy

  • Ensure “Export Personal Data” does not generate 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. 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.#52892

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

  • Allow authors to read their own password protected posts

Site Health

  • Remove Ajax requests from dashboard 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.#49814
  • Correct array key for the default tab – #47225
  • Support custom sub-menus and pages – #47225
  • Correct test result status for the HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. test – #52783

Upgrade/Install

  • Correct the alignment of error messages for the language installer – #52989

Props

Thanks to the 22 people who contributed to WordPress Core on Trac last week:

@SergeyBiryukov (3), @mukesh27 (3), @peterwilsoncc (3), @jrf (2), @xknown (2), @xavivars (1), @dimadin (1), @desrosj (1), @TimothyBlynJacobs (1), @audrasjb (1), @sabernhardt (1), @immeet94 (1), @hellofromTonya (1), @arena (1), @timothyblynjacobs (1), @swissspidy (1), @zieladam (1), @andraganescu (1), @aristath (1), @youknowriad (1), @ramiy (1), and @ravipatel (1).

Core committers: @sergeybiryukov (11), @desrosj (4), @clorith (3), @gziolo (3), @davidbaumwald (3), @peterwilsoncc (1), and @ocean90 (1).

#5-7-1, #5-8, #week-in-core

DevChat meeting Summary – April 14, 2021

@markparnell and @audrasjb led the weekly meetings of the WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team, respectively at 05:00 UTC and 20:00 UTC. Here is the meeting agenda.

Link to 05:00 UTC devchat meeting on the core channel on Slack

Link to 20:00 UTC devchat meeting on the core channel on Slack

Upcoming WordPress releases

WordPress 5.7.1

Since no issue was raised after the release candidate, WordPress 5.7.1 was released a few hours after the devchat. It contains 26 bugfixes and 2 security fixes.

WordPress 5.8

Some blogblog (versus network, site) posts were published on Make/Core:

While it happened after the meeting, it’s important to note that the Full Site Editing Go/No Go decision was published on April 14, 2021.

@annezazu mentioned the latest call for testing for the FSE Outreach Program. This week, it’s about the Query Block.

Announcements and news

Please note that these posts are still waiting for feeback:

Component maintainers updates

General (@sergeybiryukov): Sergey has started chipping away at some long-standing coding standards issues in core, see ticketticket Created for both bug reports and feature development on the bug tracker. #52627 for more details.

Build/Test Tools, Date/Time, Internationalization, Permalinks (@sergeybiryukov): No major news this week.

Site Health (@clorith): No major news this week.

Menus, Widgets and Upgrade/Install (@audrasjb): No major new this week.

@audrasjb mentioned there are still many Core components looking for new maintainers:

  • Cache 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.
  • Database
  • Help/About (@marybaum)
  • Quick/Bulk Edit
  • Feeds
  • Filesystem API
  • Import
  • Mail
  • Plugins
  • Post, Post types
  • Login and registration

@marybaum volunteered to maintain the Help/About component. This request was accepted by the Core team.

Open floor

@webcommsat shared that lots of people have been asking about WCEU dates (7-10 June 2021). The community team is looking at how they promote contributing this year too. More soon.

Ticket #53014 was mentioned in both 5:00 UTC and 20:00 UTC devchats. It’s in milestone 5.8. It wasn’t fixed in previous releases as it still needs a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. and proper testing. 

#5-7-1, #5-8, #dev-chat, #summaries, #summary

CSS Chat Agenda: April 15, 2021

This is the agenda for the upcoming CSSCSS Cascading Style Sheets. meeting scheduled for Thursday, April 15, at 5:00 PM EDT. This 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/..

If there’s any topic you’d like to discuss, or if you have suggestions for discussion questions, please leave a comment below!

  • Housekeeping
  • Review discussion outcomes from last week (CSS deprecation path, JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. targeting naming conventions)
  • Project Updates
  • Open Floor + CSS Link Share

#agenda, #core-css

What’s new in Gutenberg 10.4? (14 April)

Two weeks have passed since the last 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, which means a new version is already available! Gutenberg 10.4 introduces cool features like 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. widgets 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., enhancements to the Site Editor, improvements to rich text placeholders, and, as always, many bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes as well.

Block widgets in the Customizer

As part of the Block-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 project, one goal is to enable block widgets in the Customizer, with Gutenberg 10.4 introducing the first iteration of this feature.

List View design updates

This release brings us a set of design updates to the Site Editor List View, including updates to icon sizes and spaces and new colors for hover, focus, and select states.

More descriptive publishing UIUI User interface

The publishing content UI found in block editors now includes the site icon and name so that it’s clearer in certain cases, such as full-screen or mobile, where you are publishing to.

Revert template to theme defaults within the Site Editor

Until now, to revert a template to the default provided by a theme, it had to be done outside the Site Editor. Thanks to this new feature, it is now possible to revert template customizations directly in the editor.

Rich text placeholder enhancements

To improve the editing experience, rich text block placeholders have seen a few tweaks in this release. Starting in Gutenberg 10.4, blocks containing rich text will display a shorter placeholder text that will remain shown even when being focused.

Improvements to Navigation Block

The Navigation Block has good momentum and has received many improvements in this release, including a new “Post Format Link” variation, a clearer placeholder state, and more style polishing. 

Editor and frontend parity refinement

Providing a consistent markup between the editor and the frontend is key to deliver a smooth editing experience. Gutenberg 10.4 iterates towards this goal by ensuring a frontend-editor parity in blocks such as Quote, Separator, and Archives, among others.

10.4

Enhancements

  • Ensure Frontend/Editor block styles parity:
  • Block Library:
    • Latest Comments: Remove list padding and margin. (29402)
    • Post Date: Add option to make it a link. (30499)
    • Post ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.: Fix toolbar for post excerpt warning. (30280)
    • Post Title: Fix “‘length’ of undefined” error. (30208)
    • Preformatted: Add color controls. (28396)
    • Query: Use a WordPress 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. for the query block. (30405)
    • Search: Add border radius support. (30227)
    • Site Logo: Style polishing. (30526)
    • Template Part: Add padding support to template parts. (29779)
    • Update placeholder text across blocks. (30404)
  • RichText:
    • Add min width to show caret for empty inline container. (30224)
    • Always show placholder on focus. (30393)
  • General Interaface:
    • Add site icon and name to the publish flow. (30231)
    • Use a darker canvas color. (30282)
    • Update the save button label in the site editor. (30439)
  • Icons:
    • Polish media & text icons. (30239)
    • Update “close small” icon so that its shape matches the “add” icon dimensionally. (30014)
    • Update site-logo block icon. (30211)
  • Inserter: Clarify that when the Inserter is open clicking the + button in the top bar will close it again. (29759)
  • Writing Flow: Use a shorter writing prompt. (29611)
  • List View: Improve the spacing, colors and icons (30455) (30303)
  • Block Themes: Clarify the empty block templates message. (30145)
  • Site Editor:
    • Allow reverting custom templates to their original theme-provided files. (28141)
    • Use “Custom Styles” label to signal there are global styles changes in the saving panel. (30521)

Bug Fixes

  • Inserter: Show only the patterns that use allowed blocks. (30300)
  • Block Library:
    • Buttons: Prevent overlapping button blocks in the frontend. (30253)
    • Columns: Prevent having a width > 100%. (30229)
    • Cover: Add ‘object-position’ to allowed inline style attributes list. (30243)
    • Gallery: Avoid adding all media items in galleries using external URLs. (30122)
    • Image: Do not preserve custom sizes when replacing images. (29919)
    • Query:
      • Fix undo trap during creation. (30203)
      • Pagination Numbers: Print nothing if content is empty. (30554)
    • RichText: Fix arrow navigation around emoji. (30206)
    • Search block: Fix alignment issues. (30444)
    • Site Logo: Delete sitelogo option when custom logo does not exist or was removed. (30427)
  • Block List: Fix mover position in the docked toolbar. (30242)
  • Code Editor: Revert save editors value on change (#27717). (30524)
  • Post Editor:
    • Avoid focus attempt on a non-existent post title in code editor. (29922)
    • Fix the post author selector for contributor roles. (30218)
  • 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: Ensure that plugin does not error with older versions of WordPress. (30230)
  • Inner blocks: Memoize allowedBlocks to prevent needlessly updating settings. (30311)
  • Server side renderer: Fix errors in template part editor context. (29246)
  • Writing Flow:
    • Fix copy pasting non textual blocks. (30225)
    • Fix horizontal caret placing for empty editable with placeholder. (30463)
    • Fix multi-selection copying in Safari. (30202)
  • Site Editor:
    • Fix nested template parts. (30416)
    • Fix media upload behaviour and error state. (30436)
    • Select the block inspector top upon selection. (30387)
  • Components: Stop matching autocompleter upon mismatch. (30649)

APIs:

  • Add padding server-side block support. (30332)
  • Remove small APIs deprecated in WordPress 5.2. (30283)
  • Block Patterns: Remove scope from Query patterns and introduce blockTypes. (30471)

Experiments

  • Customizer
    • Add customize widgets inserter. (29549)
    • Add Legacy Widget block. (30321)
    • Fix adding blocks in the widgets customizer. (30221)
  • Navigation Editor and Block
    • Apply mover tweaks to navigation and widgets. (30284)
    • Add src/navigation-link/index to side effect whitelist. (30200)
    • Add post format variation to navigation link block. (30403)
    • Avoid creating a new array/object on every render. (30374)
    • De-emphasize “Link” block. (30172)
    • Fix arrow inheritance, polish. (30287)
    • Fix hardcoded color in navigation submenu icon. (30385)
    • Fix Navigation Link block constantly updating its inner block list settings. (30274)
    • Fix navigation link block dragging error. (30219)
    • Fix snackbar list component blocking clicks to UI it overlaps. (30381)
    • Flip orientation of submenus that are towards the right of the viewport. (30342)
    • Indicate when a menu is deleted and show the menu switcher afterwards. (29201)
    • Make the navigation placeholder clearer. (30281)
    • Polish 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. submenus. (30335)
    • Replace arrow with chevron. (30180)
    • Save theme location on button click. (30340)
    • Use same default implementation of __experimentalFetchLinkSuggestions in post, site, navigation, widget editor. (29993)
  • Widgets Editor
    • Add manage with live preview link. (29839)
    • Handle when $instance is empty and use str_replace instead of sprintf in the Widget block. (30217)
    • Iterate on Legacy Widget block. (29960)

Documentation

  • Handbook:
    • Add description for templateParts in 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.. (30118)
    • Add instructions for finding attributes for use in templates. (30258)
    • Added a practical example of adding a component to 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.. (30379)
    • Clarify what is meant by “block wrapper”. (30315)
    • Fix broken links to typescript documentation. (30188)
    • Fix code snippet for disabling the block directory. (30365)
    • Fix formatting. (30309)
    • Fix typos in block-controls-toolbar-and-sidebar.md. (30513)
    • Rename, changed URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Link. (30483)
    • Rich Text: Add section for disabling specific format types. (29383)
    • Updated documentation to reflect the output created currently by npx wordpress/create-block gutenpride. (30353)
    • Update feature deprecation guide. (30220)
  • Packages:
    • Api-fetch: Fix example code for apiFetch middlewares. (30534)
    • Block supports: Fix typos in layout supports comment. (30537)
    • Block Editor: Fix block-editor typo. (30401)
    • Components:
      • Remove references to __experimental* in the DateTimePicker component documentation. (29322)
      • Update CustomSelectControl component README.md. (29854)
  • docgen:
    • Components: Add types to Draggable. (29792)
    • Add types to clean-node-list. (30412)
    • Add types progressively to dom modules. (30103)
    • Add types to phrasing-content. (30102)
    • Export all types from api-fetch. (30539)
    • Fix arrow functions and TS index module support. (30028)
    • deprecated: Export DeprecatedOptions to align with DefinitelyTyped. (30677)
    • api-fetch: Align exported type names with DefinitelyTyped types. (30570)

Code Quality

  • Block Editor: Use proper insertion point for drop. (29933)
  • Block Library: Fix Post Excerpt warnings for RichText in inline containers. (30498)
  • Components: Simplify ScrollLock, adding types. (29634)
  • Gutenberg Plugin:
    • Prettify YAML scripts. (30409)
    • Remove deprecations planned for 10.3 release. (30417)
    • Update the objectFitPolyfill vendor library. (30507)
  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Coding Standards fixes. (30346)

Tools

  • Add /packages/stylelint-config to CODEOWNERS. (30264)
  • Build: Ensure non-JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. changes are processed in the watch mode. (30343)
  • Testing:
    • Added end-to-end tests for navigation menu name editor. (29774)
    • GHA workflow improvements when setting up NodeJS. (29078)
    • Include NodeJS version in the cache key. (30512)
    • Remove button from forbidden elements. (30223)
    • Remove cache restore-keys. (30510)
    • Skip flaky end-to-end tests. (30344)

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 10.45.94s35.14ms
Gutenberg 10.35.98s32.58ms
WordPress 5.75.05s31.34ms

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

Thanks @youknowriad for managing the release and @critterverse for helping with the release post assets.

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

Editor chat summary: 14 April, 2021

This post summarizes the weekly editor chat meeting (agenda here) held on 2021-04-14 14:00 UTC in Slack. Moderated by @andraganescu.

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

  • @youknowriad shared that the release post will be coming shortly (later today or tomorrow). It’s a release with a lot of work related to FSE, FSE Blocks, editor/frontend parity and many other updates.

Full Site Editing Scope for WP5.8

The post was shared during the chat and attention directed towards the outline of the 5.8 plans for FSE, and @annezazu shared that there is a new call for testing available. Also we now have a board with WordPress 5.8 FSE Must Haves.

Monthly Priorities & Key Project Updates

Global Styles

@nosolosw shared in his GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ tracking issue:

Landed:

  • Parts of theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. with elements PR:29891
  • preparations to make changes easier PR:30801 PR:30610
  • 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. process: make it not depend on a particular path PR:30604
  • add mechanism to migrate from a v0 schema to the latest PR:30600
  • clean-ups PR:30605 PR:30612
  • border radius for the button 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. PR:30194
  • font size & font family for the button block PR:30394
  • colors for the verse block PR:27736
  • border radius for the search block PR:30227

Ongoing

Mobile team updates

@chipsnyder shared the following updates:

Landed

  • Generic embed block behind the DEV flag, actual functionality in progress
  • Interim dual-license license in place (PR:30383)
  • Error notice improvements (PR:30383)
  • Various fixes 

In Progress:

  • Dual licensing Gutenberg: planning to merge PR with interim license this week
  • Global Style Support (PR:29969)
  • Reusable blocks
  • Search block
  • Adding search to the block inserter
  • Embed block
  • Simplification of media insertion flow
  • Slash inserter (PR:29772)

Block based widgets and navigation editors

@andraganescu shared some updates:

For the Block 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 the main focus these days is improving the performance of the block editor 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. and moving our attention to testing the level of back compat existing and achievable.

Navigation block

@andraganescu, @joen and @mkaz shared updates:

  • Progress continues, responsive menus expected this week
  • One notable merge since last is converting Page List block to menu items
  • Justification controls added to vertical
  • Working through extensibility for allowing additional block types in Social and Navigation blocks
  • preparing for patterns. Notably, looking at submenu colorssmall glitchesremoving menu item padding when there’s no background. The last one should open up a great deal of nice minimalist patterns.
  • ongoing discussion about  the block’s markup and the work on adding a Links List block

Update on the post schedule component

@retrofox shared an update about a couple of enhancements in the post-schedule component. Now, it shows calendar events with a small blue bullet. Events are scheduled and published posts.

Task Coordination

@ntsekouras

  • Landed patterns suggestion for transforming simple selected blocks (no InnerBlocks) (PR:30469)
  • Add active block variation information in Block Parent Selector (PR:30731)

@youknowriad

I’m iterating on the “template mode” of the post editor. (Creating and editing block templates in the post editor)

@joen

In addition to the navigation block, I had these two, one is a work in progress, the other could use your eyes:

@mamaduka

I mainly worked on enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. issues:

@annezazu

Working on all things FSE Outreach Program — responding to feedback for the fourth call for testing/opening lots of issues, held a hallway hangout about FSE, still testing FSE everyday, and am going to ship a fifth call for testing today with a summary post of the fourth call for testing to follow later this week.

Open Floor

Contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. at Yoast

@poena announced that last week there was a contributor day at Yoast with user testing and code contributions to FSE. A large amount of feedback issues were open and some that are already being solved.

Issues and PRs needing eyes and contributions

  • Discussion: documentation handbook plans for site editing and beyond: Issue:30637
  • FSE: Finalizing the name and menu item placement Issue: 29630
  • Post and site editor title placement: Issue:27093
  • Shared block editor settings PR, which requires some updates to the existing PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 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. and could use some eyes for sanity checks and reviews PR: 1118

Status of the existing Block Template 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.

@itsjusteileen asked about the future of the Block Template API in the context of FSE developments and noted that the code examples in the handbook don’t work anymore. It doesn’t appear that the block template API will go away and we should have some issues open if the documentation is outdated or the API broken.

Feedback needed on several widgets/blocks discussions

  • a discussion about allowing users to insert a Classic Block in a 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. on the Widgets (betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.) screen
  • a discussion about reconstructing Widgets Screen to use the Customize API. This is a fancy way to say that we should or could remove the standalone editor as the new block based widgets editor lands in a future WP release.
  • a question: assuming the block based widgets editor is an opt out feature what is the preferred way to opt out

Design process for the widgets updates

@Anthony Nolan brought up a question around where can one find the process that led up to the current state in the block based widgets editor project, and was guided towards going through closed issues such as this one or this one, which cover updating the customizer or look at the open project to see how the stand alone widgets editor progresses.

#core-editor, #core-editor-summary, #gutenberg

CSS Chat Summary: 08 April 2021

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

Housekeeping

  • Our next bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub will be on 22 April at 8pm UTC. If anyone is interested in leading it please let us know in the #core-css channel

Discussion: CSSCSS Cascading Style Sheets. deprecation path

  • The issue initially came up via this ticket and will grow as we start to introduce custom properties into the WP Adminadmin (and super admin) CSS
  • @helen previously outlined an approach in this post – deprecated CSS would be moved to a deprecated file that plugins can still optionally enqueue. It would be helpful if it could run standalone, and if an example of how to implement and run it could be provided e.g. as a GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Action workflow
  • Deprecated CSS would generally be at the selector level
  • @sabernhardt provided the recent examples of .icon16 (raised in #35717) and .wp-ui-text-icon
  • We agreed that .icon16 would be a good deprecation candidate to test the process
  • @notlaura suggested adding deprecated selectors to a disallowed list in stylelint, and a PostCSS script to build the deprecated.css stylesheet. PostCSS & stylelint could share the same config file to track deprecated selectors
  • @Ahmed Saeed suggested adding a deprecation notice as a CSS custom property which would be discoverable in dev tools
  • @ryelle added that we would probably want multiple ways to flag deprecated CSS and @tellthemachines agreed it would need to be part of the build process
  • @notlaura suggested a deprecated-with-warnings.css file which is enqueued if WP_DEBUG is on
  • @ryelle clarified the two parts of the problem: identifying the deprecated CSS, and developing external tools for pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party developers

Next step

  • The next step would be writing a TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. outlining the solution & raising it in dev chat
  • @tellthemachines offered to write the ticket

Discussion: CSS naming and usage conventions for JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. targeting (#40686)

  • The intention is to establish a convention for naming CSS classes which are intended for use with JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.
  • There was some discussion to clarify the problem, but in relation to CSS deprecation we need to ensure we’re not deprecating CSS classes that are used by JavaScript
  • We agreed that a js- prefix would clarify that a particular classname is intended for JavaScript interaction

Open Floor + CSS Link Share

  • CSS Audit (#49582) @ryelle has updated the readme & started the process of transferring the repo over to the WordPress org
  • Custom property naming @ryelle has started drafting a make/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. post about the custom property naming discussions which she’ll share in the channel before posting
  • @danfarrow reminded us that April 09 is the annual CSS Naked Day!

Thanks everyone!

#summaries

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

  • 26 commits
  • 42 contributors
  • 54 tickets created
  • 9 tickets reopened
  • 45 tickets closed

Reminder: WordPress 5.7.1 is planned for April 14, 2021. The release candidate is available for testing.

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.

Code changes

Administration

  • Update various background colors for increased contrast – #52760

Build/Test Tools

  • Remove remaining Travis CI references – #52161, #52666
  • Prevent PHPUnit tests on push for forks/private mirrors – #52983
  • Update dependencies in default themes – #52624
  • Update development dependencies from WP packages – #52991
  • Revert package-lock.json change in [50682]#52768
  • Update some dependencies – #52624

Bundled Themes

  • Update the “Tested up to” value – #52859
  • Twenty Twenty-One: Rebuild IE specific editor stylesheet – #52981, #52702

Coding Standards

  • Rewrite a fragment in request_filesystem_credentials() for clarity and to avoid repetition – #52627
  • Use strict comparison in wp-admin/includes/file.php#52627
  • Simplify the check for parent terms in export_wp()#52627
  • Use strict comparison in wp-admin/includes/credits.php#52627
  • Use strict comparison in wp-admin/includes/comment.php#52627
  • Remove unnecessary unset() calls in WP_Importer methods – #52996
  • Use strict comparison in wp-admin/includes/dashboard.php#52627
  • Give a variable in wp-admin/themes.php a more meaningful name – #52627

Customize

  • Set `playsinline` attribute for custom 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. videos – #50111

Editor

  • Use a consistent way to retrieve post ID on Edit Post screens – #52995
  • Ensure wordpress/inteface package is listed as a dependency – #52991

Login and Registration

  • Check if $_GET['login'] is set before using it in wp-login.php#52980

Media

  • Do not lazy load hidden images or embeds – #52768

Options, 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. APIs

  • Update default color scheme swatch to match CSSCSS Cascading Style Sheets. changes – #52750

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

  • Move the rest_jsonp_enabled 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. before setting the Content-Type header – #52691

Site Health

  • Reduce false reports of HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. failures – #52783

Themes

  • Remove unused code fragment from wp-admin/themes.php#53005

Props

Thanks to the 42 people who contributed to WordPress Core on Trac last week:

@peterwilsoncc (3), @SergeyBiryukov (3), @mukesh27 (3), @johnbillion (2), @TimothyBlynJacobs (2), @ocean90 (2), @ravipatel (2), @klevyke (1), @annalamprou (1), @AnotherDave (1), @ayeshrajans (1), @bobbingwide (1), @Clorith (1), @dragongate (1), @geoffrey1963 (1), @eatsleepcode (1), @gab81 (1), @ninetyninew (1), @Ipstenu (1), @k3nsai (1), @mmuyskens (1), @nicegamer7 (1), @pwallner (1), @ryelle (1), @swissspidy (1), @desrosj (1), @melchoyce (1), @dd32 (1), @rkradadiya (1), @davidbaumwald (1), @jrf (1), @rachelbaker (1), @kebbet (1), @adamsilverstein (1), @audrasjb (1), @fabianpimminger (1), @flixos90 (1), @jonkastonka (1), @joyously (1), @SirStuey (1), @satrancali (1), and @Toru (1).

Please welcome our 17 (!!) new Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. of the week ♥️
@klevyke, @annalamprou, @AnotherDave, @dragongate, @geoffrey1963, @eatsleepcode, @gab81, @ninetyninew, @k3nsai, @mmuyskens, @nicegamer7, @pwallner, @rkradadiya, @fabianpimminger, @jonkastonka, @SirStuey, and @satrancali.

Core committers: @sergeybiryukov (11), @desrosj (5), @peterwilsoncc (4), @ocean90 (2), @gziolo (2), @rachelbaker (1), and @ryelle (1).

#5-7-1, #5-8, #week-in-core

Dev Chat meeting Summary – April 7, 2021

This is the weekly meetings summary of the WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team. The facilitator for this week’s chats was @peterwilsoncc at 05:00 UTC and @francina at 20:00 UTC. Here is the meeting agenda.

Link to 05:00 UTC devchat meeting on the core channel on Slack

Link to 20:00 UTC devchat meeting on the core channel on Slack

Announcements & News

Upcoming releases

WordPress 5.7.1

In line with the trial for consistent minor release leads for each major branch, all the 5.7.x point releases will be led by @peterwilsoncc, with @audrasjb as deputy.

Here is the expected 5.7.1 release schedule:

  • Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).: Wednesday 7 April, 2021 around 23:00 UTC (released)
  • Final release: Wednesday 14 April, 2021 around 23:00 UTC

@audrasjb announced (and hosted) a new bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub right after the devchat.

Note: At the time this meeting recap is published, WP 5.7.1 Release Candidate 1 is now available for testing.

WordPress 5.8

@francina shared some blogposts worth reading, where a new, experimental, release cycle is proposed, and the early bug scrubs schedule is now available.

Core related blogblog (versus network, site) posts

@annezazu shared that the current FSE call for testing is now open for feedback until April 12th rather than April 8th. Hopefully, this gives people an extra weekend to chime in and share their experience.

@chanthaboune pointed out that the first go/no go date for FSE in WP5.8 is next Tuesday.

@nalininonstopnewsuk shared that it is possible share FSE Call for Testing on social and FSE Call for Testing on LinkedIn.

@francina shared this blog post from the Marketing Team: Thoughts on Marketing, FSE, and What’s Next. It’s relevant to the current release, so please read and leave your feedback.

Component maintainers updates

Build/Test Tools (@sergeybiryukov): Work has continued on backporting recent build and test tool improvements to the older branches still receiving security updates. See ticketticket Created for both bug reports and feature development on the bug tracker. #52653 for more details. A post is also upcoming on make/core.

Date/Time, General, 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., Permalinks (@sergeybiryukov): No major news this week.

Menus, Widgets, Upgrade/Install (@audrasjb): No major news this week.

Site Health (@clorith): The only ticket in milestone 5.7.1 was committed in time.

@francina also pointed out the ticket she opened in Meta Trac concerning Component maintainers updates. In the past month she also reached out to the majority of the components and removed inactive maintainers. Right now there are quite a lot of components without maintainers.

The attendees discussed about maintainers recruitment. If anyone is interested to help to maintain a component, @audrasjb pointed out that he would be happy to mentor/explain what he is doing on the few components he maintains. @francina proposed an online meeting/Q&A, like the casual online gatherings hosted by the community team.

Open floor

@paaljoachim asked what is the definition of what can and not not be included in a 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..

@jeffpaul quoted the Core team handbook: “A minor release is intended for bugfixes and enhancements that do not add new deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. files and are at the discretion of the release leadRelease Lead The community member ultimately responsible for the Release. with suggestions/input from component maintainers and committers.”

@sergeybiryukov added that generally, minor releases are addressing regressions introduced in the latest release and some follow-up changes to new features, with occasional fixes for bugs from other recent releases, and occasional enhancements that the release leads feel are necessary.

#5-7-1, #5-8, #core-auto-updates, #dev-chat, #summaries, #summary