“What’s new in Gutenberg 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.2?
Gutenberg 24.2 has been released and is available for download!
This release comes with a new place for notes: they now float in a margin next to the content, so collaborating no longer means closing the Settings sidebar 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.. Adding a category The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging., a tag 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.), or a post to a navigation menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. now takes a single search, and the Gallery block 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. can sort its images and tint all of them with one duotone.
The design tools consistency work started in 24.1 continues with about 80 more PRs, and the release also includes more than 60 bug 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 plus some accessibility 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 improvements. For developers, React React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org 19 is now enabled by default, and feedback on it is welcome and needed.
- Notes move into a canvas margin beside the content
- One search for every link in a navigation menu
- Sort any gallery and tint all of its images
- Design tools reach even more blocks
- React 19 is now on by default and some Interactivity API enhancements
- Other notable highlights
- Changelog
- First-time contributors
- Contributors
Notes move into a canvas margin beside the contentUntil now, floating notes and the Settings sidebar couldn’t be open at the same time, and the notes column took space away from the content. In Gutenberg 24.2, notes live in a margin the editor reserves next to the canvas, so they stay visible while you change blocks or post settings (#83786).
When the canvas gets narrower, each thread shrinks to its author’s avatar 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., and clicking the avatar expands the thread again. A new Notes submenu in the Options menu expands, minimizes, or hides the notes, and the editor remembers your choice (#83768).
Other changes make working with notes safer: deleting a note now shows an Undo action (#83988), a note or reply you haven’t sent is kept when you select another block (#84110), and the notes scroll together with the canvas (#83852).
Adding anything other than a page to a navigation menu used to mean knowing the right block first, like Category Link or Tag Link, and then searching inside it. Now the link search of the Navigation block looks through every type of content at once and shows the type beside each result, so pages, posts, categories, and tags are one search away (#83408). Switching an existing link to another type, for example from a category to a page, also no longer means deleting it and adding it again.
The same search lists the blocks a navigation menu accepts, so typing “Home” finds the Home Link block (#83652). Results are now ranked by type too, with posts and pages before categories, tags, and media, and nothing is discarded when several types are searched together. That ranking applies to every link search in the editor, so on large sites, tags and attachments no longer push the post you’re looking for out of the results (#83407).
Sort any gallery and tint all of its imagesThe Order by control of the Gallery block now works for galleries of hand-picked images too. Choosing Newest to oldest, Oldest to newest, A → Z, or Z → A sorts the images once, and you can still drag them into any other order afterwards. Random moved into the same control and shuffles the images on the front end each time the page loads (#83438).
Galleries also gain duotone support. One filter 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. now tints every image in a gallery, either from the block settings or, for every gallery on the site, from Global Styles. A duotone set on a single image keeps priority over the one set on the gallery (#83978).
Design tools reach even more blocks
The design tools consistency work continues with about 80 more PRs. Some highlights:
- Minimum width and height controls, previously available on five blocks, now reach 40, including Buttons, Columns, Heading, Media & Text, and Post Title.
- Shadows reach ten more blocks, including Paragraph, List, Buttons, Social Icons, and Gallery.
- Duotone reaches Gallery, Media & Text, and Video, so a video can now match the tint of the images around it (#83979, #83981).
- Background images and gradients reach Button, List, List Item, and Media & Text.
- Line indent reaches Heading, Post Author Biography, and Poetry, which also gains text columns and fit text.
Every block and support is listed in the changelog.
React 19 is now on by default and some Interactivity API 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. enhancementsGutenberg 24.2 turns the React 19 experiment on by default (#83784). Sites now load React 19 for the react and react-dom scripts, unless a theme or plugin 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. known to have compatibility issues is active, so folks using one of those keep React 18. That list started from the issues observed on WordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ and was extended for this release (#84607).
If you maintain a plugin or theme that uses React, please test it with Gutenberg 24.2 and report any issue you find. If something breaks on a site, turn React 19 off under Gutenberg > Experiments. To set the inert attribute in a way that works with both React 18 and React 19, use the new @wordpress/react-inert-value package (#83987).
The Interactivity API also gets two additions. The new data-wp-html directive renders HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from the store, the same way data-wp-text renders text, and it only accepts values marked as trusted with asDangerousHTML() (#83092):
import { asDangerousHTML, store } from '@wordpress/interactivity';
store( 'myPlugin', {
state: {
get description() {
return asDangerousHTML(
'<p>A <strong>formatted</strong> description.</p>'
);
},
},
} );
<div data-wp-interactive="myPlugin">
<article data-wp-html="state.description">
<p>Loading description.</p>
</article>
</div>
The router now exposes state.navigating and state.initiator, so a block knows when a client-side navigation is in progress and which block started it (#83280).
Other notable highlights
- Restore original image: after cropping an image, the Image editor offers Restore original image in its More options menu, so going back to the uncropped image no longer needs a trip to the Media Library (#81805).
- Button links: the link popover of the Button block opens only when you click Link or press the keyboard shortcut, instead of every time you select a linked button (#30166).
- Columns: the column count slider is gone. Add a column with the plus button next to the Columns button in the block toolbar, and remove one like any other block (#83262).
- Options menu: the View group now has Appearance, Notes, and Panels submenus. Sidebars added by plugins moved into Panels, and their pinned toolbar buttons stay where they were (#82976).
- Post author: the author field is always searchable, and it searches users on the server, so the right person shows up on sites with many users (#83323).
- Navigation Link states: Global Styles can style the hover, focus, focus-visible, and active states of navigation links, starting with typography (#83451).
- Icon search: the icon library also matches keywords, so “hamburger” finds the Menu icon and “gear” finds Settings (#82367).
- Reduced motion: the Video and Cover blocks don’t autoplay in the editor when reduced motion is preferred, and Cover background embeds don’t autoplay on the front end either (#83337, #83452).
- Inserter performance: opening the inserter blocks the main thread for less time, and selecting another block while it’s open no longer re-renders every item in it (#83437, #83284).
- New post slugs: a new post could be published with the
auto-draft slug after clicking into the Slug field. That no longer happens (#83518).
ChangelogFeaturesComponents
- UI User interface: Add Meter. (83855)
- UI: Add Progress with custom color support. (83781)
- UI: Add SearchableSelectControl. (80979)
Interactivity API
- Add a data-wp-html directive. (83092)
- Interactivity API Router: Add reactive navigation lifecycle and initiator API. (83280)
Enhancements
- Dashboard Widgets: Let a mounted widget 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. declare actions at runtime. (83877)
- React 19: Add new incompatible plugins. (84607)
Block Library
- Accordion Heading: Add line height support. (83958)
- Archives: Add minimum height support. (83573)
- Avatar: Add shadow support. (83929)
- Avatar: Explain that avatars use the Gravatar Is an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com, and used within the WordPress software.
https://gravatar.com service. (83567)
- Button: Add background image, size, and gradient support. (83950)
- Button: Only open the link popover on explicit user action. (30166)
- Buttons: Add minimum width and height support. (83894)
- Buttons: Add shadow support. (83916)
- Code: Add minimum width and height support. (83574)
- Columns: Add minimum width and height support. (83895)
- Columns: Remove the column count slider. (83262)
- Comments Pagination: Add border support. (83746)
- Comments Pagination: Add padding, margin, and block gap support. (83744)
- Details: Add minimum width support. (83576)
- Embed: Add minimum width and height support. (83903)
- Embed: Add padding support. (83963)
- File: Add minimum width and height support. (83896)
- File: Add shadow support. (83918)
- Footnotes: Add minimum width and height support. (83579)
- Gallery Lightbox: Prevent image click from closing the dialog when navigation is enabled. (78898)
- Gallery: Add duotone support. (83978)
- Gallery: Add minimum width and height support. (83897)
- Gallery: Add Order By controls for static gallery, consolidate controls in settings sidebar. (83438)
- Gallery: Add shadow support. (83919)
- Heading: Add minimum width and height support. (83580)
- Heading: Add text indent support. (83615)
- Home Link: Add minimum width and height support. (83582)
- Home Link: Add padding and margin support. (83607)
- Icon: Add block bindings support to the
icon attribute. (80730)
- Latest Comments: Add border support. (84148)
- Latest Comments: Add minimum width and height support. (83904)
- Latest Posts: Add minimum width and height support. (83905)
- List Item: Add background image, size, and gradient support. (83936)
- List Item: Add shadow support. (83925)
- List Item: Enable editableRoot for multi-selection on mobile. (82816)
- List: Add background image, size, and gradient support. (83935)
- List: Add shadow support. (83923)
- Login/out: Add minimum width and height support. (83583)
- Math: Add minimum width and height support. (83585)
- Media & Text: Add background image, size, and gradient support. (83927)
- Media & Text: Add duotone support. (83981)
- Media & Text: Add minimum width and height support. (83906)
- Media & Text: Add shadow support. (83976)
- Media & Text: Lower the specificity of the content padding. (83563)
- Navigation: List allowed blocks in the link UI search results. (83652)
- Navigation: Search every entity type from the link UI. (83408)
- No Results: Add minimum width and height support. (83584)
- Page List: Add minimum width and height support. (83908)
- Pagination: Add border support. (83745)
- Pagination: Add padding, margin, and block gap support. (83743)
- Paragraph: Add shadow support. (83926)
- Poetry: Add fit text support. (83980)
- Post Author Biography: Add text indent support. (83614)
- Post Comments Form: Add font family support. (83967)
- Post Comments Form: Add minimum width and height support. (83910)
- Post Content: Add minimum width support. (83575)
- Post Excerpt 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 minimum width and height support. (83578)
- Post Featured 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.: Add border style support. (83956)
- Post Terms: Add minimum width and height support. (83586)
- Post Time to Read: Add minimum width and height support. (83598)
- Post Title: Add minimum width and height support. (83600)
- Preformatted: Add minimum width and height support. (83587)
- Pullquote: Add minimum width support. (83588)
- Query Total: Add minimum width and height support. (83590)
- Quote: Add button colour support. (83983)
- Quote: Add minimum width support. (83592)
- Read More: Add border style support. (83735)
- Read More: Add minimum width and height support. (83912)
- RSS: Add minimum width and height support. (83913)
- Search: Add padding support. (83984)
- Site Tagline: Add minimum width and height support. (83589)
- Site Title: Add minimum width and height support. (83593)
- Social Icons: Add shadow support. (83920)
- Tab List: Add shadow support. (83922)
- Tab Panels: Add minimum height support. (83594)
- Tabs: Add minimum width support. (83595)
- Term Count: Add margin support. (83608)
- Term Count: Add minimum width and height support. (83596)
- Term Description: Add minimum width and height support. (83597)
- Term Name: Add margin support. (83606)
- Term Name: Add minimum width and height support. (83599)
- Term Template: Add minimum width and height support. (83914)
- Verse: Add minimum width support. (83609)
- Verse: Add text columns and indent support. (83962)
- Video: Add duotone support. (83979)
Components
- Card: Migrate from Emotion to SCSS modules. (82577)
- CheckboxControl: Keep the legacy control visually consistent across viewports. (83612)
- ColorPalette: Show design system focus ring on custom color button. (83841)
- ContentEditableControl: Keep a disabled field focusable. (84083)
- CustomGradientPicker: Extend control point targets to the bar height. (84124)
- CustomGradientPicker: Migrate control wrappers to an SCSS module. (82576)
- Deprecate Badge. (82379)
- FontSizePicker: Migrate Emotion styles to SCSS Modules. (84126)
- FormToggle: Match Switch colors across states. (83773)
- Icons: Experiment with proportional stroke scaling. (84081)
- InputControl: Darken the field border on hover. (83306)
- ItemGroup: Use design system focus ring. (83764)
- Menu: Align group labels and separators with indented item labels. (83993)
- Menu: Align submenu labels and highlight open parents. (84031)
- Menu: Guard against nesting Group and RadioGroup. (83792)
- Menu: Tighten spacing, use 16px prefix icons, and cap width at 320px. (84028)
- Progress: Migrate remaining ProgressBar usages and recommend UI Progress. (84021)
- ProgressBar: Use WPDS color tokens. (83779)
- RadioControl: Align colors with UI Radio. (83270)
- Text: Migrate Emotion styles to an SCSS Module. (82573)
- Theme: Generate complete border token modes for Figma testing. (84035)
- UI: Add item labels and descriptions to remaining popups. (83493)
- UI: Add separators to item popup components. (83776)
- UI: Align component names with their semantics. (83789)
- UI: Keep InputLayout chrome at md on small viewports. (82764)
- UI: Recommend the Checkbox, Radio, and Switch component families and the Notice component. (82685, 83771, 83872, 84097)
- UI: Remove automatic Notice announcements. (82737)
- UI: Update Spinner appearance and add a color prop. (83775)
- VisuallyHidden: Move hiding styles outside CSS Cascading Style Sheets. cascade layers. (84114)
Block Editor
- Block Supports: Add background-clip block support infrastructure. (77141)
- Block Supports: Ensure position type is a string. (83500)
- Block Switcher: Show design system focus ring on pattern previews. (83933)
- Fit text: Size each block instance in a loop 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 independently. (83985)
- Fix translator comments for block count announcements. (83555)
- Honour background skip serialization in the editor. (83943)
- Inserter: Use design system focus ring for previews. (83126)
- Migrate state-control badges to UI Badge. (82608)
- States: Scope per-instance rules to the block’s root element. (83986)
Icons
- Add keywords to icon manifest. (83884)
- Make the “B” icon bolder. (83321)
- Polish the typography and “block-default” icons. (84073)
- Support keyword-based search in the icons registry. (82367)
- Update and add justify icons. (83519)
- Update heading level icons for optical balance. (83268)
Post Editor
- Base Styles: Default the admin (and super admin) theme color to Blueberry. (83749)
- Document Outline: Show the design system focus ring instead of legacy box-shadow. (83755)
- Editor: Gather the View group of the Options menu into submenus. (82976)
- Editor: Remove icon for ‘Export’ more menu item. (83901)
- Editor: Use SearchableSelect for the post author field. (83323)
- Editor: Use UI Menu for template options. (82964)
Media
- Media Editor: Add a session boundary above the cropper. (83550)
- Media Editor: Restore original image in modal. (81805)
- Media Editor: Show an error when saving attachment details fails. (83560)
- Media Editor: Use UI Menu for crop aspect ratio. (82968)
- Track the original attachment ID for edited images. (81803)
Site Editor
- Canvas loader: Use Progress from wordpress/ui. (83860)
- Font Library: Use UI Menu for collection actions. (82965)
- Global Styles: Add pseudo-state controls for Navigation Link. (83451)
- Global Styles: Update the Styles > Blocks description. (83515)
- Style book: Add link to example text. (83448)
DataViews
- Fields API: Add the server-side registry and REST route. (84078)
- List hideable fields alphabetically in the view configuration. (83947)
- MediaEdit: Use design system focus ring. (83854)
- Truncate filter chips instead of wrapping them. (83879)
Collaboration
- Notes: Add show and hide options for floating notes. (83768)
- Notes: Add Undo to deleted note snackbar. (83988)
- Notes: Move floating notes into a canvas margin. (83786)
Bug Fixes
- Connectors: Keep a stored API key read-only when it can’t be verified. (83889)
- Date: Drop a trailing backslash instead of formatting it as “undefined”. (81528)
- Experiments: Don’t invalidate saved option with a legacy key. (84619)
- useServerSideRender: Parse messages from caught errors. (83365)
Components
- BorderControl: Remove
% from the border width units. (83492)
- Checkbox: Prevent rounded themes from making checkboxes circular. (83526)
- CollapsibleCard: Scope the header 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. focus ring to its own trigger. (81314)
- Fix polymorphism typings leaking
as prop. (82704)
- FocalPointPicker: End a drag released over the editor canvas. (83348)
- Menu: Disable triggers instead of roots in consumers. (83791)
- PaletteEdit: Stop changing the slug when renaming a preset. (83750)
- Popover: Close non-modal popovers on iframe 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. interaction. (83509)
- Popover: Drop the will-change hint once the popover stops moving. (77359)
- RadioControl: Keep a 16px visual with a larger hit target. (83840)
- SandBox: Fix embed previews that require a referrer in Safari. (84014)
- TextControl: Use design system colors when disabled. (83307)
- Theme: Fix virtual modules, root styles, and seed validation. (83355)
- Theme: Improve accessibility, API documentation, and compatibility checks. (83358)
- Theme: Make JavaScript 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 token fallback transforms syntax-aware. (83356)
- Theme: Preserve global token references in Lightning CSS. (83359)
- UI: Align selection popup checkmarks with the first label line. (82942)
- UI: Preserve Autocomplete item type inference. (84095)
- UI: Preserve Combobox source item generics. (84094)
Block Editor
- Columns: Allow dropping a column at the outer edges. (83274)
- Fix ‘Manage allowed blocks’ not shown when it’s the only ‘Advanced’ control. (84067)
- Fix style / nested attribute overwrite during multi-selection. (80070)
- Paste: Give each pasted data-URI image unique filename to avoid upload collisions. (79480)
- Paste: Replace non-breaking spaces at the edges of text with regular spaces. (83464)
- Rich text: Fix iOS The operating system used on iPhones and iPads. double tap selection, preventing focus capture under editable host. (81042)
- Show whitespace changes in the Resolve Block diff. (82397)
- Style states: Fix exception when there’s no selected block. (84140)
- Typography: List only the weights inside a variable font’s range. (83128)
Block Library
- Group, Cover: Track drop zone element in state. (83756)
- Image: Fix invalid 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. CSS url() value in circle-mask style. (82333)
- Image: Fix lightbox using thumbnail aspect ratio instead of original image ratio. (79058)
- Image: Fix the lightbox overlay becoming unusable (can’t close) when it isn’t a direct child of
<body>. (83480)
- Image: Improve specificity of the lightbox button selector. (70800)
- Math: Store cell alignment in the MathML and polyfill alignment and overlines in Chromium. (83164)
- Post Featured Image: Fix crash when isLink is enabled. (81584)
- Tag Cloud: Update styles and add
!important. (70224)
- Template Part: Fall back to rendering a template part from the theme file if the db version is unavailable. (83809)
Collaboration
- Notes: Delete permanently when the trash 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. is disabled. (84102)
- Notes: Draw the canvas divider from body so it uses the theme text color. (84158)
- Notes: Keep anchor writes out of undo history. (84079)
- Notes: Preserve unsent note and reply drafts. (84110)
- Notes: Reset paragraph top margin in floating notes. (84101)
- Notes: Restore child notes trashed along with their parent note. (84100)
- Notes: Restrict menu actions for resolution notes and resolved threads. (73243)
- Notes: Scroll floating notes with the canvas. (83852)
Media
- Media Editor: Fix pan drag flooding undo history after wheel zoom. (83558)
- Media Editor: Stop the crop pixel snap from recording undo history. (83571)
- MediaEdit: Show a checkerboard background behind image previews. (83846)
- MediaUpload: Fix console error when reopening Gallery media library. (76749)
- MediaUpload: Fix the
gallery prop ignoring allowedTypes. (78257)
Data Layer
- Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Rank link suggestions by type, and stop discarding merged results. (83407)
- RTC: Fix undo breaking for non-synced entities. (83888)
DataViews
- Fields: Fix AuthorView for users who can’t edit users. (83498)
- Measure the container as the data view mounts to avoid a single column flash. (83752)
Post Editor
- Editor: Fix new posts being published with the
auto-draft slug. (83518)
- REST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”)
https://developer.wordpress.org/rest-api/: Add action-trash link to posts and comments. (84045)
Site Editor
- Extensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Pass custom block categories to the blocks store. (83762)
- Global Styles: Fix popover position in Styles screen. (84048)
Accessibility
- Editor: Merge adjacent revision inline diffs. (80579)
- UI: Announce selected chips in SearchableChipSelect. (82863)
Block Library
- Cover: Don’t autoplay embedded background videos when reduced motion is preferred. (83452)
- Video, Cover: Don’t autoplay in the editor when reduced motion is preferred. (83337)
PerformanceBlock Editor
- Check the inserter’s fallback containers unmemoized. (83446)
- Inserter: Manage roving tab index to skip re-rendering every item. (83437)
- Inserter: Stop re-rendering the block list on block selection change. (83284)
Experiments
- Admin design tokens: Consolidate wp-admin container radiuses onto the design system scale. (82427)
- Admin design tokens: Restyle classic wp-admin controls from design system tokens. (82425)
- Experiments: Turn the React 19 experiment on by default, except when an incompatible theme or plugin is detected. (83784)
- RTC: Add an EntitySyncManager interface in core-data. (83410)
Documentation
- Block Parser: Correctly document the
blockName property as nullable. (70900)
- Block Parser: Document
\WP_Block_Parser::$stack as a list. (82695)
- Combobox: Label popup dialogs in stories. (83476)
- DataViews: Fix README to describe sort() as receiving field values, not items. (83483)
- Design System: Clarify tooltip labeling and UI review guidance. (83898)
- Docs: Clarify wordpress/ui icon color requirements. (83564)
- Docs: Describe isolated dependencies for agents. (84141)
- Docs: Fix published Vitest migration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.-guide links. (83449)
- Docs: Note that block attributes and global styles values are untrusted at render time. (83473)
- Docs: Recommend UI Tabs for switching views. (83516)
- Docs: Refine design system agent guidance. (84007)
- Docs: Remove CheckboxControl heading from InspectorControls example. (83844)
- Docs: Update deprecation testing guidance for shared reset. (83989)
- Env: Change the core branch 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". from trunk 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. to master in the documentation. (83566)
- Fix broken links in documentation. (83545)
- Navigation Link: Update readme title to match block name. (83999)
- Storybook: Add new contributing page. (83345)
- Storybook: Place Notice announcements under Components. (83617)
- Storybook: Show prop descriptions in Canvas controls. (83581)
- UI: Add change actions to form primitive stories. (83591)
Code Quality
- Packages: Declare missing peer dependencies and check them in CI. (83765)
- wp-build: Remove unused optional peer dependencies. (83601)
React 19
- Add inertValue helper and use it for setting inert attribute. (83871)
- Add new react-inert-value package with inertValue helper. (83987)
- Breadcrumb: Fix getMeasurementRender for React 19. (84069)
- DataViews: Use inertValue in CompositeGrid. (84072)
- react-inert-value: Add missing
@types/react peer dependency. (84024)
- Remove use-memo-one usage (missing React 19 compat). (83952)
- Upgrade code and types to React 19. (83941)
Block Editor
- Bump
@react-spring/web from 9.4.5 to 10.1.2. (83796)
- Format Library: Unify FormatEditProps to one type, move private types. (83487)
- Position controls: Fix useSelect warning for selected state viewports. (83570)
- RichText: Refactor useMarkPersistent, fix StrictMode mount mark. (83463)
- RichText: Remove dead exports and consolidate deprecations. (83461)
- RichText: Rename utils.jsx to utils.js. (83758)
Collaboration
- Notes: Extract note selection sync into useNoteSelection hook. (83528)
- Notes: Extract NoteReply and lift AddNote gating. (84106)
- Notes: Refactor floating board measurement. (83485)
- Sync: Remove exposed wp.sync package. (81999)
Media
- Media Editor: Remove initial state seeding from the session. (83893)
- Media Utils: Add
MediaEdit as a private API. (84046)
- Return 0 from the edit root lookup when there is no edit root. (84096)
Block Library
- Breadcrumbs: Fix typo in aria label translation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. context. (84112)
- Playlist: Replace the waveform player patch 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. with its no-autoinit entry. (83132)
Components
- Deprecate the private Menu API. (82947)
- Packages: Update Ariakit to 0.4.40. (83278)
CSS & Styling
- Style: Update color to use CSS variable in edit-site. (79002)
- Table: Replace deprecated
word-break with overflow-wrap: anywhere. (82480)
Interactivity API
- Add typing to iAPI’s getConfig(). (71692)
- Remove expired deprecated behaviors. (84098)
Themes
- Global Styles: Ignore theme.json 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. values of unexpected types. (84523)
Tools
- PR meta 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.: Move the props list into the shared comment. (82302)
- Props Bot: Skip bare reviews that duplicate their review comment runs. (84076)
Testing
- Block editor: Isolate mutable test fixtures. (83098)
- Block editor: Wait for final keyboard link suggestions. (83489)
- Block library: Isolate order-sensitive test interactions. (83101)
- Blocks: Isolate registration state in tests. (83099)
- Components: Isolate order-sensitive UI tests. (83103)
- Core data: Finish deferred selection updates in RTC test. (83366)
- Data: Assert and silence resolution error in useSuspenseSelect test. (83491)
- E2E: Mock Openverse in image drag-and-drop inserter test. (83842)
- E2E: Pin the site title in the router specs; raise the end-to-end Storybook build heap. (83474)
- ESLint: Allow non-module stylesheet imports in unit tests. (84019)
- Icons: Use assertEqualHTML() in icons registry tests. (83544)
- Include end-to-end Storybook sources in docgen. (83634)
- Notes: Fix flaky thread scroll end-to-end test. (84118)
- React 19 codemod: Apply defaultProps when rendering a memo component. (84568)
- Tests: Add browser coverage for Menu scroll lock and LinkControl protocols. (83991)
- Tests: Add floating notes end-to-end coverage. (83477)
- Tests: Add Vitest Browser Mode failure artifacts. (83093)
- Tests: Cover translation setup in override script tests. (83886)
- Tests: Enforce per-call Vitest console expectations. (83095)
- Tests: Enforce Vitest assertion coverage. (83572)
- Tests: Enforce Vitest callback, promise, and title rules. (83620)
- Tests: Fix order-dependent wp-env schema test. (84139)
- Tests: Fix PostCSS browser-externalized warnings in Vitest. (83091)
- Tests: Isolate deprecation warning state. (83107)
- Tests: Isolate mutable configuration fixtures. (83104)
- Tests: Lint JavaScript Vitest mock imports. (83783)
- Tests: Migrate internal linting to Vitest and remove unused Jest dependencies. (83502)
- Tests: Reset deprecation history in shared Vitest setup. (83849)
- Tests: Resolve Browser Mode commands against the live iframe. (83495)
- Tests: Run Vitest type graph validation in process. (83851)
- Tests: Shuffle test cases in CI. (83111)
- Tests: Use strict assertions in layout, template registry, and theme.json tests. (83619)
- Tests: Use strict assertions in override script tests. (83782)
- Tests: Verify localized data retention in override script test. (83845)
- Theme: Add integration test coverage for seed colors in artifacts. (81161)
- Tooltip: Stabilize the hover delay cancellation test. (84113)
- UI: Add end-to-end Storybook popup item layout fixtures. (83488)
- Unit tests: Detect the database client in the debug step. (84089)
- Use a mock plugin slug within tests that no WordPress build ships. (84133)
Dependencies
- Add prettier, eslint and stylelint to the root package.json. (84017)
- Build: Remove patch-package. (83982)
- Build: Update Vite to 8.3.1 and simplify Storybook tooling. (83569)
- Build: Update Vite to 8.3.2 and remove the PostCSS browser resolver. (83992)
- CI: Cover the AI development lockfile with Dependabot instead of npm audit. (83997)
- Fix peer dependency conflicts left in the lockfile. (83754)
- Framework: Declare React types in the workspaces that use them. (84013)
- Framework: Move @typescript/native from the root to the workspaces that use it. (84027)
- Framework: Switch from hoisted to isolated dependencies. (83847)
- npm: Switch from legacy-peer-deps to strict-peer-deps. (81029)
- Repair invalid peer dependencies in the lockfile. (84062)
- Tests: Bump ibm-cloud-sdk-core in the AI development test lockfile. (83887)
- Tests: Bump undici in the AI development test lockfile. (83799)
- Tests: Patch basic-ftp in AI development dependencies. (84000)
- Tests: Update AI development package versions after npm audit. (83830)
- Tests: Update Vitest to 5.0.3 and Storybook to 10.6.1. (83996)
- Upgrade typescript-eslint to v8.70.1. (83760)
Build Tooling
- Build Tools: Fix flaky ESM package types test timeout. (84068)
- Changelog validator: Ignore Markdown, Storybook, and configuration files. (83618)
- CI: Check CHANGELOG presence for published tooling and configuration packages. (83577)
- Coding standards: Skip anonymous class methods in block library function name sniff A module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food.. (83900)
- Developer tools: Simplify editor setup and add Zed settings. (84143)
- Fix check type declarations errors when running
npm run dev. (84070)
- Ignore composer vendor files from top-level gitignore. (22283)
- Link upstream fixes for Storybook and Vitest warnings. (83632)
- Read npm v12 pack –json output. (84011)
- Release Tooling: Read the npm v12 JSON output shapes. (84075)
- Release: Rewrite SVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. publication scripts in Node.js. (84034)
- Use Node.js v24.20 in
.nvmrc. (84061, 84138)
- VS Code: Add managed workspace configuration. (84025)
- Widget Primitives: Avoid Vite warnings for runtime widget modules. (83602)
Storybook
- Avoid duplicate block-editor store registration in Storybook. (83636)
- Fix missing block styles in BlockCanvas playground stories. (81070)
- Give CI job a distinct name. (83869)
- Read icon keywords from the manifest. (84127)
- Register playground core blocks once in Storybook. (83637)
- Reuse PostCSS browser resolver in Storybook smoke tests. (83635)
- Update BlockPopover Storybook fixture to API version 3. (83642)
- Update manifest snapshot for Spinner color prop. (83856)
WP Scripts
- Scripts: Refactor Stylelint configuration detection in lint-style.js. (79280)
- Scripts: Resolve default configs without hoisted dependencies. (83902)
- Scripts: Treat files passed after –fix as file arguments. (83521)
Env
- Add an option to choose the MariaDB version. (83751)
- Pass
-T to docker compose commands when stdin is not a TTY. (78374)
ESLint plugin
- ESLint: Add allowUseWithCaution option to use-recommended-components. (83536)
- ESLint: Allow generated test titles. (83995)
Security
- Env, E2E: Update dependencies that ran native install scripts. (84012)
- Opt in to the npm v12 supply-chain defaults. (82689)
First-time contributorsThe following PRs were merged by first-time contributors:
- @adamwoodnz: Base Styles: Default the admin theme color to Blueberry. (83749)
- @haritpanchal: Tests: Use strict assertions in layout, template registry, and theme.json tests. (83619)
- @Intenzi: Block Editor: Fix style / nested attribute overwrite during multi-selection. (80070)
- @jshawl: Env: Pass
-T to docker compose commands when stdin is not a TTY. (78374)
- @karthick-320: Icons: Add keywords to icon manifest. (83884)
- @Kgupta62: Popover: Drop the will-change hint once the popover stops moving. (77359)
- @tbradsha: Bump
@react-spring/web from 9.4.5 to 10.1.2. (83796)
ContributorsThe following contributors merged PRs in this release:
@aaronrobertshaw @adamsilverstein @adamwood @aduth @alecgeatches @Aljullu @amitraj2203 @andrewserong @ciampo @desrosj @ellatrix @haritpanchal @hbhalodia @Hug0-Drelon @i-am-chitti @im3dabasia @Infinite-Null @Intenzi @jameskoster @jasmussen @jeryj @Jiwoon-Kim @johnbillion @jorgefilipecosta @jshawl @jsnajdr @karthick-320 @karthick-murugan @Kgupta62 @lancewillett @luisherranz @Mamaduka @manzoorwanijk @mcsf @mecskyverse @mikachan @mirka @mukeshpanchal27 @Mustafabharmal @n8finch @noruzzamans @ntsekouras @oandregal @peterwilsoncc @R1shabh-Gupta @ramonjd @retrofox @SainathPoojary @shail-mehta @simison @stokesman @t-hamano @talldan @tbradsha @tellthemachines @theaminulai @USERSATOSHI @whyisjake @yashjawale
#block-editor, #core-editor, #gutenberg, #gutenberg-new