What’s new in Gutenberg 24.1? (30 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 24.1?

Gutenberg 24.1 has been released and is available for download!

This version is all about design tool consistency, with about 140 dedicated PRs. Background image, size and gradient, shadow, borders, link, heading and button colors, typography and text columns now reach almost every coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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 a new text-shadow control arrives alongside them.

More block design tools

Screenshot of a block inspector sidebar showing the new background tools.

Accordion, Tabs, Comments, Post blocks and more all get the same set of background and color tools (dozens of PRs, check the changelog). The Group (#83425), Post Author Biography (#83424), and Terms List (#83432) blocks gain column support. Tabs (#83431) and Tab Panel (#83428) gain typography controls.

Expanded text shadow support

Screenshot of a block inspector sidebar showing the new text shadow tools.

The text shadow functionality introduced in Gutenberg 23.5 (#73320) now is fully supported by 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., gains its own panel in Global Styles, and is available by the Paragraph and Heading blocks (#79584).

Media selection in the block inspector panel

Screenshot of a block inspector sidebar showing the new media selection tools.

The block inspector panel of the Cover (#82751) and Media & Text (#82593) blocks has a new media selection functionality, matching the Image and Site Logo blocks.

Other notable highlights

  • Start page patterns: the modal now has categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. filtering and search (#81396).
  • Add Template: the modal shows each template’s description (#83064).
  • Blocks inside patterns: the parent selector now shows for them (#82912).
  • Alignment menu: unavailable wide and full alignments are listed as unavailable instead of silently disappearing (#82600).
  • Viewport states: position can be set per viewport (#83094), and custom controls get a public APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. for viewport states (#82741).
  • Icon redraw finished: the last 238 icons were converted to strokes (#82540, #82754), completing the redraw started in 24.0.

Changelog

Features

Components

  • UIUI User interface: Add CheckboxGroup form primitive. (82556)
  • UI: Add RadioGroup form primitive. (83038)
  • UI: Add RadioGroupControl. (83143)
  • UI: Add Switch form primitive. (83039)
  • UI: Add SwitchControl component. (83146)

Enhancements

  • Adminadmin (and super admin) bar: 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. removal of site icon background from 7.1.1. (83433)
  • Command Palette: Only add the admin bar node when Core does not provide it. (82733)

Block Library

  • Accordion Item: Add background gradient support. (83197)
  • Accordion Item: Add link, heading, and button colour support. (83371)
  • Accordion Panel: Add background image, size, and gradient support. (83201)
  • Accordion Panel: Add link, heading, and button colour support. (83374)
  • Accordion: Add link, heading, and button colour support. (83373)
  • Archives: Add background image, size, and gradient support. (83198)
  • Audio: Add link colour support. (83375)
  • Block API: Add textShadow typography support and UI. (79584)
  • Block API: Public API for supporting viewport states in custom controls. (82741)
  • Block API: Re-enable editableRoot for multi-selection on mobile web. (81542)
  • Breadcrumbs: Add background gradient support. (83202)
  • Buttons: Add background image, size, and gradient support. (83203)
  • Code: Add background image, size, and gradient support. (83204)
  • Code: Add shadow support. (83014)
  • Column: Add background image, size, and gradient support. (83205)
  • Columns: Add background image, size, and gradient support. (83206)
  • Comment Author Name: Add background gradient support. (83207)
  • Comment Content: Add background gradient support. (83208)
  • Comment Content: Add heading and button colour support. (83376)
  • Comment Date: Add background gradient support. (83209)
  • Comment Edit Link: Add background gradient support. (83210)
  • Comment Reply Link: Add background gradient support. (83211)
  • Comments Next Page: Add background gradient support. (83215)
  • Comments Page Numbers: Add background gradient support. (83216)
  • Comments Pagination: Add background gradient support. (83219)
  • Comments Previous Page: Add background gradient support. (83220)
  • Comments Title: Add background gradient support. (83217)
  • Comments: Add background image, size, and gradient support. (83212)
  • Comments: Add button colour support. (83378)
  • Cover: Add a Media section to the block inspector panel. (82751)
  • Details: Add background image, size, and gradient support. (83222)
  • Details: Add heading and button colour support. (83381)
  • Details: Add shadow support. (83021)
  • File: Add background image, size, and gradient support. (83223)
  • Footnotes: Add background image, size, and gradient support. (83224)
  • Footnotes: Add shadow support. (83044)
  • Gallery: Add background image, size, and gradient support. (83225)
  • Gallery: Enable viewport state values for Gallery aspect ratio. (82233)
  • Group: Add text columns support. (83425)
  • Heading: Add background image, size, and gradient support. (83226)
  • Heading: Add shadow support. (83045)
  • Home Link: Add background image, size, and gradient support. (83230)
  • Home Link: Add border support. (83360)
  • Home Link: Add shadow support. (83046)
  • Icon block: Don’t render non-public icons on the frontend. (82774)
  • Latest Comments: Add background image, size, and gradient support. (83227)
  • Latest Comments: Add shadow support. (83047)
  • Latest Posts: Add background image, size, and gradient support. (83228)
  • Latest Posts: Add shadow support. (83051)
  • Login/out: Add background image, size, and gradient support. (83229)
  • Login/out: Add shadow support. (83050)
  • Math: Add background image, size, and gradient support. (83231)
  • Math: Add shadow support. (83052)
  • Math: Improve inline block UI. (77743)
  • Media & Text: Add a Media section to the block inspector panel. (82593)
  • Media & Text: Add button colour support. (83380)
  • Navigation Overlay Close: Add border support. (83362)
  • Navigation Overlay Close: Add shadow support. (83053)
  • Next Page: Add background gradient support. (83232)
  • No Results: Add background image, size, and gradient support. (83233)
  • No Results: Add heading and button colour support. (83382)
  • No Results: Add shadow support. (83054)
  • Page List: Add background image, size, and gradient support. (83234)
  • Page List: Add shadow support. (83056)
  • Page Numbers: Add background gradient support. (83235)
  • Pagination: Add background gradient support. (83236)
  • Playlist: Add shadow support. (83055)
  • Post Author Biography: Add background gradient support. (83199)
  • Post Author Biography: Add text columns support. (83424)
  • Post Author Name: Add background image, size, and gradient support. (83200)
  • Post Comments Count: Add background gradient support. (83213)
  • Post Comments Form: Add background image, size, and gradient support. (83214)
  • Post Comments Form: Add button colour support. (83377)
  • Post Content: Add button colour support. (83379)
  • Post Content: Add shadow support. (83016)
  • Post Content: Add text align support. (83427)
  • Post Date: Add background gradient support. (83218)
  • Post ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.: Add background image, size, and gradient support. (83221)
  • Post Excerpt: Add shadow support. (83018)
  • Post Navigation Link: Add border and spacing support. (83122)
  • Post Navigation Link: Add shadow support. (83058)
  • Post Template: Add background image, size, and gradient support. (83237)
  • Post Template: Add heading and button colour support. (83384)
  • Post Template: Add shadow support. (83059)
  • Post Terms: Add background image, size, and gradient support. (83238)
  • Post Terms: Add shadow support. (83175)
  • Post Time to Read: Add background image, size, and gradient support. (83258)
  • Post Time to Read: Add shadow support. (83194)
  • Post Title: Add background image, size, and gradient support. (83260)
  • Post Title: Add shadow support. (83195)
  • Preformatted: Add background image, size, and gradient support. (83239)
  • Preformatted: Add link colour support. (83386)
  • Preformatted: Add shadow support. (83174)
  • Previous Page: Add background gradient support. (83240)
  • Pullquote: Add shadow support. (83177)
  • Query Title: Add background gradient support. (83242)
  • Query Total: Add background image, size, and gradient support. (83243)
  • Query Total: Add shadow support. (83176)
  • Quote: Add shadow support. (83178)
  • RSS: Add background image, size, and gradient support. (83244)
  • RSS: Add shadow support. (83179)
  • Read More: Add background image, size, and gradient support. (83245)
  • Read More: Add shadow support. (83180)
  • Site Tagline: Add background image, size, and gradient support. (83246)
  • Site Tagline: Add fit text support. (83034)
  • Site Tagline: Add shadow support. (83181)
  • Site Title: Add background image, size, and gradient support. (83247)
  • Site Title: Add shadow support. (83182)
  • Social Icons: Add background gradient support. (83249)
  • Submenu: Add shadow support. (83185)
  • Tab Panel: Add background image, size, and gradient support. (83248)
  • Tab Panel: Add border support. (83363)
  • Tab Panel: Add link, heading, and button colour support. (83389)
  • Tab Panel: Add shadow support. (83183)
  • Tab Panel: Add typography support. (83426)
  • Tab Panels: Add background image, size, and gradient support. (83250)
  • Tab Panels: Add button colour support. (83388)
  • Tab Panels: Add shadow support. (83184)
  • Tab Panels: Add typography support. (83428)
  • Table of Contents: Add background image, size, and gradient support. (83251)
  • Table of Contents: Add shadow support. (83187)
  • Table of Contents: Add text align support. (83430)
  • Tabs: Add background image, size, and gradient support. (83252)
  • Tabs: Add border support. (83361)
  • Tabs: Add link, heading, and button colour support. (83390)
  • Tabs: Add shadow support. (83186)
  • Tabs: Add typography support. (83431)
  • Tag Cloud: Add background and link colour support. (83264)
  • Tag Cloud: Add background image, size, and gradient support. (83259)
  • Tag Cloud: Add shadow support. (83188)
  • Term Count: Add background image, size, and gradient support. (83253)
  • Term Count: Add shadow support. (83189)
  • Term Count: Add text align support. (83429)
  • Term Description: Add background image, size, and gradient support. (83254)
  • Term Description: Add shadow support. (83190)
  • Term Name: Add background image, size, and gradient support. (83255)
  • Term Name: Add shadow support. (83191)
  • Term Template: Add background image, size, and gradient support. (83256)
  • Term Template: Add shadow support. (83192)
  • Terms List: Add background image, size, and gradient support. (83257)
  • Terms List: Add shadow support. (83193)
  • Terms List: Add text columns support. (83432)
  • Verse: Add shadow support. (83057)
  • Video block: Remove GIF variation handling. (82696)
  • Video: Add shadow support. (83196)
  • i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Add context to breadcrumbs area label. (78134)

Components

  • Autocomplete: Show focus with design system’s focus ring. (82766)
  • Links: Update LinkControl and LinkPicker to use Badge from wordpress/ui. (82684)
  • BoxControl: Migrate the side indicator to an SCSS module. (82570)
  • Checkbox: Align CheckboxControl border, hover, and disabled colors with UI. (83271)
  • Checkbox: Align CheckboxControl checkmark and disabled styles with UI. (82555)
  • Checkbox: Expand hit target without changing visual size. (82597)
  • Circular Option Picker: Show focus with button’s outline ring. (82521)
  • Custom Gradient Picker: Show the control point’s focus ring with the design system’s outline. (82834)
  • DataViews: Let a picker compose its footer from the page select and its actions. (83281)
  • Deprecate Divider. (83040)
  • Deprecate ResponsiveWrapper. (83347)
  • Deprecate Scrollable. (83273)
  • Deprecate ZStack. (83344)
  • Elevation: Deprecate Elevation. (83269)
  • Elevation: Migrate from Emotion to SCSS modules. (82572)
  • Grid: Migrate Emotion styles to SCSS Modules. (82571)
  • Notes: Use UI Menu for note actions. (81930)
  • Palette: Use wordpress/ui Menu for palette options. (82768)
  • Radio: Expand hit target without changing visual size. (83275)
  • Select Positioner: Revert to Base UI alignItemWithTrigger default. (82043)
  • Snackbar: Clean up legacy focus/button overrides in Snackbar and Notice. (82640)
  • Storybook: Fold Foundations, DataViews, Fields, Admin UI and Icons under Design System. (82430)
  • Storybook: Group WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Primitives, Widget Dashboard and Grid under Widgets. (82431)
  • Storybook: Group component packages under Components. (82433)
  • Storybook: Group the editor UI under Editor. (82432)
  • Storybook: Guard the set of top-level 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. folders with a test. (82436)
  • Storybook: List every top-level folder in the sidebar order, design system first. (82429)
  • Storybook: Remove the legacy Tokens pages. (82434)
  • Storybook: Rewrite the introduction page as the front door of the design system. (82437)
  • Storybook: Show the component status in the sidebar as status-* tags. (82435)
  • UI: Add Select.ItemLabel and ItemDescription. (82369)
  • UI: Add statusContent to searchable selects. (82592)
  • UI: Tighten Fieldset legend and description gap. (82729)

Post Editor

  • Collaborators: Update to use design system’s focus ring in headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. 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. stack when collaborator is present. (82941)
  • Editor: Add left border to Notes panel. (83330)
  • Editor: Use UI Menu for post actions. (81922)
  • Featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. field: Support the editor.PostFeaturedImage 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. in the post summary. (83133)
  • Global Styles: Use UI Menu. (81921)
  • Global Styles: Switch the 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. screen to the DataViews pickerActivity layout. (80856)
  • Keycodes: Add a shared keyboard shortcut representation helper. (82632)
  • Media Utils: Stabilize unstableFeaturedImageFlow as featuredImageFlow. (83439)
  • Patterns: Add category filtering to the start page options patterns modal. (81396)
  • Post Taxonomies: Replace FormTokenField in the flat term selector. (80967)
  • Textarea: Replace TextareaAutosize with native textareas and field-sizing. (64208)

Block Editor

  • Blocks: Highlight the block when its content list item is hovered. (83049)
  • Blocks: List unavailable wide and full alignments instead of hiding them. (82600)
  • Block Editor: Consolidate search ranking into one shared module. (83312)
  • Block Inspector: Enable setting position within viewport states. (83094)
  • Block Inspector: Improve style states UI. (82649)
  • Block Inspector: Migrate block-card Badge to UI Badge. (82503)
  • Block Inspector: Stabilize display of inherited global styles and keep UI changes behind experiment. (82840)
  • Block Toolbar: Show the parent selector for blocks inside patterns. (82912)
  • UI: Use UI Menu for bindings and variation transforms. (81925)

Icons

  • Add a core-admin collection for the admin interface. (83261)
  • Allow icons to ship to WordPress Core without exposing them in the Icon block. (82634)
  • Icons: Stroke conversion – 3rd batch, 142 icon updates. (82540)
  • Icons: Stroke conversion – Final batch, 96 icons. (82754)
  • Move the public property from icons to collections. (83277)
  • Rebalance a few, add other new icons. (83338)
  • ship required icons for admin bar and menu with public: False. (79451)

Dashboard

  • Widget Dashboard: Default tile padding to padding-lg. (82961)
  • Widget Dashboard: Show a clipped widget title in the header infotip. (82226)
  • Widget Dashboard: Use UI Menu for dashboard controls. (81929)
  • Widget Dashboard: Use UI Spinner and remove Components dependency. (82837)
  • Widget Primitives: Add HostLink over the links 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).. (82952)
  • Widgets: Carry declarative attributes through the widget pipeline. (82485)

DataViews

  • Excerpt field: Render nothing when the excerpt is empty. (82423)
  • Fields: Use the post type labels in the featured image field and drop mediaUploadProps. (83445)

Data Layer

  • Data: Add getResolutionArgs to share a resolution across selector calls. (82638)
  • Data: Stabilize __unstableNormalizeArgs as normalizeArgs. (83067)

Site Editor

  • Add Template: Show template descriptions in the template list. (83064)
  • ExtensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Use the view configuration form for Quick Edit. (82962)

Bug Fixes

  • Env: Preserve complete lifecycle script error output. (82735)

Block Library

  • Cover: Prevent content cutoff when aspect ratio is set in Safari. (70152)
  • Gallery: Skip gap style generation for themes opting out of layout styles. (81633)
  • Image Block: Prevent global link colors from leaking into linked image borders. (79401)
  • Image block: Stop interpreting $/\ in img attributes as regex backreferences. (79369)
  • Image: Restore alt text and caption when undoing a media editor save. (82829)
  • Math: Source the LaTeX from the MathML annotation. (82987)
  • Navigation: Block appender button is 26×24 instead of square. (82718)
  • Navigation: Don’t force submenus open inside a custom overlay. (82596)
  • Navigation: Fix always-open submenus jumping in width on hover. (83142)
  • Navigation: Fix submenu detection leaks between Navigation blocks. (82366)
  • Navigation: Multi-line text of menu items is not aligned. (70917)
  • Pattern block: Run autoembed() before do_blocks(). (82860)
  • Playlist: Fix track selector stability. (81760)
  • Post Title: Remove the inline-block from the title link. (80231)
  • Query Pagination: block ignores the parent block gap in the editor. (82399)
  • Tab Panel: Hide the shadow on closed panels. (83369)
  • Term Name: Block skips the term name display filters. (82365)

Block Editor

  • Block Toolbar: Fix parent selector inserter for locked blocks. (83444)
  • Cover Block: Fix resizable handle visibility on mobile when sidebar is opened. (80355)
  • Find focusable image map areas. (82736)
  • Fix: Social Icons: In-between inserter does not work. (83327)
  • Hide alignment control when nothing available. (83265)
  • Inner Blocks: Support legacy inherit-based layouts. (82637)
  • Keep the iOSiOS The operating system used on iPhones and iPads. keyboard capitalized after Return inside the editing host. (82911)
  • Link Control: Only 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.) pages as the front page or blogblog (versus network, site) home. (83082)
  • Media: Detect HEIC uploads from the file header rather than the file name. (81737)
  • Media: Stop injecting crossorigin attributes under Document-Isolation-Policy. (82614)
  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher-only blocks: Detect enums in array attributes. (83394)
  • Revise block direct dragging to fix adjacent issues. (72983)
  • Rich text: Fix mobile selection hair pin grab at edge of block. (83041)
  • Rich text: Select an inline image by clicking it, and show the edit UI of the object clicked. (83370)
  • Rich text: Show the format boundary when the canvas root has focus. (83385)
  • Show the in-between inserter on wrapped lines. (83276)

Components

  • BorderBoxControl: Restore the split borders layout. (82939)
  • DataForm: Hide the edit button of disabled fields in the panel layout. (82957)
  • DataViews: Label clickable grid media by the item title when the title is hidden. (82639)
  • Fix stray fill rule in SelectControl. (82949)
  • FocalPointPicker: Fix Sidebar Overflow Issue. (68915)
  • Give control labels an explicit foreground color. (83318)
  • Menu: Fix vertical alignment across item combinations. (82847)
  • Storybook: Load the media editor package styles in its stories. (83303)
  • Storybook: Omit the recommended checkmark from the sidebar. (83309)

Post Editor

  • Avoid re-registering command loaders on every render. (82819)
  • Distraction Free: Raise top bar above notices when revealed by hover or keyboard focus. (80349)
  • Editor: Add a fixedRenderingMode prop for contexts with one mode. (82711)
  • Editor: Coerce multiple to a boolean in the media modal wrapper. (82715)
  • Editor: Default block gap is ignored in the editor for themes without block gap support. (82401)
  • Editor: Honor post types in post-thumbnails theme support when registering the featured image field. (82773)
  • Fix post editor: 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 become invisible in Code Editor view. (78644)
  • PostLastRevisionPanel: Fix doubled focus ring on the revisions button. (82955)
  • Template panel: Hide edit and create actions from users who can’t create templates. (82858)

Site Editor

  • Site Editor: Restore Global Styles access on the front page. (82624)
  • Site Editor v2: Show the template on the routes that show the site. (82712)

Global Styles

  • Rank block search results by title match. (83435)
  • Retain responsive styles in block style variation partials. (82403)

Data Layer

  • Core Data: Fix overwriting scored matches for duplicate ids. (83113)
  • Core Data: Fix return types on generated save/delete entity actions. (77162)

Icons

  • Allow rect and circle in the registry sanitizer. (82846)
  • Restore the dimmed box on the side and corner icons. (82940)

DataViews

  • Fields: Hide the date, author and password fields when the user can’t publish or reassign. (82844)
  • Fields: Show the template field to users who can’t create templates. (82857)
  • Show a message in MediaEdit when the user can’t upload media. (82720)

Connectors screen

  • Add missing listitem role to ConnectorItem. (82664)
  • Fix Connectors and Fonts pages background color and contrast. (82827)

Media

  • Media Editor: Fix crop canvas handlers and rotation ruler in RTL. (83304)
  • Upload media: Guard processItem against re-entrant dispatch. (83031)

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)

Components

  • UI: Fix highlighted item indicator in forced-colors mode. (82772)

Widgets Editor

  • Fix: Widgets customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. Undo and Redo buttons are disabled and the document tools focus style is not visible. (82412)
  • Widgets: Fix the Welcome Guide menu item triggering a preference speak message. (82395)

Performance

Data Layer

  • Data: Defer async-mode useSelect notification to idle time. (82821)
  • Data: Keep a pending listener when store not yet registered. (83346)
  • Data: Optimize store listeners and their execution. (82842)

Block Editor

  • Avoid a store subscription per inserter item. (83434)
  • Drop the O(n) tie-break in orderBy. (83443)

Components

  • Stop rendering a hidden drag preview and a media query per draggable. (83423)

Documentation

  • API Fetch: Document that requests are meant for the current site’s 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/. (82373)
  • Data: Fix the latest changelog entry and structure. (82959)
  • DataViews README: Clarify readOnly vs isDisabled. (82956)
  • Docs: Add blank line between since and param/return in block parser. (82690)
  • Docs: Add missing since tags to two functions. (83116)
  • Docs: Clarify DEWP asset file naming rule. (80620)
  • Docs: Clarify dependency extraction asset filename. (78968)
  • Docs: Clarify parent behavior during block registration. (78967)
  • Docs: Data: Fix typo in code example for __unstableNormalizeArgs. (83070)
  • Docs: Document page stability convention. (80632)
  • Docs: Document published dependency constraints. (80631)
  • Docs: Document the no-hard-wrap rule for Markdown. (83017)
  • Docs: Fix the broken Query block link in the Interactivity API guide. (82862)
  • Docs: Fix the dead anchor in the block development environment list. (82878)
  • Docs: Guard against ESLint bulk suppression abuse. (82944)
  • Docs: Replace retired reduce-motion mixin in animation guidelines. (83335)
  • Docs: Say how long a notice can be, in the copy guide. (81195)
  • Docs: The image dimensions have been removed from the name. (82828)
  • Fix typos in comments and test descriptions. (83172)
  • Notice: Add custom icon Storybook example. (82762)
  • Storybook: Drop CustomSelectControlV2 stories and the unused WIP tag. (83349)
  • Sync: Add PR link to CHANGELOG. (83037)
  • UI: Document that public –wp-ui-* CSSCSS Cascading Style Sheets. custom properties are frozen. (83147)
  • UI: Mark Select and SelectControl as recommended. (83030)
  • UI: Place Fieldset description after the legend in stories. (83144)

Code Quality

  • CI: Disable setup-node npm caching in the Create Block packed package job. (82833)
  • CI: Keep the bundled npm when devEngines is absent. (82823)
  • CI: Stop actions/setup-node from invoking the bundled npm. (82775)
  • Code Modernization: Use null coalescing operator in WP_Block_Parser methods. (82763)
  • Global Styles: Replace experimental ZStack in the palette preview. (83060)
  • Interactivity API: Remove the interactivity-router script module data shim. (83011)
  • Monorepo tools: Move the experimental API audit out of bin/. (83081)
  • Release tools: Move the 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. ZIP build out of bin/. (83087)
  • Storybook: Reject non-module stylesheet imports. (83313)
  • Tooling: Add wordpress/monorepo-tools to root devDependencies. (82824)
  • Tooling: Name the shared tsconfig presets tsconfig.*.json. (83077)
  • Unit Tests: Resolve @ariakit/utils through its dependents. (82756)
  • Upgrade 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 to 19.3.0. (82760)

Block Editor

  • Block Mover: Cleanup focus ring override. (83068)
  • Layout 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.: Roll out usage of normalizeLegacyLayout to the block-editor layout hooks. (82710)
  • Remove the deprecated __experimentalGroup prop. (83171)
  • Remove the zero width space hack from getRectangleFromRange. (82977)
  • Replace denylisted layout components in the Duotone filter label. (83061)
  • Replace experimental ZStack in overlapping color indicators. (83062)
  • Rich text: Separate applying the selection from focusing the field. (82581)
  • Update block visibility badges to use from wordpress/ui package. (82670)

Post Editor

  • Collaborators Presence & Document Bar: Clean up styles by removing overrides. (83013)
  • Editor: Remove pass-through more menu Slot wrappers. (82759)
  • Interface: Convert the package to TypeScript. (82753)
  • Interface: Fix the ActionItem click handler and selector types. (82758)
  • Post template panel: Remove the dead template read capability check. (82861)
  • Use WCCheckboxControl alias for legacy CheckboxControl imports. (83145)
  • Use WCSelectControl alias for legacy SelectControl imports. (83027)

Components

  • Build: Deduplicate npm dependencies. (82698)
  • ESLint: Allow string literal IDs in tests and Storybook. (83090)
  • Packages: Update Ariakit to 0.4.39. (82831)
  • Prettier: Upgrade wp-prettier to 3.9.6. (82731)
  • Prettier: Upgrade wp-prettier to 3.9.6 final. (83026)
  • Storybook: Convert story-only stylesheets to CSS modules. (83272)
  • Storybook: Place RadioGroup, Switch, and SwitchControl under wordpress-ui. (83314)
  • Storybook: Remove obsolete manifest extractor render workaround. (83124)
  • UI: Update Base UI to 1.8.0. (82835)

CSS & Styling

  • Button: replace deprecated word-break with overflow-wrap: Anywhere. (82854)
  • DataViews: replace word-break with overflow-wrap: Anywhere on DataForm panel field control. (82776)
  • Fields: replace word-break with overflow-wrap: Anywhere on slug permalink. (82693)
  • Post publish panel: Replace deprecated word-break with overflow-wrap. (82495)
  • Replace deprecated word-wrap with overflow-wrap in responsive block control. (82855)
  • Replace deprecated word-wrap with overflow-wrap in screen-reader-text. (82972)
  • Stylelint: Fix Stylelint configuration and coding standards for font weight numeric values and disallow relative weights. (82778)
  • Stylelint: Remove deprecated word-wrapping Stylelint suppressions. (82426)
  • UI: Replace deprecated word-wrap with overflow-wrap in VisuallyHidden. (82970)
  • Workflow: Remove deprecated word-wrapping. (82562)

Data Layer

  • Data: Remove the unused AsyncModeConsumer export. (82822)

Block Library

  • Calendar Block: Use the args array signature of get_calendar(). (82943)

Icons

  • Test that the registry sanitizer preserves every library icon. (83008)
  • Test the registry sanitizer with a data provider. (83024)

wp-build

  • Build: Declare wordpress/theme as a dev dependency of wordpress/build. (83129)

Widget primitives

  • Fix prettier lint issues after prettier upgrade. (83015)

Plugin

  • Icons: Move plugin icon registration out of the 7.1 compat directory. (82832)
  • Bump minimum required WordPress version to 7.0. (82404)

Font Library

  • Fonts: Remove the deprecated Fonts API BC layer and leftovers. (82813)

Jest console

  • Test: Remove obsolete internal test setup and transforms. (82761)

Tools

  • CI: Run the required 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. changes check through the pr-baseline action. (82725)
  • CI: Scope the required trunk changes refresh to what a move can invalidate. (82767)
  • Project Management: Exclude private APIs configuration from CODEOWNERS. (82750)

Testing

  • Automated Testing: Document and validate expected changelog structure. (83043)
  • Customize Widgets: Fix asynchronous updates in the header history test. (82963)
  • E2E: Reset preferences in the post editor preload spec. (82818)
  • Fields: Resolve the MediaEdit picker through the editor.MediaUpload filter. (82678)
  • Fix the high-severityseverity The seriousness of the ticket in the eyes of the reporter. Generally, severity is a judgment of how bad a bug is, while priority is its relationship to other bugs. adm-zip audit failure in AI development tests. (83170)
  • Move the unit-test-date.sh script to workspace, rewrite to JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (83066)
  • Scripts: Switch unit tests to Vitest and deprecate Jest tooling. (82843)
  • Speed up collaboration end-to-end by shortening poll interval. (78746)
  • Test: Finish repository Vitest migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. and expand Browser Mode coverage. (82742)
  • Test: Run rendered browser behavior in Vitest Browser Mode. (80995)
  • Test: Strengthen Menu 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. listener cleanup assertions. (82575)
  • Tests: Isolate deprecation warnings between cases. (83097)
  • Tests: Remove obsolete internal Jest infrastructure. (82975)
  • Tests: Update Testing Library DOM to 10.4.2. (83279)

Build Tooling

  • AI development tests: Use repository Node version. (82662)
  • Dependency Extraction Webpack Plugin: Add global-styles-engine and global-styles-ui as bundled packages. (82589)
  • Dependency Extraction Webpack Plugin: Pretty-print generated asset output. (79650)
  • Disable caching when publishing built assets. (79835)
  • ESLint: Disallow Storybook build-style side-effect imports. (82960)
  • Packages: Backport the September 10 npm release metadata to trunk. (82709)
  • Packages: Remove npm from package engines. (83326)
  • Release: Verify SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. deployment after publication. (82513)
  • Stylelint: Add  –_wp-*  to custom-property-pattern rule. (83075)
  • Stylelint: Add custom-property-pattern to disallow –_gcd-* custom properties. (83025)
  • Test: Make browser tests independent of execution order. (82743)
  • TypeScript: Give each widget its own typecheck project. (83328)
  • Workflows: Refine and complete the push and pull_request 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". filters. (82744)
  • Tooling: Add .mts and .cts support. (83071)
  • Tooling: Extract shared TypeScript configs into a wordpress/monorepo workspace. (82334)
  • UI: Move interaction tests to Browser Mode. (82838)
  • WP Scripts: Update lerna to 10 and markdownlint-cli to 0.49.1. (81917)

ESLint plugin

  • Check type-only imports for undeclared dependencies. (83336)
  • Upgrade eslint-plugin-jsdoc to latest version 64. (82727)

Collaboration

  • Sync: Add backwards-compatible Y option to provider creator. (82621)

First-time contributors

The following PRs were merged by first-time contributors:

  • @DanielFloeter: Multi-line text of menu items is not aligned. (70917)
  • @gunjanjaswal: Dependency Extraction Webpack Plugin: Pretty-print generated asset output. (79650)
  • @guzel: Global Styles: Retain responsive styles in block style variation partials. (82403)
  • @iiibrapn: The image dimensions have been removed from the name. (82828)
  • @imraan011: Video block: Remove GIF variation handling. (82696)
  • @smeetbuilds: Docs: Clarify dependency extraction asset filename. (78968)
  • @som3669: Docs: Add missing since tags to two functions. (83116)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @aduth @afercia @alecgeatches @andrewserong @chihsuan @ciampo @costasovo @DanielFloeter @desrosj @dhruvikpatel18 @dknauss @dpmehta @ellatrix @fushar @gunjanjaswal @guzel @hbhalodia @i-am-chitti @iiibrapn @im3dabasia @imraan011 @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @Kgupta62 @lonesahilnazir @MaggieCabrera @Mamaduka @manzoorwanijk @mcsf @mirka @mukeshpanchal27 @Mustafabharmal @ntsekouras @oandregal @ObliviousHarmony @R1shabh-Gupta @ramonjd @retrofox @SainathPoojary @scruffian @shail-mehta @simison @sirreal @smeetbuilds @Soean @som3669 @stokesman @swissspidy @t-hamano @talldan @tellthemachines @timse201 @tyxla @Vrishabhsk @yashjawale @youknowriad

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