$ filed under: wordpress

open source · editorial infra

Gutenberg 24.2: Margin Notes, One-Search Navigation, and React 19 Stops Asking Permission

October 16, 2026 — Gutenberg 24.2 shipped October 14 with three threads that each settle a long-running argument: notes now sit in a margin beside the content instead of fighting the Settings sidebar for space, the…

Editorial illustration for: Gutenberg 24.2: Margin Notes, One-Search Navigation, and React 19 Stops Asking Permission

October 16, 2026 — Gutenberg 24.2 shipped October 14 with three threads that each settle a long-running argument: notes now sit in a margin beside the content instead of fighting the Settings sidebar for space, the Navigation block searches every content type from one box, and React 19 is now on by default instead of an opt-in experiment. Around them, the design-tool consistency push keeps going with about 80 more pull requests. Where 24.1 cleaned up controls, 24.2 is about defaults — what the editor does before anyone configures it. For publishers that cuts both ways: review tools that no longer get in the way, and a runtime change that will reach every custom block whether the team is ready or not.

Key Themes

  1. Notes moved into a reserved canvas margin, so review threads stay visible while editors change block and post settings, a fix for the main daily-use complaint about in-editor review.
  2. React 19 now loads by default in the plugin, with a compatibility denylist that keeps known-broken plugins on React 18, which turns the migration the series has tracked since 23.3 into an audit that can’t wait.
  3. Navigation link search now covers posts, pages, categories, and tags in one query, ranked by type, a direct time saver for section-front menus on sites with tens of thousands of terms.
  4. Design tools reached even more blocks: minimum width and height went from five blocks to 40, shadows reached ten more, and duotone reached Gallery, Media & Text, and Video. That gives theme.json even more governance work to do.
  5. Edited images now record their original attachment, and a server-side Fields API registry arrived with its own REST route. Both are quiet plumbing for provenance and structured editorial data.

Jump to: 📝 Notes Move Into the Margin · ⚛️ React 19 Becomes the Default · 🧭 One Search for Every Menu Link · 🎨 Design Tools, Round Two · 🗂️ Provenance, Authors, and a Fields Registry · 🔧 Smaller Updates · 💡 Takeaways


📝 Notes Move Into the Margin

