Gutenberg 22.3 (December 17)

โ€œ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, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 22.3?

Gutenberg 22.3ย is here andย ready for download!

This release brings a dedicated Fonts page for easier typography management, responsive Grid layouts, continued progress on the Site Editorโ€™s routing infrastructure, and improvements to the image editing experience.

Dedicated Fonts page for easier typography management

A dedicated Fonts pageย is now available under the Appearance menu 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. Until now, font management has lived deep inside Global Styles, requiring navigation through several panels to install or preview a font. This new standalone page lets block theme users browse, install, and manage their typography collection in one dedicated space. Support for non-block themesย will come next.

Under the hood, this page is built on a new routing infrastructure for the Site Editor, designed to improve navigation and support new top-level pages in wp-adminadmin (and super admin).ย View transitionsย areย now wired into this routing layer, providing early zoom/slide animations when navigating between pages.

Image editing improvements

The in-editor image cropper has been rebuilt on a new foundation. While the workflow remains familiar, youโ€™ll notice improvements: aspect ratios and zoom levels now persist when rotating images, fixing a long-standing frustration. This refactor also lays the groundwork for future image-editing enhancements. (#72414,ย #73277)

Responsive Grid block

The Grid block nowย adapts to different screen sizesย when columns are set. Layouts will adjust naturally across devices, providing a more consistent experience for visitors on mobile and desktop alike.

Other highlights

A few more highlights worth mentioning:

Changelog

Enhancements

Block Editor

  • Image Cropper: Add package and basic stories. (72414)
  • Implements the image-cropper package in the editor. (73277)

Block Library

  • Add support for โ€˜alignโ€™ to the Breadcrumbs block. (73794)
  • Breadcrumbs: Support paged comments. (73670)
  • Button: Migrate to text-align block support. (73732)
  • Comments Pagination Numbers: Add spacing controls for margin and padding. (67267)

Components

  • Chore: Shorten timeout duration for Snackbar component. (73814)
  • Try: 32px tall menu items. (73429)

Data Layer

  • wordpress/data: Migrate index.js to index.ts. (73597)

DataViews

  • Add min/max validation support to DataForm inputs. (73465)
  • Field 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.: Display formats for number and integer types. (73644)
  • Try using 24px padding for consistency across different uses. (73334)
  • Update operator labels and deprecate the isNotAll. (73671)

Internationalization

  • Fields: Update โ€œTrashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.โ€ translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. to provide verb context. (73704)

Layout

  • Enable grid block to be responsive when columns are set. (73662)
  • Try removing top and left grid drag handles in stable (auto) mode. (73864)

Media

  • Add media-specific fields for use with Attachment post types and DataViews/DataForm. (73071)

Notes

  • Notes: Add email notification. (73645)

Offline

  • Editor: Improve offline error notices. (73874)

Packages

  • Remove WordPress dependencies from abilities package. (73428)

Patterns

  • Add pattern name to document toolbar when editing in spotlight. (73208)
  • ContentOnly: For template parts and synced patterns, ensure โ€˜Edit sectionโ€™ button goes to the isolated editor. (73736)

Post Editor

  • Use relevance pattern matching for parent page search. (73836)

Site Editor

  • Site Editor Pages: Add โ€œnotes countโ€ field. (73609)

Theme

  • Expand error family of tokens. (73793)

Bug Fixes

Block API

  • Fallback to all attributes when checking for unmodified block. (73867)

Block Editor

  • Link Control: Clear entity metadata when selecting custom URLs. (73825)
  • Block Styles: Fix dynamic block previews. (73709)
  • Pattern insertion: Drag chip when multiple blocks of the same type in a pattern are dragged. (73681)

Block Library

  • Accordion Heading: Add default style for classic themes. (73608)
  • Add 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. support for math block error messages. (73643)
  • Breadcrumbs: Improve home page and front page handling. (73487)
  • Classic Block: Restore HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. editing option. (73865)
  • Fix Page List block HTML rendering in editor. (73614)
  • Fix Page List block button HTML rendering to escape at output. (73641)
  • Fix align right issue on 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. component. (67494)
  • Post Title: Add fallback no title in edit mode when is readOnly. (73750)
  • Post Title: Fix empty heading element when post_title is empty but get_the_title returns markup V2. (73841)
  • Prevent flipping the border style when creating RTL stylesheets. (44170)
  • Verse Block: Prevent text overflow off-screen when the previous block has float. (45221)

Block Transforms

  • Gallery: Fix missing captions shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. transform. (73748)

Command Palette

  • Commands: Restrict editor UIUI User interface commands to entity-edit context. (73717)
  • Fix layout for long label. (73837)
  • Remove context from editor commands. (73807)

Components

  • Fix Notice component action button margins. (69430)
  • Reduce modal style specificity so it can be overridden more easily. (73739)

DataViews

  • Apply primary style to first column if there is no title field. (73729)
  • Fields: Fix suffix button in Slug field. (73829)
  • Fix sticky footer in dataviews grid view. (73661)

Font Library

  • Fix button background and focus outline styles. (73722)

Global Styles

  • Fix: Default color variations not showing in global styles. (73742)
  • Global Styles UI: Remove unnecessary padding for Navigatior component. (73810)
  • Global Styles UI: Restore borders for preview items. (73741)
  • Global Styles UI: Revert some of the padding / markup changes from #73334. (73834)
  • 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: Override coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. classic theme styles. (73580)

Inspector Controls

  • Fix Hstack prop in PostCardPanel. (73842)

Notes

  • Notes: Avoid incrementing comment_count when notes are resolved or reopened. (73689)
  • Notes: Ensure notes never show on the comments page. (73640)

Paste

  • Raw Handling: Fix grok markdown pasting issues. (73019)

Patterns

  • contentOnly patterns: Mark patterns as contentOnly by adding metadata.patternName to the root block. (73477)

Templates API

  • Template Activation: Update template ID format test. (73629)

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)

Block Editor

  • Fix block toolbar icon CSSCSS Cascading Style Sheets. when using show icon label preference. (73674)

Performance

Block Editor

  • Block Styles: Avoid re-rendering when typing. (73701)

Theme

  • Theme: Better max chroma detection for taperChroma. (73625)

Experiments

Block API

  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher-only blocks: Pass all metadata from PHP registration to the client. (73556)

Collaboration

  • Real-time collaboration: Add UndoManager support for collaborative editing. (72407)
  • Real-time collaboration: Disable syncing for โ€œsyntheticโ€ template posts. (73526)

Font Library

  • Add dedicated font library page. (73630)
  • Add Overlay template part area behind Experiment. (73359)
  • Add overlay template part selector to Navigation block (behind experiment). (73760)

Routing

  • Boot: Add conditional inspector rendering via route.inspector(). (73703)
  • Routing Boot package: Add mobile rendering. (73620)
  • Routing: Add page title support. (73847)
  • Routing: Add view transitions to the new routing infrastructure. (73586)

UI Components

  • UI: Add border support to Box component. (73530)
  • UI: Add Stack component leveraging gap spacing design tokens. (73308)
  • UI: Update Stack component to support only gap tokens. (73852)

Documentation

Block API

  • Block 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. schema: Add visibility key to supports definition. (73612)
  • Docs: Add โ€œMigrating Blocks for 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. Editor Compatibilityโ€ page. (73778)
  • Docs: Add missing periods to example descriptions in block-attributes.md. (73666)
  • Update Default block example code. (65229)

Components

  • Docs: Add JSDoc for getUserLabel in users autocompleter. (73651)

DataViews

  • DataViews docs: Add missing props. (73611)
  • DataViews stories: Update empty story. (73619)

General

  • Fix a typo in the documentation. (73658)

Packages

  • Docs: Update package documentation with general guidelines. (73633)

Storybook

  • Storybook: Add keywords to icon stories. (73524)

Code Quality

Block bindings

  • Block Bindings: Componentize. (73579)

Block Editor

  • Fix ESLint warnings for the โ€˜useInsertionPointโ€™ hook. (73868)
  • Fix block edit component hook dependencies. (73302)
  • Remove unused โ€˜__unstableBlockNameContextโ€™. (73783)
  • Remove usage of Emotion. (73799)
  • Simplify โ€˜useSelectโ€™ deps in โ€˜InserterDraggableBlocksโ€™. (73687)

Collaboration

  • Notes: Simplify editing mode change position tracking. (73696)

Components

  • AlignmentMatrixControl: Fixup style names and nesting. (73757)
  • AlignmentMatrixControl: Migrate Emotion to style.module. (73714)
  • AnglePickerColor: Migrate Emotion to style.module. (73786)
  • FormTokenField, FlatTermSelector: Hard deprecate bottom margin. (73846)

DataViews

  • Field API: Move validation to the field type. (73642)
  • Remove extra wrapper for GridItem. (73665)

Font Library

  • Move Font Collection fetching to core-data entities. (73635)
  • Move font family fetching and types to core-data. (73637)
  • Simplify cache invalidation. (73639)

Global Styles

  • Fix โ€˜useSelectโ€™ warning. (73728)
  • Fix browser warnings in Global Styles. (73279)
  • WP_Theme_JSON: use self:: For class private static methods. (73566)

Patterns

  • ContentOnlyControls: Refactor ad hoc fields to use setValue instead of updateBlockAttributes. (73680)

Site Editor

  • Fix โ€˜useNavigateToPreviousEntityRecordโ€™ internal deps. (73740)

Style Book

  • Fix ESLint warnings. (73882)

Theme

  • Theme: Repurpose Figma token plugin to extract JSON override files for modes. (73860)
  • Theme: Restructure theme tokens to embed prefix, flattened modifiers. (73859)
  • Theme: Use valid DTCG color format for primitive values. (73858)

Write mode

  • Block Editor: Restore ToolSelector component for backward compatibility. (73592)

Tools

Build Tooling

  • Attachments controller: Use 6.7 compat method. (73634)
  • Fix package side effects for esbuild. (73795)
  • Linting: Disable the wordpress dependency group lint rule. (73616)
  • 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.: Add Carlos Bravo to mailmap. (73840)
  • Meta: Introduce .mailmap for transforming author names. (72412)
  • Scripts: Update license checker to ignore 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. package entries. (73528)
  • Storybook: Skip transpilation of build-modules files. (73780)
  • wp-build: Fix invalid package references for peer dependencies. (73676)
  • wp-ui: Add legacy export fields to package.json. (73850)
  • Fix CI static analysis on Windows. (73911)

