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

“What’s new 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/…” posts (labeled with the #gutenberg-new tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


Gutenberg 13.0 is the release containing all the updates that will be part of WordPress 6.0. This version also brings an improved editor experience, better responsive blocks, granular control over new design details, and prominently exposed blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. patterns.

Table of Contents


Select text across blocks

You can now select and copy text fragments that span multiple blocks.

This is a step towards bridging the gap between Gutenberg as a block editor and Gutenberg as a text editor. While blocks enable powerful page-shaping capabilities, they also compete with text for selection and clipboard space. Gutenberg 13.0 is a step towards an editor where blocks and text coexist frictionlessly.

Show the featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. in the Cover block

With the updated Cover block, the post’s featured image is no longer an afterthought – it is an integral part of the post. Just click the “Use Featured Image” button, and that’s it!

Build responsive Groups, Rows, and Stacks

Blocks are now easily grouped into either a Stack layout or a Row layout with a single click.

In Gutenberg 13.0, selecting many blocks at once exposes the Stack and Row variations of the Group block right in the toolbar.

One advantage is convenience, but an even more important one is responsiveness. The Stack block automatically adjusts to the smaller screen sizes, making it easier to build truly responsive layouts.

Make your blocks stand out with customizable borders

You can now fine-tune the borders of your blocks thanks to the new `BorderControl` component. Whether it’s border color, style, or width – it got you covered!

Build beautiful pages in no time using Patterns

Building a website starting from a blank page can be overwhelming – where do you even begin?

Fortunately, there is a way of kickstarting the creative process with a buffet of patterns!

As a developer, you can register post-content block patterns to will be then proposed both in the new page editor and in the Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block.

Enjoy the improved Navigation Block

Adding a new Navigation Block in the editor now defaults to the first available menu when only one exists – no manual selection required.

Text decorations such as underline and line-through are supported in the block. You can also add link descriptions to the Navigation Link blocks.

The Navigation block also received additional bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and improvements that can be reviewed in the detailed changelog below.

Other notable highlights

Props to new contributors

Kudos to the first-time contributors that joined during the last release cycle!

  • @arcangelini: 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.: update post editor help links to use newer documentation (#39688)
  • @AlanSyue: Document: add the default database password to the getting started document (#39780)
  • @chintu51: Documentation: Import the Notice package in the example (#40022)
  • @dali-rajab: Documentation: Fix linguistic error in theme-json.md (#39995)
  • @EliezerSPP: Scripts: Fix typo in the webpack config (#39867)
  • @jezemery: Docs: Update typo in the code comment (#39429)
  • @JustinyAhin: Fix collapsing issue with the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org input suggestion container #40147
  • @karolinakulinska: Add missing props mediaPreview in the ReadMe (#38114)
  • @mburridge: Adds links to contributing pages to README file. (#39959)
  • @kadimi: Fix grammar error in documentation (#40009)
  • @shimotmk: Fix duplicate Additional CSSCSS Cascading Style Sheets. classes post author, etc. (#39759)
  • @sunil25393: Site Logo: Correctly reset the site icon (#40046)
  • @roseg43: Media & Text: Remove font size declaration from template (#40329)
  • @zutigrm: Update 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. docs for theme authors (#40005)

If you are interested in contributing but do not know where to start, join the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor weekly meetings on Wednesdays at 14:00 UTC in #core-editor focused on all things Gutenberg.

Changelog

Enhancements

Block Library

  • Archives: Add yearly, weekly and daily archive settings to the archives block. (38440)
  • AvatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name.: Increase the size of the Avatar image to be 2x of the width chosen. (39728)
  • Code: Preserves source of unrecognized blocks inside of Code Editor. (39523)
  • Column Block: Add blockGap support. (40122)
  • Comment blocks: Update block descriptions. (39735)
  • Comments Query Loop:
    • Always inherit from core Discussion settings. (39664)
    • Update default template. (40165)
  • Cover: Makes cover block dynamic and adds featured image binding. (39658)
  • Gallery: Add css var to enable theme authors to set a default gallery gap. (40008)
  • Group:
    • New Group, Stack, Row block descriptions. (40176)
    • Add the stack block variation to the group block. (39690)
    • Add group block variations to Group toolbar. (39920)
    • Block Variations Transforms: Display as icon buttons if each block variation has a unique icon. (40036)
    • Improve Stack and Row setup states. (39935)
    • Turn the wrap to multiple lines option off by default on the row block. (40171)
  • List: Add a box-sizing border-box to lists. (39895)
  • Navigation:
    • Avoid automatic saving of uncontrolled Nav blocks. (39883)
    • Auto set first 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. as current if only 1 exists. (39880)
    • Enable navigation nesting to be filtered and manually set. (38621)
    • Improve feedback on Nav Menu deletion. (39677)
    • Skip text decoration support serialization and apply as CSS class. (36345)
    • Navigation Link: Add support for navigation-link descriptions. (39808)
  • Post Comments: Deprecate the Post Comments block. (40167)
  • Post Tags: Update the Post Tags block icon. (40096)
  • Query Loop: Update query block creation and replacement flows. (38997)
  • Query page numbers block: Add same supports that next/prev page have. (39835)
  • Quote: Add color support to the quote block. (39899)
  • Read more: Add support for text color. (39796)
  • RSS:
    • Add missing classnames. (39716)
    • Try prepending HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. to a URL. (39758)
    • Update max items. (39819)
  • Site Logo and Featured Image: Add duotone to placeholders. (40085)
  • Social Links: Disable vertical alignment controls for navigation and social links. (40182)
  • Template Part: Adjust the layout of thumbnails in the template part replacement modal. (39766)

Components

  • Borders: Add new BorderControl component. (37769)
  • Borders: Add BorderBoxControl component. (38876)
  • BorderControl: Add ability to apply custom CSS classes to popover content. (39753)
  • BorderControl: Fix vertical alignment of inner slider control. (39750)
  • Card: Adjust border radius size. (40032)
  • ColorPalette: Add SlotFillProvider to story to correct tooltip positioning. (39674)
  • UnitControl: Forward onBlur prop as expected. (39589)
  • Add ToggleGroupControlOptionIcon component. (39760)
  • CustomSelectControl: Make chevron consistent with SelectControl. (40049)

Styles Sidebar

  • Add search in the block types list. (39117)
  • Add labels to the global styles variations. (39322)
  • Show translated strings coming from global styles variations. (39960)
  • Adjust icon vertical alignment with labels. (39982)
  • Tweak preview box. (39978)
  • Update Other styles to Browse styles. (39752)
  • Wrap the preview box in the CardMedia component. (39980)

Block Editor

  • BlockToolbar: Show Group button in toolbar when multiple blocks are selected. (39710)
  • Improvements to use-focus-first-element and utils (dom). (39461)
  • Multi-selection: Allow partial block selection. (38892)
  • Order ids in getClientIdsOfDescendants and getClientIdsWithDescendants selectors. (39985)
  • Revert Try: Summary panel 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. max-height.. (40127)
  • Link directly to files stored in the Media Library using the Link UI. (39701)
  • Partial multi-select: Fix error with dead key. (39850)

Post Editor

  • Document Settings: Summary panel excerpt max-height. (40090)
  • Migrate editor package isPublishSidebarEnabled to preferences store. (39707)
  • Migrate post editor panels state to preferences store. (39604)
  • Migrate interface enableItems data to preferences package. (39449)
  • Try: Remove 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. 100% width rule. (38614)

Site Editor

  • Add a dedicated sidebar for managing layout of navigation menus. (39290, 40083)

Block Locking

  • Add the useBlockLock hook. (40210, 40220)
  • Display lock status in List View. (40088)
  • Styling changes for modal. (39998)
  • Try: Reusable block edit locking. (39950)

Reusable Blocks

  • Make the Cancel button tertiary. (39872)
  • Use the symbol icon for Reusable Block menu item. (40020)

CSS & Styling

  • Revert Global styles: Remove block gap control. (39845)
  • Block Styles: Revert changing default overflow-wrap to all headers, lists, and paragraphs. (39846)
  • Style Engine:
    • Add margin support. (39790)
    • Block supports backend. (39446)

Design Tools

  • Add vertical alignment to blocks using flex control. (40013)
  • Block Supports: Allow skipping serialization of individual features. (36293)

Block APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Allow multiple view scripts per block. (36176)

Patterns

  • Option to pick a pattern on page creation. (40034)
  • Translate pattern metadata (title & description). (40047)
  • Remove batch support declaration from block patterns REST, fix navigation areas. (39834)

Theme Export

  • Change the schema URL. (40106)
  • Convert spaces to tabs in theme.json. (39751)
  • If the theme declares a version number then add a schema. (39775)
  • Remove default theme.json properties on export. (39848)
  • Restore appearanceTools when exporting a theme. (39840)
  • Sort theme.json properties. (39842)
  • 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 Theme Export from 6.0. (40215)

Webfonts

  • Do not trigger warning on already enqueued font families. (40060)
  • Register webfonts defined in styles variations. (39886)
  • Register and enqueue fonts by font-family. (39559)
  • Return font family slug when registering a webfont. (40120)

Bug Fixes

Block Library

  • Avatar:
    • Do not show User Selection inside Comments Loop, on the Site Editor. (40100)
    • Fix wrong aligment. (39794)
  • Buttons: Fix focus on insert. (39684)
  • Comments Query Loop: Fix pagination setting not being applied on frontend. (40146)
  • Group: Fix variation isActive check to cover case where type is not set, but inherit is. (40065)
  • Post Author: Fix duplicate Additional CSS classes post author, etc. (39759)
  • Post Comments Form: Allow to add it to the Site Editor. (40108)
  • Post Template: Add missing wp-block-post class in the editor. (40010)
  • Post Terms: Use variation title in placeholder. (40092)
  • Query Loop: Fix some missing term sanitizations. (39970)
  • RSS: Add missing self-URL check. (39756)
  • Site Logo:
    • Correctly reset the site icon. (40046)
    • Fix duplicate Additional CSS classes site-logo Block & social-link Block. (39777)
    • Fix adding the site icon. (40041)
  • Template Parts: Limit slug to Latin chars. (38861)

Components

  • Components utils: Use Object.assign instead of { …spread } syntax. (39932)
  • ToggleGroupControl: Reintroduce backdrop animation. (40021)

Block Editor

  • List View:
    • Only show ellipsis on first selected item or when focused. (40174)
    • Wrap title of block in <ListView> in a span. (39687)
    • Disable dragging when block movement is locked. (40086)
    • Fix list-view focus radius. (39969)
  • MultiSelectSidebar: Fix spacing of color panel items. (40071)
  • Fix Block Editor Iframe component to render in standards mode. (38855)
  • Fix collapsing issue with the URL input suggestion container. (40147)
  • Try: Fix 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. with mover and block control sizes. (40037)

Site Editor

  • Add block styles slot to the site editor so block style previews can be rendered. (40245)

Block Locking

  • Reusable Blocks: Hide Convert to Blocks when locked. (39939)
  • Template Parts: Hide Detach blocks when locked. (40000)
  • Stabilize settings. (40145)
  • Display block title when no switcher is available. (40207)

Styles Sidebar

  • Fix global style variations previews not showing correct height. (39737)
  • Restore defaultPalette/defaultGradients to only hide UI. (39966)
  • Global Styles: Fix alignment of Global Styles color controls. (40081)
  • Global Styles: Fix black inconsistencies in sidebar. (40055)

Design Tools

  • Block gap: Check for splitOnAxis in the onChange callback. (39788)
  • Duotone: Backport changes made to duotone in core. (40067)
  • Layout: Only show inherit toggle in default layout (hide on Row block variation). (39665)

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

  • Fix incorrect meta box position when switching device preview. (38910)

Other packages

  • Data: Exclude all meta-selectors, handle selectors without resolvers. (39976)
  • Date: Fix ordinal token (S), RFC2822 token (r), and timezone offset handling. (39670)
  • RichText: Fix splitValue with undefined selection. (39822)
  • Scripts: Add vendor/ to .markdownlintignore. (39724)

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

  • Fix 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/. class redeclaration. (40265)

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)

  • Add select-parent button to block toolbar More options menu. (40105)
  • Hide block movers in new navigation sidebar. (40039)
  • Accessibility improvements to the query pagination block. (39536)

Performance

  • Optimize getClientIdsOfDescendants and getClientIdsWithDescendants selectors. (40054)
  • Try to optimize getClientIdsOfDescendants using createSelector memoization. (40112)

Developer Experience

  • create-block: Add npmDevDependencies as a template variable. (39723)
  • Schemas, block.json:
    • Add ancestor prop to schema. (39894)
    • Add supports.lock to schema. (40161)
  • Schemas, theme.json:
    • Add Avatar to schema. (40189)
    • Add title key to 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. schema. (39936)
  • Scripts: Add new flag to allow customization of the src directory. (39618)

Experiments

  • List v2:
    • Add migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. from v1 to v2. (39799, 39892)
    • Add new list item icon. (39929)
    • Avoid using global select. (39821, 39849)
    • Handle Enter in empty list items. (39858)
    • Outdent and Indent actions for the list block v2. (39773)
  • Quote v2:
    • Add __experimentalEnableQuoteBlockV2 flag. (40089)
    • Add align feature to have feature parity with v1. (39876)
    • Add innerblocks support. (39704)
    • Add migration. (39844)
    • Add transforms. (39718)
    • Bootstrap flag in experiments page. (39703)
    • Retain selection after transform. (39838)
    • Revert markup changes. (39824)
    • Fix how attributes are registered. (39729)
  • __experimentalBlockPatterns: Load them with REST API. (39185)

Documentation

  • Add missing props mediaPreview in the ReadMe. (38114)
  • Add note to Handbook themes page about FSE eligible themes. (39662)
  • Adds links to contributing pages to README file. (39959)
  • Block-Editor Docs: Link to component readme. (37975)
  • Components: Add changelogs for new border control components. (39747)
  • Components: Add more prominent documentation around popover use. (39709)
  • Disabled: Add documentation for Disabled.Context. (39627)
  • Docs: Update README.md for FormToggle component. (36932)
  • Docs: Update block-filters.md. (38462)
  • FIX missing images of Gutenberg Data Apps document. (39499)
  • Fix grammar error in documentation. (40009)
  • Fix linguistic error in theme-json.md. (39995)
  • Import the Notice package in the example. (40022)
  • Sidebar: Update post editor help links to use newer documentation. (39688)
  • Style Engine: Remove since 6.0 comment. (40006)
  • Update typo in the code comment. (39429)
  • Updating versions in WordPress to add 5.9.x & 6.0. (39866)

Code Quality

Block Library

  • Avatar: Two unneeded spaces removed. (39902)
  • List: List block indent outdent naming. (39956)
  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.: Use Disabled.Context. (39669)
  • Gallery: Use wp_unique_id() instead of uniqid() in block_core_gallery_render(). (39983)

Block Editor

  • Block Lock toolbar remove leftovers. (39881)
  • List View: Remove unwanted default false in ListView 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". component. (39719)

Components

  • BaseControl: Migrate to TypeScript. (39468)

Plugin

  • Add the missing class-wp-style-engine-gutenberg.php in the plugin build (40191)
  • Block Editor: Stabilize generateAnchors setting. (40143)
  • Correctly classify functionality in the lib folder. (39972)
  • Consolidate WP_Theme_JSON_Resolver changes in both lib/compat/wordpress-6.0 and lib/experimental. (40140)
  • Don’t run preg_match() on null values. (39927)
  • Guard code from redeclaration errors after WP core merge. (39888)
  • Move files from lib to the compat subfolder. (39904)
  • Move changes from #38681 and #39966 to compat 6.0. (40123)
  • Plugin: Ensure that PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher code for blocks is correctly assigned to WP releases. (40179)
  • Remove the experimental Progressive Web Apps (PWA) integration. (38810)
  • Revert Plugin: Remove the experimental Progressive Web Apps (PWA) integration. (39930)
  • Theme JSON compat: Refer to static instead of self for ROOT_BLOCK_SELECTOR const. (39921)

Packages

  • Core Data:
    • Migrate entities.js to Typescript. (39547)
    • Rename core-data/src/selectors.js to selectors.ts (TypeScript). (40026)
    • Fixes necessary for converting to TypeScript. (39211)
    • Create type for undo state and initialize atomically. (39659)
    • Expand type signature of useQuerySelect. (39656)
    • Fix minor type issue in onSubKey. (39655)
  • Data:
    • Mark/data apis unstable. (40028)
    • Two code improvements. (39975)
  • Scripts: Fix typo in the webpack configuration. (39867)

REST API

  • Block patterns REST endpoint: Use snake case for field names. (40254)
  • Update patterns REST controllers namespace to stable. (40252)

Styles

  • Rename name to title in the global style variations. (39715)

Tools

Linting

  • Revert unwanted breaking changes in eslint-plugin. (39745)
  • UseBlockDisplayTitle fix ESLint warning. (39815)
  • UseEntityRecord(s) fix ESLint warning. (39852)

Testing

  • ActivateTheme wait for the user to switch. (39873)
  • Add a unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. for wp_recursive_ksort. (40149)
  • Check for missing figcaption before clicking gallery image again from list view. (39666)
  • Comments Query Loop: Add end-to-end tests for the block. (39502)
  • waitForNavigation in Comments Query Loop test. (39818)
  • Fix flaky issue reporter not splitting … separator. (40129)
  • Fix flaky test results overflowing the character limits of 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/’s issue. (39928)
  • ListView: Fix end-to-end flakiness. (39742)
  • Migrate customizing-widgets to Playwright. (39540)
  • Migrate cut-copy-paste-whole-blocks to Playwright. (39807)
  • Migrate new-post to Playwright. (39539)
  • Navigaton block: Fix flaky test by finalising request resolution in Nav block end-to-end test. (39633)
  • Navigation Editor: Skip failing navigation editor tests. (39746)
  • Style variations: Apply style variations using labels. (39725)
  • Template Mode: Try fix flaky tests. (39711)
  • Template parts: Try fixing template part tests again. (40007)
  • Use a description that matches the filename for the annotations end-to-end tests. (40011)
  • Use templates endpoint to delete templates. (39965)

Build Tooling

  • Add peer deps for postcss and end-to-end tests. (39080)
  • Plugin: Pin dependencies that slipped into 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.. (39865)
  • Mark new blocks to be included in WordPress core. (40186)
  • Style engine: Move backend scripts to package. (39736)
  • Scripts: Add .jsx file extension to Webpack. (39613)
  • Tooling: Escape quotes in npm scripts. (39447)

Project management

  • Remove Antonis as codeowner. (39697)

Performance Benchmark

The following benchmark compares performance for a particularly sizable post over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

Post Editor

VersionTime to first blockKeyPress Event
Gutenberg 13.05.00s45.08ms
Gutenberg 12.95.03s44.21ms
WordPress 5.95.32s41.91ms

Site Editor

VersionTime to first blockKeyPress Event
Gutenberg 13.05.65s50.04ms
Gutenberg 12.95.06s42.07ms
WordPress 5.95.42s37.19ms

Kudos to all 70 contributors that participated in the release! 👏

Thanks to @joen for the release post assets, and to @priethor for all the contributions and improvements to this draft.

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

6.0 Product Walk-Through Recap

This post is a recap of the live product walkthrough hosted by members of the release squad for WordPress 6.0. In this post, you will find a brief summary, a link to the recording, a chat transcript, and the transcript from Zoom’s closed-captioning system.

Quick Links

Recap

During this event, @matveb provided a casual, guided walkthrough of many new features that are planned for WordPress 6.0 (as well as some “stuff” that will likely be released thereafter.) Members of the release squad joined in as panelists for this interactive discussion which included Q&A submitted from among the 120+ event attendees.

Based on the positive experience among the panelists and attendees, I believe it is feasible that another walkthrough could take place closer to the release date as well as become a regular part of the communications cycle for future releases.

In future iterations, alternative platforms may be explored, such as a live stream service so the event can be viewed on Youtube, for example. Future events could also be longer to allow for deeper discussions and explorations of certain features or be themed to just discuss certain areas of the project.

Promotion of this event was limited as well, given the experimental nature of the format. Judging from the positive initial feedback, subsequent events can be promoted more broadly moving forward.

Following the event, there were some minor challenges in regards to obtaining a proper-resolution video for archival and sharing purposes and capturing a good transcript of the event. Those issues took longer than expected to resolve, but they are not blockers, and future events should likely not encounter these issues to the same degree.

I would like to extend some sincere “thank-yous” to the following folks who helped bring this idea to life (before, during, and after): @matveb, @daisyo, @bph, @priethor, @critterverse, @annezazu, @ndiego, and @santanainniss. Also, thank you to @marybaum, @jeffpaul, @annezazu, and @bph, for reviewing this recap post.

If you have input on how this event might be enhanced or modified, please share your thoughts as comments below.

[back to top]

Recording

1-hour replay of the 6.0 WordPress product walk-through held via Zoom

[back to top]

Issues of Note for 6.0

Thank you to @annezazu, @priethor, and @joen, for gathering and compiling the information below.

This is a tracking issue to provide a quick overview of the editor’s remaining triaged tasks and is expected to evolve in the coming weeks as the 6.0 release proceeds, in the spirit of the similar issue used in the last release cycle.

What was found in the 6.0 walk-through and what currently exists in the project board is serving as the foundation.

The following issues are required to release specific functionalities, but they do not 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. or jeopardize the whole release:

  • Webfonts 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.: only enqueue fonts that are being used https://github.com/WordPress/gutenberg/pull/39988
  • Flex layout: Wrap multiple lines as default partially to improve transform to row experience: https://github.com/WordPress/gutenberg/issues/39651
  • Keep width settings when transforming to Row/Stack/Group (ex: selecting a few cover blocks and transforming): https://github.com/WordPress/gutenberg/issues/40059
  • Apply duotone filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to placeholders for Site Logo & Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. blocks: https://github.com/WordPress/gutenberg/issues/40061

Nice to have refinements for 6.0

Backlog for 6.1

This section represents a more prioritized backlog for 6.1 since it’s not too early to begin preparing for the next release.

General Backlog

This section represents a general backlog, meaning it’s not likely to align with any immediate releases.

[back to top]

Chat 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. & Transcript

Click to expand and review the chat and closed-caption transcription captured during the live event.

Continue reading

#6-0

Editor chat summary: 26 January, 2022

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, January 26 2021, 03:00 PM GMT+1 in Slack. Moderated by @paaljoachim.

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

What’s new in Gutenberg 12.4 (19 January).
Gutenberg 12.5.0 RC1 released.

WordPress 5.9

WordPress 5.9 was released 25th of January!

Key project updates

Based on the scope for Site Editing projects.

Site Editor and Patterns

Have no official updates at this time.

@get_dave

Tracking Issue status update
We’re very keen to hear feedback on the block and also what folks would like to see added in the future. Drop in to (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) #feature-navigation-block-editor to let us know.

Global Styling

@jorgefilipecosta

  • One of the focus is documenting and making sure new contributors can be on-boarded and contribute to its engine.
  • There was also lots of progress on the style variations project.

Mobile Team

@hypest

In Progress

  • Finalizing GSS Font size and line height.
  • Add more integration tests (reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-native-testing-library based).
  • Prepare to pick up other projects.

Components Team

@mciampini

Task Coordination

@jeffpaul

@santosguillamot

@amustaque97

@mamaduka

  • Collaborated with @joen on some last-minute Pattern preview fixes. It’s not perfect, but it’s definitely an improvement. We will improve UXUX User experience here 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..
  • There’s another PR for Pattern previews fixes and is looking for testers.
  • I’m also looking for feedback for Plugin error boundaries in editors.

Open Floor

Announcements, questions and discussions.

@bph

Announcement: Developer Hours.
We have the first event scheduled on WordPress Social Learning space on Feb 8 at 11am / 16:00 UTC with an awesome panel with @fabiankaegy @karmatosed and @Nick Diego .

@KubiQ

Question:
What about unregisterBlockType ? Currently there is documentation but it’s not working for widgets screen and FSE editor. Check out the discussion on Slack.

@markhowellsmead

Question:
I’m trying to make a start on a new theme using 5.9 and without the Gutenberg plugin. Is there anything I need to do to get changes 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. to load? (e.g. reset a cached version?) Check out the discussion on Slack in this tread.

@Liam Gladdy

Question:
Here from the Advanced Custom Fields dev team. We’ve been working to bring compatibility with the site editor and it’s 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. but have hit a stumbling block of trying to load assets in. Things like dashicons and jQuery UIUI User interface elements like date pickers don’t work because they’re only loaded in the global context, and are hard coded to the document or window object. We’ve considering loading them again manually on the late block_editor_settings_all filter, but that feels wrong… Is there a recommended way forward? Check out some of the feedback on Slack.

@jeffpaul

Improving our PR merge > release process to ensure we’re capturing all the people who should be credited from a merge (e.g., helpful 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. reporters, helpful issue commenters, helpful PR testers). Right now that does not appear to happen with regularity. Check out feedback on Slack.

@paaljoachim

I would like to bring up is that we as in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. editor facilitators have been looking at ways in how we can improve the core editor chats. Do please check out the post proposed improvements to the core chat agenda and format.

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

A Week in Core – January 24, 2022

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 January 17 and January 24, 2022.

  • 25 commits
  • 33 contributors
  • 60 tickets created
  • 24 tickets reopened
  • 65 tickets closed

The Core team is currently working on the next major release, WordPress 5.9 🛠

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

  • Properly handle HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in the News & Events 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.#41208

Bundled Themes

  • Bump the versions for bundled themes for release – #54783
  • Reverts [52549] (default presets in use by default themes) – #54782
  • Twenty Twenty-Two: Re-add the link to the theme’s HelpHub changelog – #54318
  • Twenty Twenty-Two: update the required version – #54318

Coding Standards

  • Use a more appropriate variable name in link_advanced_meta_box()#54856

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.

  • Remove Menus panel when a theme does not support menus – #54888
  • Remove Widgets panel when a theme does not support widgets – #54888

Date/Time

  • Add a unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. for the return type of current_datetime()#53484

Docs

  • Docblockdocblock (phpdoc, xref, inline docs) corrections for get_block_file_template()#54879
  • Docblocks consistency fixes after [52604]#54690
  • Fix typos in some DocBlocks – #54729
  • Further update the send_retrieve_password_email 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. documentation for consistency – #54690
  • Replace “Current theme” with “Active theme” in various DocBlocks – #54831, #54770

Editor

  • wordpress package updates – #54487
  • Bump editor packages to include the latest fixes – #54487
  • Update wordpress packages for WP 5.9 RCrelease 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). 4 – #54487
  • Update wordpress packages for WP 5.9 RC 3 – #54487

General

  • Clarify the deprecation messages in the _deprecated_*() functions family – #54658

Help/About

  • Update Freedoms page for 5.9 – #54270

Internationalization

  • Improve the context for color-related strings in WP_Theme::translate_header()#54804

Plugins/Themes

  • Allow to install/activate plugins/themes which require the WordPress version currently in development – #54882

Script loader

  • Prevent DB errors during Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site install – #54800

Upgrade/Install

  • Update $_old_files for 5.9#54894

Users

  • Add new 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. to filter retrieve password emails – #54690
  • Revert the variable change in [52606] that caused the tests to fail – #54690

Props

Thanks to the 39 people who contributed to WordPress Core on Trac last week: @audrasjb (8), @costdev (6), @SergeyBiryukov (5), @hellofromTonya (4), @johnbillion (3), @talldanwp (3), @desrosj (2), @kjellr (2), @peterwilsoncc (2), @poena (2), @shedonist (1), @ryelle (1), @get_dave (1), @schlessera (1), @aristath (1), @kebbet (1), @connapptivity (1), @ocean90 (1), @sabernhardt (1), @sayedulsayem (1), @pbearne (1), @iandunn (1), @kpegoraro (1), @nickciske (1), @mukesh27 (1), @Presskopp (1), @davidbaumwald (1), @hellofromtonya (1), @mkox (1), @cbravobernal (1), @joen (1), @mamaduka (1), and @isabel_brison (1).

Congrats and welcome to our 3 new contributors of the week: @connapptivity, @kpegoraro, @mkox ♥️

Core committers: @sergeybiryukov (7), @audrasjb (5), @noisysocks (4), @desrosj (3), @peterwilsoncc (2), @davidbaumwald (1), @ocean90 (1), @jffng (1), and @hellofromtonya (1).

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

A Week in Core – December 27, 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 December 20 and December 27, 2021.

  • 28 commits
  • 45 contributors
  • 36 tickets created
  • 1 tickets reopened
  • 25 tickets closed

The Core team is currently working on the next major release, WordPress 5.9, and the beta 4 was released last week 🛠

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

  • Add “File” to Theme/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 Editor menu names and relocate “Plugin File Editor” to Tools for blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes – #54382
  • Make sure the $customize_url variable is always defined in the adminadmin (and super admin) menu – #54682

Application Passwords

  • Show 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. required message without filtering when not enabled or not in local environment – #53658

Build/Test Tools

  • Allow the PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. plugin in Composer configuration – #54686
  • Restore the https URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for browserify-aes#54487
  • Separate the tests for recommended PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. versions in readme.html#41490

Bundled Themes

  • Twenty Twenty-Two: Sync updates from 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/ for 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. 4 – #54318

Coding Standards

Docs

  • Improve the @since 5.9.0 note for WP_Theme_JSON::PRESETS_METADATA#53399

Docs

  • Typo correction in validate_file() comments – #53399
  • Typo correction in wp_dropdown_languages() DocBlockdocblock (phpdoc, xref, inline docs)#53399
  • Typo correction in wp_get_layout_style() introduced in 5.9 – #53399

Editor

  • Add edit_theme_options capabilities to wp_navigation post type – #54487
  • Add missing default template areas to the post/page editor settings – #54679
  • Add support for nameless font sizes in WP_Theme_JSON#54640, #54487
  • Explicitly declare $post_types and $area properties in WP_Block_Template class – #54670
  • Update wordpress packages for Beta 4 – #54487

External Libraries

  • Update the SimplePie library to version 1.5.7 – #54659
  • Update the SimplePie library to version 1.5.8 – #54659

General

  • Fix 'rel' argument in Tests_Functions_wpListBookmarks test datasets – #53839

Login and Registration

  • Use secondary button style for the Language switcher – #54692
  • Add a 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. to allow to disable the Login screen language dropdown – #54675

Plugins

  • Escape the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ plugin page URL in the Plugin Installation modal – #54362

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

  • Support . in theme directory names in WP_REST_Global_Styles_Controller, WP_REST_Templates_Controller, and WP_REST_Themes_Controller#54596

Script Loader

  • Skip getting 'can_compress_scripts' option in script_concat_settings() during install – #54634

Toolbar

  • Show the Customize link on front end when using a block theme if any plugins use 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.#54683

Props

Thanks to the 45 people who contributed to WordPress Core on Trac last week: @costdev (7), @hellofromTonya (8), @SergeyBiryukov (5), @audrasjb (5), @jrf (4), @johnbillion (3), @spacedmonkey (2), @schlessera (2), @david.binda (2), @pbiron (2), @ocean90 (2), @marybaum (1), @walbo (1), @youknowriad (1), @rickcurran (1), @TimothyBlynJacobs (1), @ntsekouras (1), @get_dave (1), @joyously (1), @bijayyadav (1), @kafleg (1), @felipeelia (1), @williampatton (1), @manfcarlo (1), @chintan1896 (1), @joen (1), @Mamaduka (1), @dimadin (1), @henry.wright (1), @aezazshekh (1), @rainbowgeek (1), @afragen (1), @sabernhardt (1), @faisal03 (1), @gziolo (1), @jameskoster (1), @poena (1), @annezazu (1), @clorith (1), @courane01 (1), @dryanpress (1), @desrosj (1), @Presskopp (1), @ipstenu (1), and @kjellr (1).

Congrats and welcome to our 5 new contributors of the week: @rickcurran, @bijayyadav, @manfcarlo, @aezazshekh, @rainbowgeek ♥️

Core committers: @sergeybiryukov (12), @hellofromtonya (8), @audrasjb (6), @isabel_brison (1), and @jffng (1).

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

What’s new in Gutenberg 12.2? (22 December)

“What’s new 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/…” posts (labeled with the #gutenberg-new tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are published following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


If you observe the Gregorian Calendar, New Year’s Eve is fast approaching, which means that the time has come for the next release of Gutenberg!

Gutenberg 12.2 has just been released! It’s the last minor Gutenberg release in 2021. This release improves compatibility with the upcoming WordPress 5.9 release and blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes. Also, it brings new features, code quality improvements, and 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. You can find the release highlights below.

Table of contents

Seamless navigation between the Site Editor and the Template List

Gutenberg 12.2 takes the Template List one step beyond, improving its user experience and performance. Thanks to its new client-side routing, WordPress doesn’t need to reload the page when navigating between the Site Editor and the Template List, reducing the time spent rendering unneeded HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. code.

Improvements to post comments

Starting with Gutenberg 12.2, the Comments Query Loop block is now able to display nested comments. This improves user experience as it is now much easier to understand if a comment responds to another comment or is just a first-level comment.

Also, the new Comments Pagination Numbers block allows displaying page numbers inside the Comments Pagination block, which in turn can be used inside the Comments Query Loop block. This improves the UIUI User interface because users can quickly navigate the comments using the page number.
Also, the pagination in the Comments Query Loop block now works similar to the pagination for posts.

A new home for border controls

Although lots of blocks are already taking advantage of border supports, this release switches border supports to the ToolsPanel, and sets which border properties are displayed in the ToolsPanel by default. The ToolsPanel, first introduced in Gutenberg 11.3, offers progressive discovery options for those provided through block supports, improving the user experience and consolidating 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. UI.

New font size labels in the FontSizePicker component

Gutenberg 12.2 improves the way font sizes are displayed in the sidebar by using a sequence of numbers (1, 2, 3, 4, 5) as labels for the font sizes. These simplified labels can accommodate use cases with complex CSSCSS Cascading Style Sheets. values, helping users understand the available font sizes.

Improved color picker

More components are being iterated in this release. In an effort to reduce sidebar clutter and improve the design tools user experience, all blocks, including those that use custom color implementation, can now take advantage of the new dropdown-based color picker. This improved UI is easier to use, especially when editing a few colors back-to-back.

Preview for Block Styles in the 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

While Gutenberg 12.0 introduced block styles preview on hover for the Block Editor, this release brings this functionality to the Widgets Editor, too. It’s now possible to preview style variations in the Widgets Editor when editing blocks that support this (e.g., Image, Table, Button blocks) by hovering or focusing over the style name, for full 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) support.

Changelog

Enhancements

Block Library

  • New block: Add Comments Pagination Numbers block. (36890)
  • Comment Template block: Handle nested comments. (36065)
  • Comments Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Improve context handling in inner blocks. (37196)
  • Image: Reflect media deletion in the editor. (35973)
  • Navigation:
    • Add navigation blocks post-processing after migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. from menu items. (36950)
    • Refactor modal padding to be simpler and more flexible. (37323)
    • Remove Navigation Menus from the Appearance menu. (37212)
    • Add clearance for appender in submenus. (36720)
  • Refactor handling of padding for group and column blocks. (37356)
  • Template Part: Add actions that fire during the loading process of block template parts. (36884)

Styles and design tools

  • Add the Welcome Guide option to the More Global Styles Actions dropdown. (37180)
  • Make the Blocks section more distinguishable. (37293)
  • Move the Edit colors button to a standard menu item. (36842)
  • Move Duotone palette to the bottom of global styles gradients. (37253)
  • Border controls: display border properties in the ToolPanel. (34061)

Components

  • FontSizePicker: Use an incremental sequence of numbers as labels for the available font sizes at the segmented control (conditionally). (37038)
  • ColorPalette: Improve accessibility and visibility. (36925)
  • ToolsPanel: Standardize input control label margin. (36387)
  • Unify styles for ColorIndicator with how they appear in Global Styles. (37028)
  • Update PanelColorGradientSettings component to use dropdowns. (37067)

Site Editor

  • Add 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. back to the Appearance menu. (37175)
  • Add client-side routing for Site Editor. (36488)
  • Add a new aria-pressed attribute to the Toggle navigation button. (37351)
  • Template revert flow: Make label description source agnostic. (37004)

Packages

  • Scripts: Enable ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Fast Refresh for block development. (28273)
  • List Reusable Blocks: Refactor ImportForm into a functional component and use 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.. (36938)

Widgets Editor

  • Implement preview for blocks. (37012)

Post Editor

  • Template Part block should not be available in the Post Editor inserter. (37157)

Bug Fixes

  • Remove 4 instances of gutenberg text-domain from CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. (37229)

Block Library

  • Fix return type in the DocBlockdocblock (phpdoc, xref, inline docs). (37352)
  • Fix deprecated usage of passing null to explode function. (37392)
  • Gallery:
  • Fix color issue for captions with hyperlinks in the Gallery block. (37033)
  • Fix documentation and function naming for gallery block registration in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (37132)
  • Remove placeholder border. (37050)
  • Post Comments:
  • Fix form-submit styles by adding button classes to the submit button in the post-comments block. (37245)
  • Fix width of the post comment form input. (37238)
  • Use block markup for the comment form button when using a block theme. (37315)
  • Comments Pagination Block: Add default styling. (37057)
  • Image:
  • Set image display mode to grid when no alignment is set to align caption onresize event properly. (35787)
  • Fix resizer controls being hidden in Safari when switching between alignments. (37210)
  • Navigation:
  • Fix gutenberg_ prefixed function references in Core. (37021)
  • Fix navigation justifications. (36991)
  • Fix vertical alignment of page list in the modal. (37321)
  • Remove hardcoded typography units. (37349)
  • Fix vertical layout. (37009)
  • Switch to addEventListener event for load event in the navigation block view script. (37135)
  • Don’t request the deprecated navigation areas endpoint outside of 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. (37187)
  • Navigation Link Control: Hide the Transforms component when no options are available. (37284)
  • Remove the deprecated navigation area block from the inserter. (37026)
  • Query Loop: Add useBlockPreview component, fix alignment of the Query Loop block in the editor. (36431)
  • Query Pagination: core/query-pagination-next and core/query-pagination-previous blocks: change the markup on the first and last pages of the pagination. (36681)
  • Search: Fix application of border color class in the editor. (37242)
  • Template Part:
  • Fix isMissing condition check. (37370)
  • Use Core version of template and template part post types and REST endpoints for WordPress 5.9, with backward compatibility for WordPress 5.8. (36898)
  • Update the micromodal package to include a click-through fix. (36837)

Components

  • Card: Support the extraSmall option for the size prop. (37097)
  • Drop Zone: Fix HTML drop issues with the Windows browsers. (37151)
  • Don’t load Radio and RadioGroup components directly. (36934)
  • DuotonePicker typo fix. (36662)
  • Element: Ensure that the package uses the up-to-date React types. (37365)
  • Fix incorrect rendering of ToggleGroupControl‘s active state. (37332)
  • Hide the remove control point button because removing it would break gradient control. (37186)
  • Import experimental Heading and Text Components. (37290)
  • Make the color popover on the gradient picker appear as expected. (37115)
  • Remove unused reakit-utils dependency from peer dependencies. (37369)
  • Storybook: Fix deprecated disabled key. (37112)
  • ToggleGroupControl: Fix extra update on incoming change. (37224)

Site Editor

  • Allow global styles sidebar panels to fill vertical space. (36845)
  • Display a notice if export fails. (37131)
  • Fix edit template part link in 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. dropdown. (37249)
  • Fix template resolution to give precedence to PHP templates defined in a child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/.. (37074)
  • Hide the block appender in the Template Part editor. (37213)
  • Improve notification when saving content in the Site Editor. (36897)
  • Improve handling of parsed requests. (37209)
  • Sync Export 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. error codes. (37347)
  • Template Editor Mode: Hide editor mode switcher. (37359)
  • Use server definition for the Template Areas. (37215)
  • Fix the white screen of death on the Templates page when user avatars are disabled. (37458)

Styles

  • Allow selector ordering to ensure theme.json root selector margin takes precedence. (36960)
  • Custom keys from theme.json: Fix kebabCase conversion. (37380)
  • Do not remove theme presets if defaults are hidden. (37008)
  • Fix CSS Custom Properties for presets in the Site Editor. (36851)
  • Fix how appearanceTools works. (37254)
  • Fix styles for previews and patterns. (37296)
  • Font sizes: Update default values. (37381)
  • Remove CSS that causes conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with theme.json. (36424)

Design Tools

  • Border Style Control: Update styling for consistency with border width control. (37244)
  • Border panel:
  • Don’t restore deselected border color when width gets changed. (37049)
  • Update the value of the ColorPicker component when color is cleared. (37048)
  • Gradients
  • Fix clearing a custom gradient from throwing a React warning. (37051)
  • Enable adding custom gradient when gradients are disabled. (36900)

Compatibility with Core and library code

  • Fix array key warning in block supports layout. (37101)
  • Templates: Search for old template names in the parent theme too. (36910)
  • Fix theme requirement validation when using WordPress 5.8. (37226)
  • Fix WordPress 5.9 check for conditionally running code. (37235)
  • Fix mistake in the_remove_theme_attribute_in_block_template_content function. (37137)
  • Gallery: Enable the new gallery block by default if running in Core. (37134)

Packages

  • Core Data: Fix returning empty array in the getEntityRecords function for unknown entities. (36984)
  • Include @babel/core as a dependency where applicable. (37328)
  • Format library: Fix unsetting highlight color. (37062)

Block Editor

  • Mark the last change as persistent on save. (36887)
  • Fix content loss when ungrouping template parts or reusable blocks. (37280)
  • Simplify the RESET_BLOCK action to fix the loss of content when using template part focus mode. (37283)

Post Editor

  • Multi-Entity Saving: Decode HTML entities in item titles. (37353)

Documentation

  • Update documentation related to schemas. (37294)
  • Remove versioning in theme schema descriptions. (37165)
  • Fix the broken link on the plugin description page. (37362)
  • Handbook:
  • Add information about skip links to the block theme overview. (36555)
  • Add closing ticks for blockGap code example. (37338)
  • Add how-to guide documentation template. (36694)
  • Add link and details for npx in create block tutorial. (37376)
  • Consolidate React Native documentation. (36685)
  • Fix a link to the how-to guide template. (37191)
  • Move classes used in the navigation block from the component to the new readme. (37375)
  • Update Format API how-to guide. (37298)
  • Update broken links. (37121)
  • Improve formatting of headings in the contributors’ guide. (36689)
  • Fix type for prefix transformation. (36362)
  • Fix broken links in the Resources section. (37307)
  • Remove the semicolons from the 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. examples. (37129)
  • Packages:
  • Block Editor:
    • Add a documentation note about inner blocks and excerpts. (36405)
    • Update example of usage for suggestionsQuery component. (37281)
  • Componentes:
    • Add missing changelog entries. (37384)
    • Fix code formatting for card components. (37268)
    • Fix importing from the wrong package. (37192)
    • Fix missing link for shortcut documentation. (36800)
    • Update QueryControls README.md. (37233)
  • Site Editor: Update support documentation URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in the Welcome Guide. (37176)

Code Quality

Compatibility with Core

  • Better synchronization between Gutenberg and Core code. (37141)
  • Move WordPress 5.9 wp-admin menus compatibility code to lib/compat folder. (37257)
  • Move the block page templates hook into compat/5.9 folder. (37142)
  • Move template loader hooks and functions into lib/compat folder. (37149)
  • Synchronize wp_is_block_theme function and block-templates block support with Core. (37218)

Global Styles

  • Do not register Global Styles custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. in WordPress 5.9. (37282)
  • Port Global Styles code to lib/compat/wordpress-5.9:
  • CSS custom properties. (37334)
  • Front assets. (37335)
  • Rename WP_Theme_JSON_Resolver methods to make them compatible with Core. (37393)

Packages

  • Dependency Extraction Webpack Plugin: Sort externalized dependencies report. (37377)
  • Block Editor:
  • 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. component: Use block settings to pass assets. (37193)
  • Remove duplicate block styles. (37133)
  • Specify the WordPress versions where API is deprecated. (37150)
  • Components
  • Refactor DatePicker into a functional component. (36835)
  • Storybook: Update to version 6.4. (37367)
  • Data
  • Ensure that redux is listed as a dependency. (37364)
  • wordpress/data: Refactor use-select component in preparation for adding types. (37017)
  • Scripts: Update dependencies shared with other WordPress packages. (37395)

Site Editor

  • Remove unused PHP code. (36997)
  • Revert Site Editor: Set the on the list page to be the same as the CPT name. (37270)

Block Library

  • Remove gutenberg_ prefix from @wordpress/block-library. (37341)
  • Block Library: Rename Query Pagination blocks. (37091)

Tools

Testing

  • End-to-end Tests:
  • Increase delay in image block end-to-end test to fix intermittent failure when clearing URL field. (37136)
  • Update Multi-Entity Saving test to improve reliability. (37139)
  • Sanitize flaky test report file names. (37390)
  • Retry login again after a bad nonce request to prevent intermittent test failures. (37219)
  • Fix Multi-entity saving and Template parts related tests. (37333)
  • Fix Heading test. (37382)
  • Re-enable most of the navigation block end-to-end tests. (37214)
  • Use global transients for PHPUnit tests. (37122)
  • Fix usage of useSetting('color.palette'). (37108)
  • Add tests for the new gallery hooks. (36801)

Linting

  • ESLint:
  • Add support for ESLint v8. (36283)
  • Fix Babel config resolution when a custom ESLint config is present. (37406)

Build Tooling

  • Specify PHP version in Composer. (37007)
  • Remove unused jest-serializer-enzyme dependency. (37373)
  • Remove some labels from the Experiments section of the changelog. (37098)
  • npm:
  • Fix package dependencies issues discovered with pnpm. (37396)
  • Use the latest minor version of webpack in Gutenberg. (37371)
  • Fix build failure on Windows. (37189)

Performance benchmark

VersionTime to render first blockKeypress event (typing)
Gutenberg 12.25.672 s42.38 ms
Gutenberg 12.15.484 s37.17 ms
WordPress 5.85.807 s46.5 ms

Thank you, @priethor, for coordinating the release process, proofreading, and helping to select release highlights!
Thank you, @jameskoster and @joen for helping me to prepare visual assets and proofreading the release post!
Thank you, @mamaduka, for uploading the plugin to WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/!
Kudos to all the other contributors who have helped to make this release possible.

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

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

  • 31 commits
  • 44 contributors
  • 57 tickets created
  • 6 tickets reopened
  • 42 tickets closed

The Core team is currently working on the next major release, WordPress 5.9, and the beta 3 was released last week 🛠

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

Code changes

Build/Test Tools

  • Reduce the use of unnecessary randomness in tests – #37371
  • Remove the assertion in filter_rest_url_for_leading_slash()#54661
  • Add an assertion to test the WP_REST_Server::add_site_logo_to_index() method – #53516, #53363
  • Add unit tests for theme features that blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes should support by default – #54597
  • Fix typo in a data provider name – #53363
  • Fix typo in a test method name – #53363
  • Mock the HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. request response in download_url() tests – #54420, #53363
  • Move the tests for theme features that block themes should support by default to a more appropriate place – #54597
  • Use shared fixtures in block theme tests – #53363

Bundled Themes

  • Twenty Twenty-Two: Sync updates from 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/ for 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. 3 – #54318
  • Twenty Twenty-Two: Sync updates from GitHub for Beta 4 – #54318

Customize

  • Customize: Overlay incompatible banner for block themes – #54549

Database

  • Correct and improve documentation for properties and parameters in wpdb#53399

Docs

  • Capitalize “ID”, when referring to a 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. ID or 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. ID, in a more consistent way – #53399
  • Typo correction in TinyMCE related JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. file – #53399
  • Typo correction in wp_dropdown_languages() DocBlockdocblock (phpdoc, xref, inline docs)#53399
  • Use generic references to “Database” in wp-config-sample.php#54610

Editor

  • Activate missing default theme features for block themes – #54597
  • Add “Featured” patterns from pattern directory to Patterns in block inserter – #54623
  • Update @wordpress packages – #54487
  • 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. custom block templates with PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher#54335

External Libraries

  • Update the SimplePie library to version 1.5.7 – #54659

Formatting

  • Use is_scalar() in sanitize_key()#54160

Media

  • Fix selections in Media Library Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. modal on open – #53765

Posts, Post Types

  • Add missing translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. context on FSE related post types labels – #54611

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Add block theme support for valid non-alphanumeric characters in theme’s directory name – #54596
  • Ensure that the get_theme_item method should respect fields param – #54595
  • Ensure that the parent link, uses the rest_get_route_for_post function – #53656

Script Loader

  • Fix deprecated usage of passing null to explode()#53635

Site Health

  • Typo correction in Site Health help tab – #54656

Themes

  • Rename public static functions in WP_Theme_JSON_Resolver to remove custom_post_type references – #54517

Props

Thanks to the 44 people who contributed to WordPress Core on Trac last week: @hellofromTonya (11), @costdev (6), @noisysocks (4), @youknowriad (4), @SergeyBiryukov (4), @audrasjb (3), @peterwilsoncc (3), @ocean90 (2), @oandregal (2), @antonvlasenko (2), @spacedmonkey (2), @jffng (2), @desrosj (2), @jrf (2), @kjellr (2), @sabernhardt (2), @pedromendonca (1), @mamaduka (1), @Ov3rfly (1), @schlessera (1), @williampatton (1), @wppunk (1), @shaunandrews (1), @poena (1), @joyously (1), @bernhard-reiter (1), @johnillo (1), @scruffian (1), @joen (1), @szaqal21 (1), @onemaggie (1), @TimothyBlynJacobs (1), @benitolopez (1), @justinahinon (1), @joedolson (1), @mkaz (1), @ryelle (1), @circlecube (1), @danielbachhuber (1), @ignatggeorgiev (1), @PieWP (1), @sergeybiryukov (1), @dariak (1), and @Spacedmonkey (1).

Congrats and welcome to our 3 new contributors of the week: @wppunk, @johnillo, @ignatggeorgiev ♥️

Core committers: @sergeybiryukov (10), @audrasjb (6), @hellofromtonya (5), @johnbillion (3), @jffng (2), @spacedmonkey (2), @noisysocks (2), and @isabel_brison (1).

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

A Week in Core – November 22, 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 November 15 and November 22, 2021.

  • 76 commits
  • 138 contributors
  • 48 tickets created
  • 6 tickets reopened
  • 73 tickets closed

The Core team is currently working on the next major release, WordPress 5.9 🛠

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

  • Restores “Customize” menu item for non-blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes and moves for block themes – #54418

Build/Test Tools

  • Add the ruleset file to the cache key for PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher compatibility scans – #54425
  • Cache the results of PHP_CodeSniffer across workflow runs – #49783
  • Restore 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. URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for browserify-aes – #54337
  • Update all 3rd party 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/ actions to the latest versions – #53363

Bundled Themes

  • Update the “Tested up to” 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. to 5.9#53797
  • Twenty Nineteen: Apply coding standards fix from running composer format#54392
  • Twenty Sixteen: Correctly align columns within table blocks as configured in the editor – #54317
  • Twenty Twenty-One: Check if anchor exists before triggering in-page navigation – #53619
  • Twenty Twenty-One: Correct description of Dark Mode 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.#53892
  • Twenty Twenty-One: Prevent notice thrown in twenty_twenty_one_get_attachment_image_attributes()#54464
  • Twenty Twenty-One: Remove RSS feedRSS Feed RSS is an acronym for Real Simple Syndication which is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format. This is the feed. 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. icon link – #52880
  • Twenty Twenty-Two: Import the latest changes from GitHub – #54318
  • Twenty Twenty-Two: Sync updates from GitHub – #54318

Coding Standards

  • Wrap some long lines in js/_enqueues/admin/post.js per the JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. coding standards for better readability – #53359

Comments

  • Change new comment required text class – #16206
  • Don’t output “cancel comment reply link” if comments aren’t threaded – #37267
  • Fix PHP Notice “trying to get property of non-object” in comments_open() and pings_open()#54159

Commit Standards

Database

  • Check if the $args[0] value exists in wpdb::prepare() before accessing it – #54453

Docs

  • Add missing null allowed type for the $id parameter of wp_set_current_user()#53399
  • Add missing parameters in 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
  • Corrections relating to types used in inline documentation for comment ID and site ID proprties – #53399
  • Improve the documentation for registering block patterns and block pattern categories – #53399
  • Remove instances of the “eg.” abbreviation in favor of “example” or “for example” – #53330
  • Restore [51733], accidentally reverted in [52212]#40006
  • Update documentation for the $plugin_data parameter of various hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.#53399
  • Various corrections and improvements relating to types used in inline documentation – #53399

Editor

  • Add missing label to new-post-slug input on Classic Editor – #53725
  • Check the correct post type support property for initial_edits#53813
  • Do not provide initial_edits for properties that are not supported by the current post type – #53813
  • Fix fatal call to add_query_args() – #54337
  • Fix how the Site Editor is linked to – #54337
  • Fix incorrect access of ID field – #54337
  • Load iframed assets in Site Editor – #54337
  • Update wordpress packages – #54337

External Libraries

  • Update the regenerator-runtime package to version 0.13.9#54027

Formatting

  • Add additional support for single and nestable tags in force_balance_tags()#50225

HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. 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.

  • Remove empty ? when only anchor remains in add_query_arg()#44499

KSES

  • Use correct global in wp_kses_xml_named_entities()#54060

Login and Registration

  • Wrap long usernames in login error message – #54168
  • auto-focus the reset password field – #40302

Media

  • Add support for v1 and v2 gallery block in get_post_galleries()#43826
  • Featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. modal loads only selected image – #42937
  • Featured image modal loads only selected image – #53765
  • Move dismiss upload errors button after errors – #42979
  • Revert media uploader input change in [52059]#42937
  • improve error message for failed image uploads – #53985
  • Add audible notice on menu item add or remove – #53840

Posts, Post Types

  • Increment post_count option value during blogblog (versus network, site) creation – #54462, #53443
  • Increment post_count option value only on multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations – #54462
  • Multisite: Decrement post_count option value when a post is deleted – #53443
  • Use global post as the default for wp_get_post_parent_id()#48358

Query

  • Correct and standardise the 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. query documentation – #53467

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

  • Make the templates controller follow core REST patterns – #54422
  • Remove experimental block menu item types – #40878

Script Loader

  • Document path as an accepted value for $key in wp_style_add_data()#53792

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Allow get_*_*_link() and edit_term_link() functions to accept a term ID, WP_Term, or term object – #50225
  • Clarify the taxonomy labels for customizing the field descriptions on Edit Tags screen: – #43060

Themes

  • Check both parent and child themes for a theme.json file – #54401
  • Force a scrollbar on the Themes page to prevent visual shake on hover – #53478

Toolbar

  • Refine “Edit site” link.php – #54441

Upgrade/Install

  • Add timezone info to last checked update time – #53554
  • Correct the weekly cron event for clearing the temp-backup directory: – #51857
  • Deactivate the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 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 if its version is 11.8 or lower – #54405
  • Differentiate en_US version strings from localized ones – #53710
  • Improve the accuracy of the auto_update_{$type} filter docblockdocblock (phpdoc, xref, inline docs)#53330
  • Remove 5.8 function and fix deactivate Gutenberg plugin version compare < 11.9 – #46371

Users

  • Prevent infinite loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. when using capability checks during determine_current_user on multisite – #53386

WPDB

  • Call wp_load_translations_early() in wpdb::_real_escape()#32315
  • Call wp_load_translations_early() in wpdb::query() and wpdb::process_fields()#32315
  • Capture error in wpdb::$last_error when insert fails instead of silently failing for invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. data or value too long – #37267

Widgets

  • Wraps long widget titles in classic Widgets screen – #37451

Props

Thanks to the 138 (!) people who contributed to WordPress Core on Trac last week: @hellofromTonya (20), @sabernhardt (16), @audrasjb (13), @costdev (10), @sergeybiryukov (7), @johnbillion (7), @desrosj (6), @poena (5), @afercia (5), @SergeyBiryukov (4), @peterwilsoncc (4), @davidbaumwald (4), @birgire (4), @jeffpaul (3), @dilipbheda (3), @henry.wright (3), @pbearne (2), @TimothyBlynJacobs (2), @swissspidy (2), @shaunandrews (2), @glendaviesnz (2), @antpb (2), @kjellr (2), @talldanwp (2), @pento (2), @ramonopoly (2), @manishamakhija (2), @melchoyce (2), @dlh (2), @jrf (2), @dd32 (2), @chaion07 (2), @hareesh-pillai (2), @joedolson (2), @anthonyeden (1), @anandau14 (1), @asif2bd (1), @dpegasusm (1), @datainterlock (1), @mnelson4 (1), @ovann86 (1), @dlt101 (1), @xkon (1), @sabrib (1), @pankajmohale (1), @ianhayes94 (1), @hitendra-chopda (1), @gkloveweb (1), @drewapicture (1), @bravokeyl (1), @fpcsjames (1), @nettsite (1), @galbaras (1), @henrywright (1), @TobiasBg (1), @chrisvanpatten (1), @sourovroy (1), @jorbin (1), @szaqal21 (1), @PieWP (1), @danielbachhuber (1), @benitolopez (1), @ocean90 (1), @soniakash (1), @rachelbaker (1), @jigneshnakrani (1), @zoiec (1), @jdgrimes (1), @woodyhayday (1), @travisnorthcutt (1), @skunkbad (1), @richardfoley (1), @psufan (1), @procodewp (1), @nlpro (1), @david.binda (1), @lukecarbis (1), @lucasw89 (1), @liammitchell (1), @kwisatz (1), @justindocanto (1), @mista-flo (1), @celloexpressions (1), @Mamaduka (1), @kafleg (1), @umesh84 (1), @robertghetau (1), @musabshakeel (1), @rixeo (1), @marybaum (1), @felipeloureirosantos (1), @tmatsuur (1), @hasanuzzamanshamim (1), @wetah (1), @ravipatel (1), @mukesh27 (1), @westonruter (1), @mjaschen (1), @saju4wordpress (1), @otto42 (1), @joen (1), @flixos90 (1), @clucasrowlands (1), @beafealho (1), @luminuu (1), @netweb (1), @richtabor (1), @ovidiul (1), @h71 (1), @andy-schmidt (1), @mkaz (1), @noisysocks (1), @pbiron (1), @wparslan (1), @zieladam (1), @hellofromtonya (1), @benjaminanakenam (1), @webcommsat (1), @zodiac1978 (1), @tellyworth (1), @takahashi_fumiki (1), @russhylov (1), @lynk (1), @youknowriad (1), @donmhico (1), @tobiasbg (1), @danielpost (1), @nacin (1), @alexislloyd (1), @vdwijngaert (1), @ComputerGuru (1), @benjamingosset (1), @Presskopp (1), @thimalw (1), @dufresnesteven (1), @kingkero (1), @clorith (1), and @spacedmonkey (1).

Congrats and welcome to our 8 new contributors of the week: @robertghetau, @musabshakeel, @mjaschen, @saju4wordpress, @clucasrowlands, @russhylov, @lynk, @danielpost ♥️

Core committers: @hellofromtonya (14), @audrasjb (13), @desrosj (12), @joedolson (10), @sergeybiryukov (9), @noisysocks (6), @johnbillion (3), @jffng (2), @spacedmonkey (2), @davidbaumwald (1), @peterwilsoncc (1), @adamsilverstein (1), @ryelle (1), and @timothyblynjacobs (1).

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

Editor chat summary: Wednesday, 10 November 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, November 10, 2021, 03:00 PM GMT+1.

General Updates:

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 11.9

Gutenberg 11.9 RC4 was released earlier today and the goal is to publish the stable release Thursday morning APAC time, which should be around the end of the day Wednesday 10th in North America.

See the note from @andrewserong in Slack.

WordPress 5.9

Planning Roundup
Preliminary Roadmap
Feature Go/No Results

@noisysocks shared the following 5.9 related updates:

  • The coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. patches have been merged for 5.9. Follow up work from this is ongoing.
  • Gutenberg needs to be updated to work with core trunk. There were CI test failures so we changed CI to run 5.8.2 as a temporary fix. @danr is working on updating Gutenberg, but help is appreciated
  • Please add the 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. label to bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fix PRs
  • Please pick up an issue or two from the Must Haves board. There’s a few things with no assignee

@mkaz shared an update on documentation for 5.9:

I’ve created a new public 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/ project to track documentation needs for the WP 5.9 release. You can access it at: https://github.com/orgs/WordPress/projects/11

Let me know if you have trouble accessing that link. GitHub project is a new tool so I’m still getting familiar, but basically a spreadsheet connected to GitHub issues and tickets.

I pulled in all tickets labeled “Needs 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.” so please if you’ve worked on a ticketticket Created for both bug reports and feature development on the bug tracker. definitely take a look. I’ll reach out and confirm assigned, the ones listed now were pulled in automatically.

The “Doc Type” label is a general categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. I made up for the items.

  • Dev Note is a specific post on Make Core for developers for any breaking changes in a release.
  • User Docs is intended for user facing documentation of new features for non-developers. For example, how do I use Global Styles?
  • Dev Docs is a catch-all for all other developer documentation that isn’t necessarily a specific Dev Note, for example “How do I create a 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?” or 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. updates.

One thing to note, the tabs at the top are actually views, so entries are filtered by the type. So if you switch to a “tab” and add an entry, it actually “disappears” since it doesn’t have the correct type to be shown in that view. So adding items is easiest in Overview (all items) and then enter the Doc Type.

Updates on the key projects:

@get_dave shared an update on the GitHub Tracking issue

  • Work has continued on making Navigations reusable across a Site and between Themes.
  • Navigation Area block was added to facilitate the reuse of Navigations between Themes. You can now switch Themes and (if the target Theme is configured correctly) your Navigation will be preserved.
  • This works somewhat similarly to Menu Locations in classic Themes:
    • you add a Nav Area block and configure it to be PrimarySecondary or Tertiary. These terms are provided by default and denote an approximate hierarchy of navigations on a site.
    • you then insert a Nav block inside the Nav Area block. This can be used to configure presentational properties of a given Menu and is ideal for Theme Developers. Note you do not need to add any nav items at this point.
    • you then optionally add items to your Navigation block.
    • when switching Theme, assuming the new Theme also has a Navigation Area block with a matching “area” (e.g. Primary, Secondary, Tertiary), then any nav items from matching Navigation Areas on your old Theme will automatically appear in the associated location in the new Theme.
    • the navigation -> area relationship is saved via site options is a format of  { "primary": 794, "secondary": 112 }where the keys are the navigation areas and the values are the post IDs of Navigation post types.
  • Lots of great work behind the scenes work on the 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/. which has allowed all of the above to progress.
  • Tweaks to the UIUI User interface and UXUX User experience of the block itself have been ongoing.

Mobile

@Antonis Lilis

Improvements and Fixes

  • Fix on the synchronisation mechanism for serialising content from the editor on Android
  • Added more Integration tests for Embed block
  • Disabled swipe gesture on BottomSheets to fix scroll-axis issue

In Progress

  • Finalising tweaks to the Embed block
  • Finalising GSS Font size, line height and selected text colours.

Global Styles

@jorgefilipecosta

  • The focus this week was porting all the infrastructure to the core (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. changes endpoints, etc) and that is done.

Template editor

  • No updates were shared

Patterns

@paaljoachim

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.

@joen

Always navigation. So much is in flux, but I’m looking at bugfixes related to justification, theming, submenus and others. It would help me if github.com/WordPress/gutenberg/pull/36298 could be approved soon.

@mamaduka

I’m primarily working on WP 5.9 Must-Haves, helping with reviews, and trying to fix bugs, now and then.

Open Floor:

@Louis

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