Until this release, floating notes and the Settings sidebar couldn’t be open at the same time, and the notes column took space from the content. In 24.2 the editor reserves a margin next to the canvas for notes, so threads stay visible while an editor adjusts a block or changes post settings (#83786). On narrower canvases threads collapse to the author’s avatar, and a new Options → Notes submenu expands, minimizes, or hides them, and the editor remembers the choice (#83768). Deleting a note now offers Undo (#83988), an unsent note or reply survives selecting another block (#84110), notes scroll with the canvas (#83852), and child notes trashed with their parent can now be restored with it (#84100). There is one governance detail. On sites where trash is disabled with EMPTY_TRASH_DAYS set to 0, deleting a note used to fail with an error. Now it deletes permanently and drops the Undo option (#84102).

Why this matters: This is the next step in the collaboration arc. 23.6 built notes, 23.7 made them usable if you stayed in the tool, and 23.8 closed the mentions loop with email. What blocked daily use was layout, not features. An editor doing a real line edit is also checking the slug, the excerpt, the categories, and the featured image, and a review layer that disappears whenever the Settings panel opens gets abandoned for a Google Doc. Putting notes in a margin is how every serious editing tool handles comments, and it removes the main excuse for running review somewhere else. Preserving unsent drafts matters for the same reason — lose a half-written query once and a copy editor stops trusting the tool. The permanent-delete behavior is worth a minute with legal and standards teams. Notes are stored as comments, so a site’s trash and retention settings now directly decide whether editorial discussion can be recovered.


⚛️ React 19 Becomes the Default

Gutenberg 24.2 turns the React 19 experiment on by default (#83784). Sites running the plugin now load React 19 for the react and react-dom scripts unless a theme or plugin on a known-incompatible list is active, in which case they stay on React 18. That list started from breakage seen on WordPress.com and was extended for this release (#84607). The off switch is Gutenberg → Experiments. For code that has to run on both versions, a new @wordpress/react-inert-value package sets the inert attribute correctly under React 18 and 19 (#83987). The Interactivity API also gets two additions. A data-wp-html directive renders HTML from the store, but only values explicitly marked trusted with asDangerousHTML() (#83092). And 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).

Why this matters: In June, 23.3 called this the React 19 reckoning. 23.8 noted that @wordpress/element could finally be imported under React 19 and said the audit wasn’t optional. It’s no longer hypothetical either. A denylist that keeps known plugins on React 18 protects sites from public plugins someone has already reported. It does nothing for a publisher’s own custom blocks, sidebar plugins, and editorial tools, which no list will ever name. The plugin is where core’s next editor gets rehearsed, so the right move is to test those custom packages on a staging environment running 24.2 now, while a breakage is a bug report rather than a production incident. On the front end, data-wp-html forces an explicit trust decision before markup reaches the page — the right default for anything touching syndicated or user-supplied content.


Adding anything other than a page to a navigation menu used to mean choosing the right block first, such as Category Link or Tag Link, and then searching inside it. The Navigation block’s link search now covers every content type at once and labels each result with its type (#83408). Changing an existing link from a category to a page no longer means deleting it and starting over. The same search lists the blocks a menu accepts, so typing “Home” finds the Home Link block (#83652). Results are now ranked by type, posts and pages before categories, tags, and media, and merged results are no longer thrown away. That ranking applies to every link search in the editor, not just navigation (#83407).

Why this matters: Menus on a media site are editorial, not static — a breaking-news hub enters the nav for 48 hours, an election tag replaces a section link for a month. Requiring producers to know which block type a destination needs was a small tax on every one of those changes. The ranking change has the wider reach. On an archive with years of tags and hundreds of thousands of attachments, an inline link search often buried the article a writer wanted under term and media matches. Every writer linking a related story benefits from posts ranking first, which makes this a quiet internal-linking and SEO hygiene improvement as much as a menu fix.


🎨 Design Tools, Round Two

  • About 80 more consistency PRs followed 24.1’s 140. Minimum width and height controls went from five blocks to 40, including Buttons, Columns, Heading, Media & Text, and Post Title. Shadows reached ten more blocks, including Paragraph, List, and Gallery. Backgrounds and gradients reached Button, List, List Item, and Media & Text.
  • Duotone reached Gallery, Media & Text, and Video (#83979, #83981). A gallery-level duotone can be set per block or for every gallery through Global Styles, and an image-level duotone still takes priority (#83978).
  • The Gallery’s Order by control now sorts hand-picked images (newest, oldest, A → Z, Z → A) while still allowing manual reordering afterward, and Random shuffles on each page load (#83438). Global Styles can now style hover, focus, and active states for Navigation links, starting with typography (#83451).

Why this matters: 24.1 argued that once controls are nearly universal, the constraint layer is where design-system effort belongs. 24.2 strengthens that case. A site-wide gallery duotone set in Global Styles is exactly the kind of house treatment a photo desk wants, such as a branded tint on every opinion-section gallery, applied without touching each post. Minimum dimensions on 40 blocks also give authors 35 new ways to break a layout grid. The theme.json that limits those controls needs updating before editors find them.


🗂️ Provenance, Authors, and a Fields Registry

  • Images edited through the media endpoint now record the original attachment they came from, even across crop-of-a-crop chains, stored in a dedicated postmeta key and exposed as an edit_root field in the REST response (#81803). The Image editor also gains Restore original image in its More options menu (#81805).
  • The post author field is now always searchable and queries users on the server, so the right byline appears on sites with large user tables (#83323).
  • The Fields API gained its server side: a PHP registry, a wp_fields_api_init action, and a /wp/v2/fields REST route (#84078). Editor integration hasn’t landed yet.

Why this matters: Image lineage is a rights question before it’s a convenience. Wire and agency photos come with licensing terms, and a crop is still the licensed image. A stable pointer back to the original makes it possible to trace a derivative to its source credit and license without walking the media library by hand. Server-side author search fixes a newsroom-specific problem: contributor rosters in the thousands, where client-side filtering surfaced the wrong byline. The Fields API registry is early. It’s still scaffolding, not a shipping feature. But a server-registered, REST-exposed field definition is the foundation the DataViews arc needs to show structured editorial metadata without one-off code.


🔧 Smaller Updates

The Options menu was reorganized. The View group now has Appearance, Notes, and Panels submenus, and sidebars registered by plugins moved into Panels while their pinned toolbar buttons stayed put (#82976). Internal training docs that say “open the ⋮ menu and choose [plugin]” need a refresh.

Small interaction changes. The Columns count slider is gone in favor of a toolbar plus button (#83262), and the Button link popover no longer opens every time a linked button is selected (#30166).

A publishing bug was fixed. New posts could publish with the auto-draft slug after an author clicked into the Slug field (#83518). That was a quiet source of broken URLs on fast-turnaround stories.

Reduced motion is respected. Video and Cover no longer autoplay in the editor when reduced motion is preferred, and Cover background embeds no longer autoplay on the front end either (#83337, #83452).

The inserter got lighter. Opening it blocks the main thread for less time, and selecting another block while it’s open no longer re-renders every item (#83437, #83284).

The dashboard rebuild kept moving. Experimental admin design tokens now restyle classic wp-admin controls and consolidate container radiuses (#82425, #82427), and the default admin color scheme moves to Blueberry (#83749).

Real-time collaboration plumbing shifted. An EntitySyncManager interface landed in core-data (#83410) and the exposed wp.sync package was removed (#81999). Anything reaching into that global should be checked. The release credits 59 contributors, 7 of them first-timers.


💡 Takeaways

  1. Audit custom blocks against React 19 now. Stand up a staging environment on Gutenberg 24.2 and exercise every custom block, sidebar plugin, and editorial tool. The compatibility denylist covers public plugins, not your code.
  2. Pilot in-editor review again. If an earlier notes trial stalled because the Settings sidebar kept hiding threads, rerun it with the margin layout on a real copy-edit pass and measure whether review stays in WordPress.
  3. Decide how long editorial discussion should be kept. Notes follow the site’s trash settings, so confirm your EMPTY_TRASH_DAYS value matches what standards and legal teams expect for recoverable editorial notes.
  4. Update theme.json for the next wave of controls. Lock minimum dimensions, shadow presets, and duotone palettes before editors find them, and consider a house gallery duotone in Global Styles.
  5. Keep watching image lineage and the Fields API. Map how edit_root could connect cropped wire photos to their credit and license data, and track the Fields API as it reaches the editor.

The full changelog is available on Make WordPress Core.