Testing

  • Remove custom import resolvers and package subpath syntax rules. (72978)
  • Tests: Emulate form blocks experiments in integration tests. (73705)
  • Tests: Update assertion for โ€˜Global styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.โ€™ end-to-end test. (73685)
  • Upgrade Playwright to v1.57. (73686)

Patterns

  • Content only and patterns: Detach edit fields from the content only experience. (73605)

First-time contributors

The following PRs were merged by first-time contributors:

  • @badasswp: Chore: Shorten timeout duration for Snackbar component. (73814)
  • @dhasilva: DataViews: Apply primary style to first column if there is no title field. (73729)
  • @manhphuc: Docs: Add missing periods to example descriptions in block-attributes.md. (73666)
  • @metodiew: Fix a typo in the documentation. (73658)

Contributors

The following contributors merged PRs in this release:

@aduth @Aljullu @andrewserong @annezazu @badasswp @cbravobernal @chriszarate @dhasilva @dmsnell @getdave @gigitux @huzaifaalmesbah @Infinite-Null @ingeniumed @jameskoster @jasmussen @jeryj @jonathanbossenger @jorgefilipecosta @jsnajdr @juanfra @lezama @Mamaduka @manhphuc @Mayank-Tripathi32 @metodiew @mikachan @mirka @ntsekouras @oandregal @ockham @priethor @ramonjd @ryelle @scruffian @shimotmk @SirLouen @t-hamano @tellthemachines @tyxla @Utsav-Ladani @yogeshbhutkar @youknowriad


Props to @youknowriad for the peer review.

What’s new in Gutenberg 22.2 (03 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 tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

What's new in Gutenberg 22.2

Gutenberg 22.2 has been released and is available for download!

A total of 161 PRs were merged in Gutenberg 22.2, with 4 first-time contributors! With WordPress 6.9 released this week, many contributors were focused on 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, performance, blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor polish, and a series of 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) and developer experience improvements. There are still some great features and enhancements in this release, highlighted below.

Table of contents

Cover block video embeds

A big feature in this release is the ability to use embedded videos (like YouTube or Vimeo) as background videos in the Cover block, rather than being restricted to locally uploaded files. This is a major quality-of-life improvement for those who want to offload video hosting and bandwidth. (73023)

Thereโ€™s further development on the experimental Breadcrumbs block. It now includes better handling for homepages, last item attributes, 404/search/archive pages, archive links, post type archive links, as well as support for paginated content. All of these additions are aimed at making breadcrumb navigation more robust and context-aware. (72832)(73249) (73283)(73435) (72905)

Styling options for the Math block.

Gutenberg 22.2 adds style options to the Math block in Gutenberg, addressing the inconsistency where inline math inherits paragraph styling but display math blocks previously lacked their own styling controls (73544).

standard styling option added to the Math block

Other Notable Highlights

Button Block Pseudo-state Styling

Theme designers and developers can now style button states (hover, focus, active, and focus visible) directly within the theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML., making it much easier to keep all design controls centralized and consistent. This reduces the reliance on custom CSSCSS Cascading Style Sheets. for things like button hover states. (71418)

{
    "styles": {
        "blocks":{
                "core/button":{
                    "color":{
                        "background":"blue"
                    },
                    ":hover":{
                        "color":{
                        "background":"green"
                        }
                    },
                    ":focus":{
                        "color":{
                        "background":"purple"
                        }
                    }
                }
            }
    }
}

Data Views Upgrades

Data Views received several improvements, including:

  • A new โ€œactivity layoutโ€ brings a timeline-like view, perfect for things like revision history, logs, or any content that benefits from a chronological display. This layout handles interactionsโ€”like keyboard navigationโ€”in a way that fits the timeline format. (72780)
  • The table column 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. now lets you add columns to the left or right for better customization (72929).

Changelog

List of all the changes

Block Library

  • Breadcrumbs: Add archive link if enabled in posts. (72832)
  • Breadcrumbs: Add attachment handling. (73249)
  • Breadcrumbs: Add 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. for preferred 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. and term per post type. (73283)
  • Breadcrumbs: Add post type archive link if itโ€™s not the same as home URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org. (73435)
  • Breadcrumbs: Add support for paginated post content. (72905)
  • Cover: Add support for background videos as embeds. (73023)
  • Math: Enable styles options. (73544)
  • Tabs block: Improve store functionality. (73229)
  • Term Name, Term Count :Add example block previews. (73388)
  • [Button Block]: Add support for pseudo elements for the block and its variations on theme.json. (71418)

DataViews

  • Add insert left/right in table column header. (72929)
  • Apply background to DataViews wrapper. (73390)
  • DataForms: Add pattern validation. (73156)
  • DataForms: Update Email Control component to use envelope icon instead of a Symbol. (73184)
  • Field APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.: Add format to date field type. (72999)
  • Introduce activity layout. (72780)
  • Only apply hover styles when there are bulk actions. (73248)
  • Sticky elements inherit bg from container. (73240)
  • Theme: Add density support for surface padding. (73215)

Patterns

  • Add edit section to the list view instead of Ungroup. (73199)
  • Change the icon and label for pattern section to use the pattern icon and name. (73203)
  • Remove ungroup option for section blocks. (73183)
  • Sections: Remove hover outlines in outline mode. (73263)
  • Update pattern editing button labels. (73195)
  • contentOnly patterns: Mark patterns as contentOnly by adding metadata.patternName to the root block (patterns endpoint). (73375)

Block Editor

  • FontFamilyControl: Hard deprecate bottom margin. (73340)
  • Block Editor: Filter file input accept attribute based on upload_mimes. (73562)
  • Add cart icon. (73509)
  • templateLock: ContentOnly โ€“ support content block insertion. (73425)
  • RichText: Begin to support hiding richtext controls while having keyboard shortcuts available. (73181)
  • Add width block supports under dimensions. (71905)
  • Add text justify. (73201)

Bug Fixes

Block Library

  • Accordion Block: Trigger panel opening from URL hash or anchor link. (73357)
  • Accordion Item: Donโ€™t use grid layout. (73501)
  • Accordion: add box-sizing:Border-box rule. (73507)
  • Fix block selection when navigation link ui is open. (73368)
  • Fix navigation 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.) entity binding. (73255)
  • Fix: Custom font size taking over fit text. (73241)
  • Fix: Stretch Text overflows into the padding area. (73327)
  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Fix scrolling within the modal. (73506)
  • HTML Block: Remove editorStyles from HTMLEditModal. (73347)
  • Image block: Set img_srcset to avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher undefined var warning. (73453)
  • Math block: Fix accessibility. (73508)
  • Merge โ€œIcon Sizeโ€ and โ€œIcon sizeโ€ translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings. (73325)
  • Simplify and improve navigation link creation flow. (73210)

DataViews

  • DataForm: Autofocus first input on panel view. (72322)
  • DataForm: Fix issue with array fields in layout panel. (73344)
  • Ensure primary actions are not wrapped in the list layout. (73333)
  • Field API format: Fix and use WordPress input. (73538)
  • Fields: Fix author field view when editing. (73482)
  • Fix alignment when viewing a DataView with table layout and non-default column alignment. (73398)
  • Open the filters from the column table consistently. (72998)
  • [DataForm]: The ModalContent component doesnโ€™t properly check for fields validity โ€“ [#73330]. (73339)
  • Theme: Fix color ramp generation to avoid unmet contrasts. (73331)

Block Editor

  • Border Radius Control: Empty Values triggers unintended px unit conversion. (73324)
  • Drag and drop: Remove grab cursor for multi-selection. (73521)
  • Drag: Hide block tools popovers. (73539)
  • Stretchy text: Hide variations in Block Inspector (hack). (73238)
  • Styles Tab: Fix bug where contentOnly experiment forced it to always be displayed. (73534)
  • Disable Term Query blocks in Widgets Editor. (73449)
  • Comments Count and Comments Link: Ensures that the preview is displayed correctly in the StyleBook. (73213)

Global Styles

  • Preview Styles: Prevent leaked shadow due to blur. (73545)
  • Update generateGlobalStyles function to include variationStyles option. (73535)
  • Variations global styles: Replace useSetting with useStyle for fetching block variations. (73533)
  • Global Styles: Fix media upload permission check. (73503)
  • WP_Theme_JSON_Gutenberg: Preserve valid non-preset settings when KSES filters are active. (73452)

Components

  • Fix: Keep Guide close button visible on hover. (73220)
  • Normalize displayed dates to UTC time for DateTimePicker. (73444)
  • Try fixing full-screen modal height so contents can scroll. (73150)

Block bindings

  • Error handling for external sources. (72585)
  • Fix coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./term-data source bug, refactor, add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. coverage. (73366)
  • Move computation of sources into dedicated useSelect. (72974)

Interactivity API

  • iAPI: Fix using getServerContext in derived state getters. (73518)
  • iAPI: Return a deep-clone object from getServerState and getServerContext functions. (73437)

Collaboration

  • Notes position alignment in HTML. (73046)
  • Notes: Collapse note on blur. (73158)
  • Notes: Fix warning in comment content check. (73198)

Patterns

  • Check for prevent default on event to enable media placeholder button. (73564)
  • contentOnly patterns: Fix lock icon appearing on toolbar when editing a section. (73457)

Block API

  • Block Support: Change block visibility support key. (73432)

Layout

  • Prevent empty contentSize and wideSize values โ€‹โ€‹from being saved. (73281)

Accessibility

  • Fix a11yAccessibility 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) of descriptions and alerts 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.โ€ Nav Items. (73177)

DataViews

  • Add grid keyboard navigation. (72997)
  • Make DataViews table checkbox permanently visible. (73245)

Performance

  • Remove some modal subscriptions when inactive. (73014)
  • Theme: Simplify ramp object by flattening warnings to optional top-level property. (72942)

Experiments

  • Add experimental abilities and workflow palette and move abilities API. (72703)
  • Lazy Editor: Fix Media Library loading. (73176)
  • Lazy Editor: Fix script modules loading. (73237)
  • Navigation Route: Add initial list and edit routes. (73259)
  • Refactor: Make WordPress abilities a script module instead of a global. (73364)
  • Routing: Add init modules. (73284)
  • Routing: Add pattern routes. (73317)
  • Routing: Add styles page as a route. (73197)
  • Routing: Add template part route. (73303)
  • Routing: Extract route package. (73191)
  • Routing: Support canvas clicks. (73348)
  • Styles Route: Allow switching between stylebook and homepage. (73253)

Patterns

  • ContentOnly Patterns experiment: Add content only inspector fields. (71730)
  • ContentOnly mode: Exclude template parts for now. (73332)
  • Routes: Small fixes to the pattern list and template part list routes. (73520)

Templates API

  • Add template route to the new site editor infrastructure. (73525)
  • Template Route: Add the โ€˜add new templateโ€™ button. (73542)
  • Template Activation: Rename gutenberg_get_block_template. (73582)
  • Template Activation: Use string IDs when experiment is off. (73585)

Block Library

  • Disable TinyMCE: Polish refresh message. (73485)
  • contentOnly Patterns experiment: Add content only support again for template parts. (73419)

DataViews

  • Routing: Preload routes properly. (73384)
  • Add experiment flag for Customizable Navigation Overlays. (73356)

Media

  • Reuse mediaUpload filter for new media modal by wrapping it in a class component. (73225)

Documentation

  • DataViews: Combine duplicate โ€œenhancementsโ€ grouping in changelog. (73227)
  • DataViews: Update documentation for layout prop. (73470)
  • Docs: Use consistent content formatting for experimental packages. (73212)
  • Field API docs: Improve Edit. (73202)
  • Field API: Document missing props. (73515)
  • Field API: Update documentation for operators. (73523)
  • Field API: Update documentation to better communicate field types. (73349)
  • Update Gutenberg Version for WordPress 6.9. (72925)
  • Update dataviews readme with new pickerTable layout. (73372)
  • Update undestanding-global-state-local-context-and-derived-state.md. (73233)

Code Quality

  • Asset Loader: Load all scripts in body (footer). (73584)
  • Core Data: Update Attachment type to more accurately reflect fields in media API responses. (73223)

Patterns

  • Content only block experiment: Blocks provide the form. (73479)
  • ContentOnlyControls: Refactor to use DataForm. (73374)
  • Resolve_pattern_blocks sync with Core patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.. (73570)

DataViews

  • Field API: Simplify field normalization. (73387)
  • Field API: Simplify normalization. (73546)
  • Revert โ€œ[DataForm]: The ModalContent component doesnโ€™t properly check for fields validity โ€“ [#73330]โ€. (73367)

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

  • Command Palette: 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 in core. (73567)

Components

  • Storybook: Replace implicit actions with explicit ones. (73502)

Block bindings

  • Make core/post-data source code more semantic. (73394)

Collaboration

  • Notes: Ignore flood and duplicate checks. (73232)

Block Library

  • Deprecate Pullquote Block. (73228)

Tools

  • Project: Add CODEOWNERS entries for ui and theme packages. (73369)
  • Update codeowners for packages/dataviews. (73204)

Build Tooling

  • Add missing package dependencies. (73258)
  • Build: Fix CSS rebuilds. (73380)
  • Build: Make pages building using the routing infrastructure independent of Gutenberg. (73379)
  • Build: Moment-timezone shouldnโ€™t be a mandatory dependency. (73352)
  • Exclude JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors./TS test files from build. (73495)
  • Framework: Sync lockfile changes under Node.js v24 build. (73314)
  • Scripts: Improve handling of check-licenses for optional dependencies. (73026)

Testing

  • Block Bindings: Add unit test coverage for core/post-data source. (73055)
  • Block Bindings: Remove end-to-end test theme. (73209)
  • Unit testing: Allow Composer to auto-detect PHP version. (73358)
  • end-to-end Tests: Remove movie CPTs after block bindings tests. (73235)
  • end-to-end Tests: Skip flaky list view test. (73234)

Various

  • UIUI User interface: Remove shorthand prop options from Box component. (73529)

Collaboration

  • Notes: Improve delete confirm message for replies. (73173)
  • Update button label from โ€œAdd new noteโ€ to โ€œAdd new replyโ€. (73189)

Templates API

  • Template activation: Move php files. (73402)

Block Library

  • contentOnly patterns experiment: Make the Inspector fields key a private API. (73376)

Patterns

Double-click on pattern to edit pattern. (73268)

First-time contributors

The following PRs were merged by first-time contributors:

  • @PaulAsaf2: Update undestanding-global-state-local-context-and-derived-state.md. (73233)
  • @RoyHridoy: Fix: Keep Guide close button visible on hover. (73220)
  • @triple0t: Dataforms: Update Email Control component to use envelope icon instead of atSymbol. (73184)
  • @xristos3490: Fix alignment when viewing a DataView with table layout and non-default column alignment. (73398)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @aduth @andrewserong @annezazu @anomiex @audrasjb @bph @cbravobernal @DAreRodz @ellatrix @felixarntz @getdave @gigitux @harshbhonsle @hbhalodia @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @karthick-murugan @luisherranz @MaggieCabrera @Mamaduka @mcsf @mikachan @mikejolley @mtias @ntsekouras @oandregal @ockham @PaulAsaf2 @priethor @ramonjd @RoyHridoy @ryanwelcher @scruffian @senadir @shimotmk @simison @SirLouen @t-hamano @talldan @tellthemachines @triple0t @tyxla @xristos3490 @youknowriad

Props to @annezazu and @matveb for reviewing this post, and @joen for the visual assets!

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

Whatโ€™s new in Gutenberg 22.1? (18 November, 2025)

โ€œ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 tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 22.1?

Gutenberg 22.1 has been released and is available for download!

This release focuses on expanding 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. capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability)., enhancing the editor UXUX User experience, and performance improvements. New features include the new coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./tabs block for tabbed content, enabling JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a userโ€™s browser. https://www.javascript.com/. and CSSCSS Cascading Style Sheets. editing added to the HTML block, and image prefetching when expanding images in the editor. Other updates include many theme/color tweaks, DataViews and DataForm refinements, collaboration improvements, 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) and performance optimizations, and numerous 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 documentation updates.

New Tabs block

As the name suggests, the new Tabs block allows you to add tabbed content to your posts, pages, and templates.ย 

Enable the Blocks: add experimental blocks setting to test the tabs block.

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block updates

The HTML block now supports adding and editing CSS and JavaScript.

Other Notable Highlights

Image prefetching when expanding images in the editor

Changelog

Features

Block Library

  • New Block: core/tabs. (69789)

Enhancements

  • Routing: Add static and lazy routes support to the boot package. (72937)
  • Theme: Add new caution color ramp. (72782)
  • Theme: Lower the contrast topup value. (73155)
  • Theme: Optimize seed adjustment. (73004)

DataViews

  • Add a context menu when right-clicking on the table 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.. (73104)
  • DataForm: Add new details layout. (72355)
  • DataForm: Simplify form normalization. (72848)
  • DataForm: Card borderless layout. (72514)
  • DataViews list layout: Use regular button for primary action. (72920)
  • DataViewsPicker: Add With Modal storybook story. (72913)
  • Simplify the properties configuration. (73064)
  • Try adding table view to data picker. (72914)
  • Update actions menu structure to group primary and regular actions. (72866)

Block Library

  • Breadcrumbs: Add 404, search and paged support for archives. (72714)
  • Breadcrumbs: Add home page handling and show last item attribute. (72839)
  • Change Accordion block toolbar label to spell โ€œAdd Accordion Itemโ€. (72981)
  • HTML Block: Add JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors./CSS editing. (73108)
  • Paragraph: Migrate to text-align block support. (73111)
  • Update/twitter to X embed icon and text. (73110)

Collaboration

  • Notes: Add form submission shortcut. (72868)
  • Notes: Add keyboard support for tree navigation. (73136)
  • Notes: Disable โ€œAdd noteโ€ button in Distraction free mode. (72954)
  • Notes: Remove the pin/unpin button from 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. header. (72825)

Patterns

  • Hide toolbar slots for contentOnly pattern wrappers. (73182)
  • Starter content: Change alignment and copy. (72829)
  • contentOnly patterns: Mark patterns as contentOnly by adding metadata.patternName to the root block. (72988)

Components

  • Add isBusy prop to ConfirmDialog. (73041)
  • Card Component Padding System Enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. (72511)
  • TextareaControl: Add min-height to textarea. (72867)

Colors

  • ColorPicker: Support pasting whole color values. (73166)

Synced Patterns

  • Update synced pattern language from โ€œDetachโ€ to โ€œDisconnect patternโ€. (73105)

Extensibility

  • Term Name: Add levelOptions attribute to control available heading levels. (73005)

Write mode

  • Use color panel for contentOnly pattern editing. (71982)

Block Editor

  • BlockVariationTransforms: Refactor DropdownMenu with Menu. (71938)

Bug Fixes

  • Fix unresolvable typedefs in dependency-extraction-webpack-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. (72807)
  • Math format: Force LTR direction in RTL languages. (72901)
  • Math format: Remove empty format on serialise. (73143)
  • Template activation: Disallow editing/trashing of non-database templates. (72790)
  • Template activation: Inserting template through /templates should always result in active template. (72770)
  • Template activation: Redirect to โ€˜Create Templatesโ€™ after duplication. (72727)
  • Template activation: Skip gutenberg_get_registered_block_templates query when no slugs are left to find. (72795)
  • Theme: Fix Windows build using cross-env for environment variables. (72944)
  • block-editor: Remove types from package.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. exports. (72817)
  • 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.: Use _x() for Template Activation labels. (72928)

Collaboration

  • Block Notes: Adjust note date tooltip position. (72843)
  • Change sidebar title โ€“ Change Notes to All notes. (72885)
  • Disable Notes in Code Editor. (72859)
  • Ensure editor body fits all notes. (72811)
  • Hide add note in distraction free mode. (72835)
  • Notes: Disable or hide โ€œAdd noteโ€ button depending on blockโ€™s state. (72878)
  • Notes: Donโ€™t hide floating sidebar while adding the note. (72968)
  • Notes: Fix โ€˜Add noteโ€™ form position. (72787)
  • Notes: Fix 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. image size in mobile layout. (73008)
  • Notes: Fix first note creation with pinned sidebar. (73164)
  • Notes: Fix selector for orderedBlockIds. (73006)
  • Notes: Fix sidebar opening logic. (72965)
  • Notes: Gracefully handle non-existing note ID references (alt). (73061)
  • Notes: Hide pinned sidebar when there are no notes. (72872)
  • Notes: Refine avatar. (72773)
  • Notes: Spotlight block when clicking add/view notes. (72870)

Block Library

  • Accordion Header, Panel: Add CSS for the default style. (73032)
  • Accordion block: Lock core/accordion iAPI store. (72977)
  • Accordion: Allow font style inheritance from button to inner text blocks. (72957)
  • Allow embeds to grow and shrink inside flex group blocks. (73109)
  • Breadcrumbs: Add fallback for posts with no title. (72869)
  • Cover Block: Show settings inspector controls in the Site Editor. (69178)
  • Fix Navigation Link block variations to show correct labels instead of generic โ€˜Post Linkโ€™. (72517)
  • Fix Navigation Link broken state when bound entity is deleted. (73142)
  • Fix: Hideย  input popover when editing Math block as HTML. (72902)
  • Heading block: Make background padding more specific to block. (72837)
  • Increase CSS specificity of text alignment classes. (62260)
  • Math: Fixing Edit as HTML feature and code editor sync. (72910)

Block Editor

  • Add: Stretch text variations transforms. (73148)
  • Fix padding appender last block focus. (72821)
  • Fix: Donโ€™t load fit text front end scripts on the editor. (72842)
  • Fix: Fit Text flash during the binary search on the initial enabling. (72788)
  • Fix: Fit text may not update when being grouped in a smaller container. (73021)
  • Fix: Make fit text work with the interativity 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.. (72923)
  • Update: Use a bigger max fit text font size. (73067)
  • Stretch text and stretch heading variation. (73056)

DataViews

  • DataViews Table โ€“ only output aria-label for media when item is clickable. (73034)
  • Fix DataView columns width. (72969)
  • Fix pagination. (73132)
  • Fix: DataViews modal actions in list layout. (72793)
  • Use local time in summary 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. and default render for datetime fields. (72756)
  • useFormValidity: Fix nesting levels. (72588)

Global Styles

  • Restore correct additional CSS screen layout. (73192)
  • Show Global Styles in editor only for users with the right caps. (73077)
  • Theme JSON: Fix handling of default presets at block level. (72916)

Components

  • Button: Revert disabled primary button state to its previous one. (73037)
  • CustomSelectControl: Use key to determine the selected item instead of name. (72189)
  • NumberControl: Fix crash when min prop is string and step prop contains decimal. (73107)

Post Editor

  • Editor: Fix template panel check and restore duplicate action. (72964)
  • Fix setupEditor edits not being applied when non-iterable edits are used. (73167)

Site Editor

  • Pages DataViews: Fix content preview field after global styles refactor. (73140)
  • Use padding appender hook in Site editor. (72598)
  • Theme: Disable bgramp tests to fix 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. failures. (73122)

Command Palette

  • Commands:ย  Add edit template if user has proper caps. (73087)
  • Decode HTML entities in menu URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org. (72898)

Design Tools

  • Border Panel: Decode values so that border radius presets are properly handled in global styles. (73072)
  • Border radius presets: Support mixed values in the rangecontrol slider. (73033)

Block API

  • Classic Block: Disable lock, renaming, blockVisibility, html support. (72812)
  • Unsupported Block: Disable lock, renaming, blockVisibility support. (72857)

Commands

  • Fix: Adminadmin (and super admin) color scheme is not applied to Command Palette. (73151)

Rich Text

  • RichText: Donโ€™t forget ref passing in Preview mode. (73062)

Synced Patterns

  • Add specific classname to block toolbar icon. (73058)

Media

  • Fix adding blocks through media tab with experimental modal. (73029)

Block Locking

  • Fix contentOnly temporary editing persisting on save (+ refactor some of the code). (72959)

Block Transforms

  • Add default transform for allowedBlocks attribute. (72814)

Block bindings

  • Hide Attributes panel for Date, Nav Link, and Nav Submenu blocks. (72712)

Accessibility

Collaboration

  • Notes: Fix block toolbar display for show icon labels. (73010)
  • Notes: Fix focus return when resolving floating note. (72994)
  • Notes: Focus action button when comment editing is cancelled or comment is updated. (72895)
  • Notes: Improve accessibility tree. (72650)

Block Library

  • Prevent Esc from executing changes in categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. and archive widgets. (72889)

Performance

  • Move PatternOverrideToolbarIndicator functionality into BlockToolbar. (72935)
  • Theme: Add caching for theme color ramp builders. (72796)
  • Theme: Generate default ramps at compile time. (72847)
  • Theme: Inline values for primitive tokens in CSS output. (72890)
  • Theme: Optimize color generating algorithm. (72883)
  • Theme: Use logarithms for contrast difference. (73097)

Block Library

  • Add Image Prefetching for Click to expand Images. (61107)
  • MathML block: Fix lazy script loading. (73099)

Block Editor

  • Reduce inspector subscriptions by not subscribing if panel is not enabled. (73013)

Collaboration

  • Notes: Return early when there are no notes. (72820)

Layout

  • Perf: Only mount SpacingVisualizers when actively visualizing. (72800)

Experiments

  • Boot Package: Add save panel and shortcut. (73170)
  • Editor: Add lazy-editor package and infrastructure. (73028)
  • Remove the posts page code from edit-site and replace it with the new route. (73165)
  • Route Registration: Add support for a routes folder to the build tool. (72950)
  • Routes build tooling: Fix watching, css and min buildling. (72952)
  • Routing Infra: Explore adding a posts route to the boot package. (72976)
  • Routing Infrastructure: Allow single routes to be added to WP-Admin separately. (73137)
  • Routing Single Page Mode: Fix fullscreen editor mode. (73169)
  • Routing: Add a post edit route to the boot demo page. (73065)
  • Routing: Add boot package. (72809)
  • Routing: Add post new and top level redirect route to the posts. (73102)
  • Routing: Allow plugins to register custom site editor like pages. (73120)
  • Template activation: Move to experiment. (73252)

Block Library

  • Disable TinyMCE: Bump needsClassicBlock further down. (72966)
  • Disable TinyMCE: Dequeue mce-view. (72972)
  • Disable TinyMCE: Handle old core/freeform syntax in editor. (72967)

Media

  • Add Upload button to experimental media modal and always allow multiple uploads. (73125)

Components

  • UIUI User interface: Implement Box component as part of new UI package. (72984)

Patterns

  • contentOnly patterns: Allow re-entry into contentOnly mode after โ€˜Edit contentsโ€™. (72044)

Documentation

  • Add PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher function prefixing documentation. (72525)
  • Fix typo in README.md comment. (72879)
  • Tabs: Improve PHP documentation. (72834)
  • Theme: Fix ThemeProvider documentation for accurate color prop. (72943)
  • Update DataViews readme to add more info on the picker component. (72992)

Code Quality

Block Library

  • Breadcrumb: Some code quality improvements. (72873)
  • Remove old polyfills for server block definitions. (72827)

Collaboration

  • Notes: Remove unnecessary useCallback from keyboard navigation handler. (73152)

Block bindings

  • Untangle sources code. (72739)

Components

  • Handle label fallback for dropdownMenu. (70951)

Tools

  • PR enforcer workflow: Use regex to filter labels starting with [Type]. (72672)

Testing

  • Add end-to-end test for DataViews pagination. (73134)
  • Add initial CSS logical properties enforcement (CSS modules). (72758)
  • Automated testing: Add tests to ensure pagination data when fetching intermediate results. (71613)
  • Block Bindings: Add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. coverage for sources. (72799)
  • Enable no-unused-disable ESLint Comments plugin rule. (72940)
  • Improve the readability of the comment sharing manual cherry pick steps. (72887)
  • Increase memory limit for macOS CI runner. (72980)
  • Remove e2e-test-utils package and deprecated test configuration. (72880)
  • Scripts: Add default linting for ESM & CJS file extension variations. (72801)
  • Switch default ESLint resolver to improve handling for modern exports semantics. (72893)
  • Test across OS and Node.js version for commits to trunk. (72946)
  • Tests: Try fixing โ€œshould refresh the page when stylesheet loading failsโ€ end-to-end test. (72783)
  • end-to-end Tests: Fix some flaky tests. (73159)
  • eslint-plugin: Disable redundant import rules for TypeScript files. (72884)

Build Tooling

  • Upgrade TypeScript to 5.9. (72995)
  • Build v2: Fix build failure on Windows. (72960)
  • Build: Bundle CSS in package transpilation phase. (72805)
  • Build: Inline CSS modules stylesheet content. (72673)
  • Build: Remove typechecking from precommit 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.. (72955)
  • Pin full-length commit SHA for 3rd-party actions. (72855)
  • Theme: Fix build issues. (72919)
  • Theme: Update precomputed color ramps script for Node.js v20.10 compatibility. (72971)
  • Try regenerating package lock. (72991)
  • Update package-lock.json. (72996)
  • wp-build: Update package detection to ignore empty folders. (72941)

Components

  • Change types export to declaration file. (72979)

Post Editor

  • Editor: Change the name of the โ€˜Pluginsโ€™ menu group. (72826)

First-time contributors

The following PRs were merged by first-time contributors:

  • @okawayasuno: Math format: Force LTR direction in RTL languages. (72901)
  • @PaulREnglish: Fixย setupEditorย edits not being applied when non-iterable edits are used. (73167)
  • @pranvinit: Cover Block: Show settings inspector controls in the Site Editor. (69178)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshawย @adamsilversteinย @aduthย @andreawetzelย @andrewserongย @annezazuย @arthur791004ย @DAreRodzย @desrosjย @dhruvang21ย @ellatrixย @getdaveย @gigituxย @hbhalodiaย @im3dabasiaย @jeryjย @joedolsonย @jorgefilipecostaย @joshualip-plauditย @jsnajdrย @juanfraย @karthick-muruganย @Mamadukaย @manzoorwanijkย @mcsfย @mikachanย @mtiasย @ntsekourasย @oandregalย @ockhamย @okawayasunoย @PaulREnglishย @pranvinitย @priethorย @ramonjdย @rcrdortizย @roseg43ย @sethrubensteinย @shimotmkย @sidharthpandita1ย @SirLouenย @Soeanย @stokesmanย @sunyatasattvaย @t-hamanoย @Takshil-Kunadiaย @talldanย @tellthemachinesย @tyxlaย @youknowriad

Props @cbravobernal peer review.

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

#gutenberg-new

Whatโ€™s new in Gutenberg 22.0? (5 November)

โ€œ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 tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 22.0?

Gutenberg 22.0 has been released and is available for download!

Typically, the Gutenberg release following a WordPress point releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. focuses on coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. quality 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 over new enhancements. As such, this will be a relatively quiet release.

  1. Real-time Collaboration: Post Meta Synchronization
  2. A new theme package
  3. Changelog

Real-time Collaboration: Post 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. Synchronization

This release introduces real-time synchronization for post meta, enhancing the collaborative editing experience with your custom post-meta or footnotes!

An example of synced footnotes.

A new theme package

A new package of design tokens, which will be the new foundation for Gutenbergโ€™s design system, is now available. This package is also a prerequisite for the new UIUI User interface components package.

Changelog

Enhancements

  • Add theme package. (72305)
  • Consistently use font-weight 499 instead of 500. (72473)
  • Label enforcement workflow: Add Iteration label to PR enforcement workflow. (72670)
  • Template activation: Update 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. icons. (72772)
  • Try using DataViewsPicker in an updated media modal. (71944)
  • Update: Label of โ€œMove to trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.โ€ action to โ€œTrashโ€. (72596)

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

  • Math Block: Use monospaced font for LaTeX input. (72557)
  • Add snackbar notices for page creation in Navigation block. (72627)
  • Breadcrumbs: Add archives support. (72478)
  • Categories Block: Add 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. css class. (72662)
  • Fit text: Update help text to clarify override of font-size. (72303)
  • Latest Comments: Add option to display full comments. (72665)

DataViews

  • Add isCollapsible to the card layout in DataForm. (72540)
  • DataForm: Set spacing for regular and card layouts. (72249)
  • Keep icon-only buttons on mobile for bulk actions. (72761)
  • Update: Hide primary action buttons on mobile. (72597)

Components

  • ComboboxControl: Display reset button only if thereโ€™s a value. (72595)
  • TabPanel: Update tab font-weight. (72455)

Collaboration

  • Notes: Update delete confirmation message. (72737)

Global Styles

  • Allow access in the post editor. (72681)

Block bindings

  • Add source label to the modal title UI. (72632)

Bug Fixes

  • Core Data: Avoid extraneous when creating a new record. (72666)
  • Fix build command for tokens package on Windows. (72605)
  • Global Styles: Fix the save panel changes. (72701)
  • Packages: Do not limit the exports of the template packages. (72694)
  • PluginSidebar: Fix auto more menu item props. (72630)
  • Template activation: Fix isActive and isCustom values. (72641)
  • Template activation: Fix undefined array key PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warning. (72729)
  • Use default popover placement for image format popover. (72550)

Collaboration

  • Block Notes: Fix issue where box shadow is cut off when active note is the last one. (72606)
  • Ensure โ€œAdd Noteโ€ component floats next to block in unpinned mode. (72494)
  • Notes: Always open histroy sidebar if note is resolved. (72708)
  • Notes: Disable floating notes for โ€˜template-lockedโ€™ mode. (72646)
  • Notes: Fix โ€˜View notesโ€™ on mobile screens. (72546)
  • Notes: Fix PHPUnit tests. (72781)
  • Notes: Fix block toolbar indicator logic. (72736)
  • Notes: Fix strange default sidebar animation. (72710)
  • Notes: Fix the โ€˜glitchโ€™ when selecting a note with a missing block. (72516)
  • Notes: Fix the focus transfer issue when switching the sidebars. (72486)
  • Notes: Load all records. (72692)
  • Notes: Prevent 403 error for low capabilitycapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). users. (72767)

Block Library

  • Accordion: Update block descriptions. (72602)
  • Breadcrumbs: Fix date archives with plain permalinks. (72709)
  • Date block: Update block description. (72565)
  • Fix empty URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org value from unbinding entity from inspector sidebar. (72447)
  • Fix: Force LTR direction in Math block textarea for RTL languages. (72684)
  • Image block: Add guard for null refs in setButtonStyles callback. (72715)
  • Math: Enable horizontal auto-scrolling. (72633)
  • Post Date: Fix variations for 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.. (72617)
  • Terms Query: Show nested terms toggle when inheriting. (72510)
  • Update: Disable font size when fit text is enabled and the opposite. (72533)

Components

  • Badge: Add max-width for text truncation. (72653)
  • Button: Ensure that icons donโ€™t shrink. (72474)
  • Fix Popover closing unexpectedly when a Menu inside it is closed. (72376)
  • Fix label markup for โ€˜FocalPointPickerโ€™. (70835)
  • Fix selection of font size presets if presets have the same size value. (71703)
  • Stop using rems. (72669)

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

  • Template activation: Allow duplicates of โ€˜customโ€™ 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 templates to be activated. (72713)
  • Template activation: Remove the ability to deactivate registered templates. (72636)
  • Templates: Adds โ€˜typeโ€™ property to activeField as boolean in page templates. (72648)

Command Palette

  • Disable site editor navigation commands on Networknetwork (versus site, blog) Adminadmin (and super admin) โ€“ Take 2. (72698)
  • Disable site editor navigation commands on Network Admin. (72572)

Interactivity API

  • iAPI: Fix derived state closures processing on client-side navigation. (72725)

Write mode

  • Accordion: Dontโ€™ show Add button in contentOnly mode. (72704)

Icons

  • Fix irregular shape in not-found icon. (72645)

Block bindings

  • Add bindableAttributes in preview context. (72625)

Typography

  • Fit text: Remove sizing limitation when the block is selected. (72570)

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

  • Notes: Fix โ€˜childrenโ€™ embedding via REST API. (72561)

Style Book

  • Fix error with display of Heading block style variations in style book. (72551)

DataViews

  • Fix password suffix alignment. (72524)

Block Transforms

  • Add metadata transformation. (72462)

Patterns

  • Fix contentOnly insertion, removal, and moving. (72416)

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)

  • Notes: Donโ€™t collapse note on Escape if the event has been prevented. (72657)

Block Library

  • Fix focus loss from unsync and edit button in navigation link inspector sidebar. (72436)

Components

  • Button: Update font-weight to 500. (70787)

Performance

  • Donโ€™t subscribe to store unless fitText option is enabled. (72634)
  • Optimize build using shared package cache. (72667)

Block Editor

  • Perf: Avoid rich-text binding subscription if block does not have bindings. (72496)

Experiments

Collaboration

  • Real-time collaboration: Add support for syncing post meta. (72332)
  • Real-time collaboration: Ensure Yjs imports are inside experimental flag check. (72503)
  • Real-time collaboration: Implement CRDT persistence for collaborative editing. (72373)

Documentation

  • Fix incorrectly tabbed code blocks. (72745)
  • Move 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. to 7.0 because it was punted to future release. (72472)
  • Theme: Add Storybook stories. (72747)
  • add: Missing 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. Schema for blocks. (72590)

Code Quality

  • Build: Fix primitives package warning. (72456)
  • Bundled packages should expose their styles in exports. (72438)
  • Fix TS types for e2e-test-utils-playwright package. (72741)
  • Global Styles: Add UI package. (72599)
  • Global Styles: Cleanup the previous global styles private exports in block-editor. (72702)
  • Move grid experiment changelog to 7.0 folder. (72508)
  • Remove specific logger in test environments. (72457)
  • Styles Canvas: Refactor state and rendering. (72635)
  • Styles: Move global styles data logic to a dedicated package. (72464)
  • Template activation: Remove fake post type for registered templates. (72674)
  • Template activation: Rename new endpoints. (72700)
  • Template activation: Revert to old endpoint for post template picker. (72661)
  • preferences: Convert the package to TypeScript. (71915)

Block Library

  • Accordion Heading: Update description. (72777)
  • Cleanup clearBinding usage. (72439)
  • Post Date: Update logic when to show the edit control. (72631)
  • Remove broken content only settings menu items feature. (72470)

Templates API

  • Template activation: Initialise old autosave and revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. endpoints. (72680)
  • Template activation: Remove reset action. (72679)

Collaboration

  • Notes: Remove custom โ€˜PluginMoreMenuItemโ€™ handler. (72640)
  • Notes: Render the sidebar next to the default editor sidebar. (72618)

Block Editor

  • Switch from selector to useBlockEditingMode for AllowedBlocksControl. (72728)

Block bindings

  • Remove editorUI and modal versions. (72723)

Plugin

  • Notes: Backport REST API changes in core. (72554)

Interactivity API

  • iAPI: Update deprecated usage of data-wp-on-async. (72445)

Tools

Build Tooling

  • Build: Add a step to auto-register scripts in the build tool. (72628)
  • Build: Auto register styles from packages. (72699)
  • Build: Auto-register script modules. (72541)
  • Build: Cleanup the build script. (72740)
  • Build: Fix script_debug modules and scripts. (72485)
  • Build: Generate plugin version and make the build script plugin agnostic. (72707)
  • Build: Move the build tool to a dedicated package. (72743)
  • Build: Support third-party plugin scripts properly. (72760)
  • Build: Update output folders for scripts and modules. (72482)
  • Enqueue non-minified JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. files when SCRIPT_DEBUG is enabled. (72480)
  • FIX PHPUnit failure in previous WordPress version. (72705)
  • GitHubGitHub GitHub is a website that offers online implementation of git repositories that 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: Allow writing PRs when auto-cherry-picking. (72573)
  • Persist credentials when cherry-picking commits to a release 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".. (72556)
  • Storybook: Fix dev script. (72487)

Testing

  • Add end to end tests for Fit Text. (72406)
  • Change bin script type-checking from inclusion to exclusion. (72675)
  • Improve output buffer for sending server-timing 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.. (72536)
  • Notes: Improve pinned sidebar end-to-end test. (72652)
  • Update guidance around unique element IDs. (72748)
  • Upgrade Playwright to v1.56. (72751)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @aduth @cbravobernal @chriszarate @ciampo @DAreRodz @elazzabi @ellatrix @harshbhonsle @heavyweight @ItsRoy69 @jameskoster @jeryj @jorgefilipecosta @joshualip-plaudit @juanfra @levinbaria @lezama @luminuu @Mamaduka @manzoorwanijk @mikachan @mirka @ntsekouras @oandregal @ockham @priethor @ramonjd @roseg43 @ryanwelcher @sidharthpandita1 @stokesman @t-hamano @talldan @tellthemachines @Utsav-Ladani @westonruter @youknowriadhamanoย @talldanย @tellthemachinesย @theaminuliย @theminaldiwanย @Utsav-Ladaniย @yashjawaleย @youknowriad

Props @sirlouen and @priethor for peer review.

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

Gutenberg 21.9 (October 22)

โ€œ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, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.9?

Gutenberg 21.9 has been released and isย available for download!

This release brings new blocks and polishes existing ones, plus new DataViews enhancements and many bugfixes.

All the blocks!

Gutenberg 21.9 ships with a handful of new tricks and treats in the form of blocks ๐ŸŽƒ . For starters, the Math 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. will allow you to add complex LaTeX formulas natively in the editor.

Whether math is your cup of tea or not, the new Breadcrumbs block has your back and will for sure become very handy in sites with nested pages.

Similarly convenient for sites rich in content, this release also introduces the new Term Count and Term Name blocks โ€“ simple yet effective for helping navigate your tagged content!


Finally, the accordion block now supports anchors and is ready to ship with WordPress 6.9, too.

Direct drag and drop

Rearranging blocks is a common action when organizing your site, and drag & drop is a very comfortable way to do so. This release improves this interaction by directly moving the block around when you drag, instead of showing a drag chip.

DataViews customization persistence

A long-standing user request, views powered by DataViews now support persistence. This means that when you customize the view settings on the patterns, templates, and pages screens within the site editor, your preferences will persist when you leave the screens and return, reverting only to defaults when you hit the โ€œReset viewโ€ button.

Continue reading โ†’

#gutenberg

Whatโ€™s new in Gutenberg 21.8? (8 October)

โ€œ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 tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.8?

Gutenberg 21.8 has been released and is available for download!

This version introduces 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. Visibility controls, along with several improvements to Block Comments, Accordion, and Time To Read blocks.

  1. Block Visibility Control Support and UI
  2. Block Comments Improvements
  3. Accordion and Time To Read Blocks
  4. Changelog

Block Visibility Control Support and UIUI User interface

A new visibility control feature has landed!
You can now hide blocks directly in the editor when they wonโ€™t be displayed on the frontend. This marks the first UI for Block Visibility, paving the way for more granular design control in future releases.

Block Comments Improvements

Block Comments received another round of enhancements:

  • Better messaging when no related block exists
  • Visual highlighting of the referenced block
  • Improved comment thread outline and UI polish
  • Simplified code and better performance

Accordion and Time To Read Blocks

Both of these blocks have been refined for a smoother experience:

  • Time To Read: now includes range and word count options, plus migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. support for older blocks.
  • Accordion: improved structure, naming, and 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).

Changelog

Features

Block Editor

  • Section block multi-selection: Disable transforms and inspector controls. (71708)

Enhancements

Block Comments

  • Improve comments panel close icon label. (71701)
  • Add Discussion Field with tracksback and comment status agreagetd on Post/Page Quick Edit. (71949)
  • Fields package: Add Storybook examples. (71864)
  • Block Comment: Display message when there is no related block. (71968)
  • Block Comment: Improve comment thread outline. (71961)
  • Block Comment: Improve related block highlighting. (71932)
  • Block Commenting: Add block-comments as a new post type support. (71682)
  • Block Commenting: Change date format depending on comment date. (71835)
  • Block Commenting: Show date or human-readable time diff code. (71667)
  • Block Comments: Apply border color to 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.. (71917)
  • Block Comments: Highlight the related block. (71308)
  • Block Comments: Match the comment form UI to the design. (71898)
  • Block Comments: Match the show more replies button UI to the design. (71884)
  • Block Comments: Simplify action callbacks. (71892)
  • Block Comments: Update โ€˜Actionsโ€™ menu design. (71877)
  • Block Comments: Update editing flow. (71889)

Block Library

  • Accordion Blocks: Organize block supports. (71823)
  • Accordion 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.: Add content role to title attribute. (71762)
  • Accordion Header: Remove textAlignment and textAlign. (71875)
  • Accordion Header: Use withoutInteractiveFormatting instead of hardcoded formats. (71745)
  • Accordion: Add example block preview. (71365)
  • Accordion: Rename block names. (71978)
  • Add paragraph level option to post type label block. (71947)
  • Enhance Term Description Block with Context Support. (71525)
  • Terms Query inspector controls revamp + add subterms option. (71633)
  • Time To Read: Add a range option. (71606)
  • Time To Read: Add a word count option. (71841)
  • Time To Read: Make display as range the default, and allow older blocks to migrate to this setting. (71842)
  • Time to Read: Replace toggles with block variations. (71897)

DataViews

  • Addย numberย field. (71797)
  • Add support for elements validation in DataFormโ€™s array fields. (71194)
  • Export DataViewsPicker from dataviews package. (71836)
  • Prevent hiding the last visible field. (71625)
  • DataViews: Expose FiltersToggled subcomponent. (71907)

Block Editor

  • Add configurable timeout parameter to flashBlock. (71752)
  • Link Control: Update button text from Save to Apply. (72005)

Global Styles

  • Add reset button to BackgroundControlsPanel. (71928)
  • Site Editor: Make less prominent Addtional CSSCSS Cascading Style Sheets. UI. (71550)

Block bindings

  • Communicate supported block attributes from server side. (71820)
  • Image block: Conditionally remove emptyย <figcaption>. (71893)
  • Navigation Link: Use block bindings to dynamically fetch the 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 editor and on front end. (71630)

Write mode

  • Try adding content roles to navigation blocks. (71747)

Components

  • Textarea Component: Add default resize vertical rule. (71736)

Post Editor

  • PostTypeSupportCheck: Handle support keys sub-features. (71723)
  • Post Editor: Add the back button animation similar to the site editor. (71929)

Patterns

  • Block Inspector: Add content tab for section blocks. (71714)

Icons

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

  • iAPI Router: Update router regions inside elements withย data-wp-interactive. (71635)

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

  • Add ability to toggle meta box pane open and closed. (71623)

New APIs

Block API

  • Add block visibility control support and UI. (71203)

Bug Fixes

  • Add decodeEntities for CollabSideBarContent errors. (71909)
  • Block Comment: Make blockCommentId as part of the metadata. (71921)
  • Block Commenting: Donโ€™t show unpinnable sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. on mobile viewports. (71834)
  • Block Comments: Fix canceling the form for a selected block. (71862)
  • Block Comments: Fix translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. comments to say participants in toolbar indicator. (71890)
  • Consistently show (no title) as a fallback for pages and templates with empty titles. (71945)
  • 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. comment clause based on current query. (71712)
  • Fix comment counts with filter. (71874)
  • Template activation: Donโ€™t set site option on edit. (71811)
  • Template activation: Fix saveEntityRecord with theme ID. (71798)
  • Template activation: redirect theme templates urls to wp_registered_template (72003
  • Template activation: add meta to all newly created templates (72156
  • Template activation: reduce templates listed as options for post/page (72141
  • Template activation: call get_block_templates filter when short-circuiting (71840
  • Template activation: allow empty array to be set (72011
  • Template activation: fix /lookup endpoint to use custom resolve function (72049
  • Template activation: ignore templates not associated with active theme (72029

Block Library

  • Accordion Block: Hide โ€œAddโ€ button when multiple blocks are selected. (71750)
  • Accordion Header: Fix toggle icon position in the editor. (71859)
  • Accordion Header: Skip serialization correctly. (71804)
  • Accordion Panel: Add role=region. (71902)
  • Accordion Panel: Fixes block visibility when the panel is collapsed. (71866)
  • Fix Navigation Block default link consistency across all insertion methods. (71899)
  • Fix accordion gradient background. (71802)
  • Fixes Accordion block width issue when applying padding. (71809)
  • Post Author Block: Add default avatar fallback for editor display outside postId context. (71775)
  • Table of Contents: Add aria label to the nav element. (71586)
  • Terms Query: Fix console errors. (71795)
  • Time to Read: Change word count character based on word count type. (71920)
  • fix: Hide accordion icon position setting when show icon is disabled. (71748)

Patterns

  • Fix incorrect block editing mode assigned in some cases. (71970)
  • contentOnly unsynced patterns experiment: Ensure a tab is selected when clicking Edit contents. (71987)

DataViews

  • DataViewsPicker Grid layout: Support hiding the title. (71865)
  • Fix: Exclude non-hideable fields from the Properties list in the view configuration. (71729)

Site Editor

  • Fix creating templates for posts with long slugs. (71838)
  • Fix the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warning for the URL query. (71753)

Write mode

  • Accordion Block: Hide Add button in write mode. (71941)

Interactivity API

  • iAPI: Fix nestedย data-wp-eachย directives using the same items key. (71870)

Block bindings

  • Fix pattern override 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., editing was allowed on non enabled overrides blocks. (71813)

Components

  • Button: Fix incorrect padding with text and right icon. (71464)

Accessibility

  • Block Comments: Improve input labels. (71843)
  • Block Comments: Make comment thread focusable and improve keyboard navigation. (71883)

Block Library

  • Accordion Block: Add additional keypress handlers for navigation. (71786)
  • Accordion: Remove label from Add button. (71756)
  • Added default focus and hover states to accordion header. (71937)
  • Fix: Add aria-hidden to accordion toggle icon. (71783)
  • Update: Accordion heading level synchronization. (71895)

Performance

  • Block Comments: New โ€˜useBlockCommentsโ€™ hook and perf improvements. (71869)

Experiments

Block API

  • Allow registering PHP-only blocks. (71794)

Documentation

  • DataForm: Update visibility example in storybook. (71771)
  • Docs: Useย gutenbergย instead ofย Gutenbergย in package name. (71790)
  • Fix examples with elements in field type story. (71971)
  • Update validation story to cover number field type. (71980)

Code Quality

  • 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. changelog: Update for 9702 (to 9949). (71849)
  • Block Comments: Unfold custom styles. (71766)
  • Create anย AGENTS.mdย file. (71796)
  • 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. Schema: Update block.json apiVersion to 3. (71852)
  • Refactor block-inspector: Improve maintainability and readability. (71608)

Block Library

  • Accordion Block: Simplify script module enqueueing. (71742)
  • Accordion Blocks: Standardize CSS class names. (71785)
  • Accordion Header: Donโ€™t use flex-direction:Reverse. (71737)
  • Accordion Header: Remove hardcoded inline styles and unused CSS class. (71731)
  • Comments: Fix potential PHP warning. (71860)
  • Extract shared Controls component for Navigation Link and Submenu blocks. (71994)
  • Navigation Block: Use path for all navigation toogle icons. (71829)
  • Post Date: Combine โ€˜coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-dataโ€™ store selectors. (71846)
  • Social Icon: Removed extra spaces in color styles. (71900)
  • Time to Read: Simplify edit function. (71965)

Block Variations

  • Group block: Simplify variationsโ€™ isActive fields. (63100)

Tools

Testing

  • Block Comments: Add general end-to-end test coverage. (71844)

First-time contributors

The following PRs were merged by first-time contributors:

  • @Drivingralle: Navigation Block: Use path for all navigation toogle icons. (71829)
  • @epeicher: Button: Fix incorrect padding with text and right icon. (71464)
  • @ritoban23: Accordion Blocks: Organize block supports. (71823)
  • @theaminuli: Post Author Block: Add default avatar fallback for editor display outside postId context. (71775)
  • @Utsav-Ladani: Add paragraph level option to post type label block. (71947)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshawย @adamsilversteinย @Adi-tyย @andrewserongย @cbravobernalย @DAreRodzย @dinhtungduย @Drivingralleย @elazzabiย @ellatrixย @epeicherย @getdaveย @himanshupathak95ย @jorgefilipecostaย @jsnajdrย @juanfraย @karthick-muruganย @kmanijakย @levinbariaย @MaggieCabreraย @Mamadukaย @mikachanย @n2erjo00ย @nani-samireddyย @nerradย @ntsekourasย @oandregalย @ockhamย @peterwilsonccย @priethorย @R1shabh-Guptaย @ramonjdย @ritoban23ย @scruffianย @shail-mehtaย @shimotmkย @sirrealย @stokesmanย @sunyatasattvaย @t-hamanoย @talldanย @tellthemachinesย @theaminuliย @theminaldiwanย @Utsav-Ladaniย @yashjawaleย @youknowriad

Props @krupajnanda and @mosescursor for peer review.

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

Whatโ€™s new in Gutenberg 21.7? (24 September)

โ€œ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 tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.7?

Gutenberg 21.7 has been released and is available for download!

Expanded Command Palette

Site Editor navigation commands have now been made available on all screens.

Experiment: Terms Query 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.

A new block has been added, called Terms Query, similar to the Query block, but for terms rather than posts. It is designed to contain a new Terms Template block, which holds inner blocks with term data for displaying each term.

Go to Gutenberg > Experiments, and toggle the โ€œBlocks: add experimental blocksโ€ option to test it.

Experiment: contentOnly for Unsynced Patterns and Template Parts

An experiment has been added to give unsynced patterns and template parts contentOnly treatment, to prevent accidental edits of non-content blocks. To test, enable it on the Gutenberg > Experiments adminadmin (and super admin) page.

Experiment: Block Commenting

The block commenting experiment has continued to receive fixes and improvements, such as enabling them for published posts.

Changelog

Enhancements

Command Palette

  • Move custom CSSCSS Cascading Style Sheets. command toย core-commandsย fromย edit-siteย package. (71565)
  • Register menu navigation based on CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Menu 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.. (71476)

DataViews

  • Add color field type and control to DataViews. (71522)
  • Add data picker functionality. (70971)
  • Add password field. (71545)
  • DataForm radio control: Support validation and description. (71664)
  • DataForm select control: Support validation. (71665)
  • DataForm toggleGroup control: Support validation. (71666)
  • DataForm: Add a textarea control available for use with the text field type. (71495)
  • DataForm: Add summary field support for composed fields. (71614)
  • DataForm: Switch boolean field types from toggle to checkbox UIUI User interface. (71505)
  • Dataform: Add new URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org field type and field control. (71518)
  • Dataform: Add newย telephoneย field type and field control. (71498)
  • Dataforms: Add icons to email and telephone controls. (71514)
  • Dataforms: Add object configuration support for Edit property with prefix/suffix options. (71582)
  • Implementย groupByย for list layout. (71548)
  • Update datetime control to use calendar UI. (71509)
  • DataForm: Row Layout. (71124)

Block Library

  • Navigation Link: Change โ€˜Add pageโ€™ to โ€˜Create pageโ€™ button text. (71487)
  • Navigation Link: Show โ€˜Create pageโ€™ button in Write Mode while hiding โ€˜Add blockโ€™. (71489)
  • Navigation Link: Surface page creation functionality clearly in the LinkUI. (71188)
  • Normalize the Navigation block appender behavior between canvas and list view contexts. (71163)
  • Table of Contents: Update toolbar controls. (71587)
  • Terms Query: Combine Order and Order By control into single dropdown + remove order by slug. (71656)

Write mode

  • Add Navigation Add Page Button. (71192)
  • Hide Post Date toolbar when child of Query in contentOnly mode. (71707)
  • Try adding aย contentRoleย block support to content container blocks. (71539)

Block bindings

  • Addย block_bindings_supported_attributesย 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.. (71663)
  • Add fallback for new features introduced in Core. (71389)
  • Image block: Saveย <figcaption>ย ifย captionย attr is bound. (71483)

Block Editor

  • Localize labels in getVisualTypeName() for link control search items. (71503)
  • Update conditions for displaying the empty block inserter. (70897)

Global Styles

  • Site Editor: Always show Additional CSS button. (71537)

Components

  • Add support for ValidatedFormTokenField. (71350)

Command Palette

  • Make navigation commands available on all screens. (71335)

Interactivity API

  • Add fetchpriority=low support to script modules. (70173)

Block Variations

  • Haveย getActiveBlockVariationย fall back to default variation. (63858)

Core Data

  • Core Data: Remove conditions for selector resolutions. (71575)

New APIs

  • Core Commands: Introduce new useCommands hook. (71603)

Bug Fixes

  • Core Data: Donโ€™t return partial data when selecting a complete item. (71474)
  • Core Data: Fix early return check for the record field-level resolutions. (71541)
  • Core Data: Fix field conditions in โ€˜getRevisionโ€™ selector. (71629)
  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 8.5 array offset deprecation warning. (71654)

DataViews

  • DataForms regular layout: Remove label style overrides as they cause inconsistent results. (71574)
  • DataForms regular layout: Use BaseControl visual label for readonly fields when in top labelPosition. (71597)
  • DataViews grid layout: Rounded corners for media. (71543)
  • Field API: Addย setValue. (71604)

Write mode

  • Add contentRole to Query block and make sure Change design always works as expected. (71686)
  • Hide Spacer resizable box in write mode. (71671)
  • Make sure โ€œadd pageโ€ button label only appears once. (71710)

Block Editor

  • Fix popover scroll hookโ€™s simultaneous scrolling. (71468)
  • Fix stale insertion point reference. (71559)
  • useClipboardHandler: Prevent file paste for users without media upload permissions. (71607)

Components

  • Fix popover not calling onClose on unmount. (71252)
  • Modal headings and labels missing editor text color. (71311)
  • Validated form controls: Fix Sass var handling for red color. (71391)

Global Styles

  • BorderRadius Presets: Fix Generating wrong variable names in pattern code. (71631)
  • Search: Border radius presets work correctly. (71481)

Block Library

Block bindings

  • Fix back-compat layer. (71691)

Block Transforms

  • Block Editor: Fix BlockSwitcher to prevent transforms on reusable blocks. (71661)

Patterns

  • Content Only Pattern experiment: Restore purple block icon color for synced patterns. (71655)

Post Editor

  • Fix: Hide โ€œView Postโ€ link for non-viewable post types. (71356)

Block API

  • Allow block attributes strings to terminate in \ character. (71291)

Block Bindings

  • Block Bindings: Fix pattern override 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., editing was allowed on non enabled overrides blocks. ([71813])(#71813))

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)

  • Block Comments: Make โ€œn more repliesโ€ text clickable for accessibility. (71387)
  • feat: Clarify label & add help text with link. (70451)

DataViews

  • Customย emptyย elements are no longer wrapped inย <p>ย tags to improve accessibility. (71561)

Performance

  • Core Data: Always try to resolve entity permissions. (71532)

Post Editor

  • Editor: Try displaying intermediate results for hierarchical terms. (71402)

Experiments

Patterns

  • Make unsynced patterns content only by default. (71512)
  • contentOnly Patterns experiment: Add Edit Contents button to block inspector and show โ€˜Detachโ€™ block action. (71653)

Block Library

  • Add Terms Query block. (70720)
  • Pattern content only experiment: Make template parts section blocks. (71627)

Block Commenting

  • Make buttons in dialogs translatable and clear. (71639)
  • Use rendered comment content. (71638)
  • Improve error handling for core data actions. (71695)
  • Use TextareaAutosize for comment field. (71424)
  • Add comment indicators in the block toolbar. (71271)
  • Add the ability to reopen resolved comments. (71250)
  • Enable inline comments on published post. (71295)
  • Block Comments: Prevent commenting on empty blocks. (71497)
  • Fix block comment to display correct time. (71652)
  • Fix: Disable block commenting when postId is not number. (71643)
  • Fix: Hide resolved comments in unpinned mode. (71409)
  • Fix: Unable to pin comment 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. after unpinning. (71386)
  • 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.: Show โ€œ1 more replyโ€ instead of โ€œ1 more repliesโ€ in block comments. (71685)

Documentation

  • ControlWithError: Add documentation about clonedย children. (71392)
  • DataForm: Remove default storybook example. (71609)
  • Docs: Fix broken links in Gutenberg release checklist. (71611)
  • Docs: Split โ€œGutenberg Release Processโ€ page into two. (71130)

Code Quality

  • Block Commenting: Prevent unnecessary API requests when post ID is not integer. (71713)
  • CODEOWNERS: Remove some block code owners. (71657)
  • Exportย UseEntityRecordsWithPermissionsType. (71003)
  • Migrate element package to TS. (70886)
  • [core-data]: Fix TS types for user object. (68045)
  • i18n: Remove unnecessary JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. file. (71549)

Block Library

  • Clean up LinkUI duplication for Add block and Create page flows. (71499)
  • Gallery Block: Add end-to-end test for image randomization. (71538)
  • Refactor Link UI controls with better props. (71515)
  • Refactor: Content only template locking block editing modes to reducer. (67606)

Block bindings

  • Date block: Moveย block_bindings_supported_attributesย filter to compat layer. (71662)

DataViews

  • Remove leftover code for Pages. (71534)

Tools

  • Update CODEOWNERS to remove ndiego. (71591)

Testing

  • Automated testing: Add taxonomy pagination tests. (71584)
  • Fix comments in block editing mode tests. (71690)
  • contentOnly patterns experiment: Add reducer tests. (71688)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@adamsilversteinย @Adi-tyย @andrewserongย @coderGtmย @coreyworrellย @dhruvikpatel18ย @elazzabiย @ellatrixย @getdaveย @gigituxย @heavyweightย @jeryj@jorgefilipecostaย @karthick-muruganย @kmanijakย @kushagra-goyal-14ย @Mamadukaย @manzoorwanijkย @mikachanย @mirkaย @ndiegoย @ntsekouras@oandregalย @ockhamย @p-jacksonย @priethorย @R1shabh-Guptaย @shimotmkย @shrivastavanoloย @sirrealย @stokesmanย @strakuย @swissspidyย @t-hamano@talldanย @tellthemachinesย @USERSATOSHIย @westonruterย @xavier-lcย @yashjawale

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

Whatโ€™s new in Gutenberg 21.6? (10 September)

โ€œ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 tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.6?

Gutenberg 21.6 has been released and is available for download!

It brings several enhancements, including improvements to the new Accordion blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. and the Dataviews grid. This release also incorporates various 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 code refactoring, continuing the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to TypeScript. Additionally, it lays the groundwork for a future upgrade to ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. 19.

  1. New add accordion button
  2. Improved Dataviews grid interface.
  3. Select, dropdown and text inputs now support global styles.
  4. Changelog

New โ€œaddโ€ accordion button

A new โ€œaddโ€ button has been incorporated into the accordion block, simplifying the process of creating new content items by allowing direct additions to the accordion toolbar.

Improved Dataviews grid interface.

The dataviews grid now offers a cleaner interface. Titles can be hidden, and actions are accessible on hover, allowing for a simplified grid without sacrificing the ability to add actions to individual items.

Select, dropdown and text inputs now support global styles

This release brings global styles support to selects, dropdowns, and text inputs, giving themes consistent control over these common form elements. By defining styles in theme.json, authors can customize colors, borders, and typography without extra CSSCSS Cascading Style Sheets.. This update makes forms feel more cohesive with the rest of a siteโ€™s design.

Changelog

Enhancements

  • Add support for precision type placeholders to translator comments eslint. (71145)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Commands: Add Dashboard option to return to dashboard. (71261)
  • Core Data: Add โ€˜supportsPaginationโ€™ to all appropriate entities. (71302)
  • Core Data: Forward resolvers for pagination selectors. (71304)
  • Core Data: Include pagination 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. while receiving intermediate results. (71401)
  • Create Block: Add lifecycle script execution support. (71072)
  • Display names for Context providers. (71208)

DataViews

  • DataForm: Add description support for the combined fields and show the description in the Card layout. (71380)
  • DataForm: Streamline validation behavior. (71345)
  • Revert โ€œDataForm: Streamline validation behaviorโ€. (71359)
  • Support hiding the title in Grid layout, with actions available on hover. (71369)
  • Support the โ€œMinimal UIUI User interfaceโ€ story by using DataViews.Footer. (71276)

Block Library

  • Accordion Panel: Remove unnecessary wrapper div and simplify save. (71454)
  • Accordion: Add an โ€œAddโ€ button. (71388)
  • 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: Fix broken placeholder. (70840)

Offline

  • api-fetch: Check navigator.onLine to improve failure notices. (71438)

Meta Boxes

  • Edit Post: Check for meta box container before adding constraints. (71423)

Commands

  • feat: Added keyword support & added basic keywords for post/page. (70624)

New APIs

Global Styles

  • Add support for select or dropdown elements. (70379)
  • Global styles: add element support for text related inputs. (70378)

Bug Fixes

  • Add permission checks to Command Palette commands. (71267)
  • Components: Fix Tab font size when used outside WP. (71346)
  • Core Data: Fix error in โ€˜getEntityRecordsTotalPagesโ€™ selector. (71303)
  • Scripts: Do not access window global. (71348)
  • wp-scripts: Remove clean-webpack-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 dependency. (71080)

Block Library

  • Accordion 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.: Fix RTL toggle button layout. (71480)
  • Fix issue of css affecting the nested accordion icon. (71445)
  • Fix timezone in Date block. (71430)
  • Fix: Randomization in Gallery Block doesnโ€™t work when Lightbox is enabled. (71408)
  • Group Block variation:Remove variation text color. (71429)
  • Properly apply styles and classes to the experimental form block. (55755)
  • Template Part: Display icons correctly when in placeholder state. (71327)
  • fix: Prevent accordion toggle button overflow at full width. (71446)
  • fix: Prevent scrollbars on accordion header and toggle. (71484)

Write mode

  • Allow adding โ€œcontentโ€ role blocks to containers that also have a โ€œcontentโ€ role in write mode. (71232)
  • Audio and Video: Hide caption controls in contentOnly mode. (71368)
  • Hide โ€˜Add blockโ€™ control in Link UI when Navigation Link block is in contentOnly mode. (71213)
  • Image: Donโ€™t allow convert to cover controls in contentOnly mode. (71329)

Post Editor

  • Edit Post: Fix misplaced icon on back button. (71406)
  • Editor: Fix theme stylesheet injection in โ€˜useAvailablePatternsโ€™. (71332)

DataViews

  • Fix grid padding values on mobile viewports. (71455)

Block Editor

  • Inserter: Fix InserterListbox rendering for React 19. (71410)

Style Book

  • Accordion Content, Header, Panel: Remove example field. (71407)

Zoom Out

  • Fix Zoom out should be disabled when Show Template is toggled off. (71361)

Components

  • ControlWithError: Show validating state when transitioning from error state. (71260)

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

  • iAPI: Make state getters to be updated asynchronously with store(). (70974)

Performance

  • Add wp-env SPX profiler option. (70693)

Post Editor

  • Editor: Improve the โ€˜Designโ€™ 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. panel performance. (71333)

Documentation

  • Core Data: Improve โ€˜registry.batchโ€™ documentation. (71325)
  • DataForm: Better story for validation. (71298)
  • DataViews: Fix defaultLayouts documentation error. (71334)
  • Field Types: Update storybook. (71440)
  • 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.: Document โ€˜hookNameโ€™ and โ€˜namespaceโ€™ parameters. (71288)
  • Storybook: Set DateCalendar and DateRangeCalendar components as private. (71453)

Code Quality

  • A11yAccessibility 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): Remove redundant styles. (65409)
  • Command Palette: Enqueue assets globally. (71264)
  • Convert api-fetch package to TypeScript. (67669)
  • Convert date package to TypeScript. (67665)
  • Core Data: Remove unused reducers. (71305)
  • Fix: Add JSON_HEX_TAG flag to wp_json_encode in script tags. (71280)
  • Interface: Remove leftover comment. (71331)
  • Types: Update to be compatible with React 19. (71374)
  • api-fetch: Clean up error handling. (71458)
  • api-fetch: Cleanup and improve unit tests. (71439)
  • core-data: Use Object.fromEntries instead of reduce when generating entities reducer. (36296)
  • Deps: Bump framer-motion to v11.15.0. (71442)
  • Move Site Editor command from wordpress/editor package to wordpress/core-commands. (71262)

Block Editor

  • Fold uniqueByBlock into options object. (71279)
  • Remove duplicate โ€˜InsertionPointOpenRefโ€™ context definition. (71465)

Block Library

  • Image block: Remove unused code. (71292)
  • refactor: Remove unnecessary fields from accordion block.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. files. (71441)

Post Editor

  • Update types of getCurrentPostId. (71347)

Global Styles

  • Remove unecessary useEffect from ScreenStyleVariations. (71344)

Tools

Testing

  • Avoid using *-latest for runner images. (71201)
  • Fix failing command center end-to-end tests. (71293)
  • GitHubGitHub GitHub is a website that offers online implementation of git repositories that 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: Try to fix storybook smoke tests. (71284)
  • Upgrade Playwright to v1.55. (71285)

Build Tooling

  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher unit testing jobs to not include version. (71396)
  • Release Workflow: Add github.ref validation. (71404)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@Adity @andrewserong @aristath @DAreRodz @desrosj @dinhtungdu @getdave @himanshupathak95 @im3dabasia @jsnajdr @juanfra @kmanijak @lalitkumawat1m @levinbaria @MaggieCabrera @Mamaduka @manzoorwanijk @Mayank-Tripathi32 @mcsf @mikachan @mirka @nerrad @oandregal @R1shabh-Gupta @ramonjd @shimotmk @sirreal @swissspidy @t-hamano @talldan @tellthemachines @tyxla @USERSATOSHI @vipul0425 @westonruter @youknowriad

Props @mamaduka and @jorbin for peer review. Props @joen for visual assets.

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

Whatโ€™s new in Gutenberg 21.5? (27 August)

โ€œ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, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.5?

Gutenberg 21.5 has been released and isย available for download!

This release contains many enhancements in addition to the new blocks. Below is a curated summary of the most notable changes in this release.

Introducing Accordion 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.

Experimental Accordion block

This release introduces the new experimental Accordion block. Accordion content is composed of the trigger and panel, allowing users to style them separately, while maintaining the 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) and semantics requirements of the accordion.

Command Palette in adminadmin (and super admin) dashboard

Command Palette in admin dashboard

We aim to bring the Command Palette into all parts of the WordPress experience. As a first step, the Command Palette is now available in the Admin Dashboard.

More commands and extensibility are planned for the future; see the overview issue for more details.

Support border radius presets

Like spacing, color, aspect ratios etc. Border radius are something that should be applied consistently throughout a design. Defining โ€œborder radius presetsโ€ 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. allows picking border radius value from these presets instead of manually entering radius values.

Continue reading โ†’

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

Whatโ€™s new in Gutenberg 21.4? (13 August)

โ€œ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, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.4?

Gutenberg 21.4 has been released and isย available for download!

This release focuses on improvements to DataViews and other components. Below is a curated summary of the most notable changes in this release.

DataViews table layout grouping and multi-selecting

Following up on the last Gutenberg release, which introduced grouping by a field in DataViews grid layouts, Gutenberg now brings the grouping option to tables as well.

Moreover, the table gets another feature from a different layout: it is now possible to multi-select with Control / โŒ˜ + click, similar to how the grid layout operates.

More on DataViews enhancements

The table layout is not the only thing getting some tweaks in this release; there are a handful of new goodies for dataviews, including:

  • The grid layout now uses responsive images, improving performance in the most image-heavy layouts.
  • Filters can now be locked, allowing you to see their effects without modifying them. This allows for pre-configured views, such as the ones you can find in the Site Editorโ€™s pages screen, filtering by different statuses.
  • Speaking about filters, filtering by date just got smoother thanks to its calendar implementation.
  • The empty state shown when there are no results can now be customized.

Style shuffling in write mode

Write mode is gaining traction, and this release introduces a simple yet user-friendly feature: when in write mode, sections get a style shuffling button, allowing you to experiment with random styles and find the perfect vibe for your site!

As a reminder, write and design modes are an experiment that is meant to simplify content vs design editing in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor; you can enable it in the Gutenberg experiments page and submit your feedback on the experience.

Continue reading โ†’

#gutenberg