What’s new in Gutenberg 23.3? (03 Jun)

“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 23.3?

Gutenberg 23.3 has been released and is available for download!

This release ships the new modal-based media editor as the default cropping experience, advances the experimental customizable WordPress dashboard with five new widgets and significant layout polish, and upgrades the editor to ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org 19. Responsive styles now extend to individual 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. instances, and Notes blocks gain support for multiple discussion threads. Other changes include DataViews adopting @wordpress/theme design tokens, 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) refinements across 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. interface, continued Real-time Collaboration reliability fixes, and broader preload coverage for faster post editor loads.

Table of contents

Media editor modal becomes the default crop experience

The Media editor modal replaces the existing inline cropping tool in the Block Editor. The modal pattern keeps the familiar Crop button entry point, and brings freeform and aspect-ratio cropping, flip, fine-grained and snap rotation, and metadata editing into one dedicated workflow. (78653)

Experimental customizable WordPress dashboard

The experimental customizable WordPress dashboard — a widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.-based surface available for testing behind an experimental flag in the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party., allowing users to add, move, resize, and rearrange widgets. It introduces a complete set of widgets — Welcome, Quick Draft, Activity, Site Health, Site Preview, and more — that automatically adapt to different tile sizes. You can fully customize your dashboard by choosing which widgets to display, arranging the layout, adjusting the number of columns, and resizing each widget’s width and height. (77616)

This change is experimental; to give it a try, first go to WP-Adminadmin (and super admin) > Gutenberg > Experiments and enable “New Dashboard experience”.

Responsive styles for block instance

Responsive styles for block instances (78384) building on 23.2’s responsive Global Styles, the Block Style States 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. extends to the per-instance level (76491). Block instance responsive styles include layout styles (78543) and an Inspector that shows only the relevant settings when a style state is selected. (78280) (78658, 78763, 78670, 78709)

Other Notable Highlights

  • Real-time Collaboration improvements — Notes blocks support multiple threads (75147), better handling of oversized payloads (>16 MiB) and connection-loss states (77724), protocol-mismatch error handling (76991), fewer refresh storms when peers edit (78483), and a mobile fix for Edit/Join row actions in the post list (78597).
  • DataViews adopts @wordpress/theme design tokens (75204) — the first significant in-codebase adoption of the design tokens package. A new “Introduction” Storybook page has been added for the tokens themselves (78449).
  • Accessibility wins — Image block gains a “Mark as decorative” toggle (78064); Revisions diff markers get higher-contrast stripes and scale with user text-size preferences (78473, 78273, 78393); Breadcrumbs block hides separators from screen readers (78524).
  • Performance — Optimized block-supports CSSCSS Cascading Style Sheets. class rendering (78217), lazy-fetched user pattern categories (78568), shared window listeners across block instances (78310), shared MediaQueryList listener in useMediaQuery (78297), and broader preload coverage on edit-post load (78508, 78565).
  • Components migrations — Continued migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of __experimentalText, __experimentalHStack, and __experimentalVStack to their stable @wordpress/ui counterparts (78155); Tooltip migration progressed across block-editor, editor, and DataViews consumers (78411, 78466, 78470).
  • React 19 upgrade (61521) — Gutenberg is now built against React 19. Most code keeps working unchanged; plugin authors using removed legacy patterns (string refs, ReactDOM.render fallbacks, defaultProps on function components) should review React’s upgrade notes.

Changelog

Features

Post Editor

  • Notes: Support multiple note threads per block. (75147)

Enhancements

Components

  • DataViews: Adopt @wordpress/theme design tokens. (75204)
  • Draggable: Scope the clone’s fallback z-index to non-slot placements. (78354)
  • Navigation: Hard deprecate component. (78529)
  • Overlays: Extend positioner slot pattern to Popover, Select, Autocomplete. (78168)
  • Tabs, TabPanel: Align styles with wp-ui. (78418)
  • Tooltip migration: Dataviews consumers (3/5). (78470)
  • UIUI User interface Button: Optimize overflow styles. (78300)
  • UI Card: Full bleed as 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. hero image and content cover. (77856)
  • Visually align Notice from @wordpress/components with Notice from @wordpress/ui. (78231)
  • [components] Draggable: Migrate clone wrapper to wp compat overlay slot. (78183)
  • [ui] Add internal wp compat overlay slot helper. (77851)
  • [ui] Autocomplete: Default portal container to the wp compat overlay slot. (78375)
  • [ui] Select: Default portal container to the wp compat overlay slot. (78372)
  • [ui] Tooltip: Default portal container to the wp compat overlay slot. (78095)
  • design-system-mcp: Add server instructions for client usage guidance. (78186)
  • design-system-mcp: Update get_components to optionally support multiple names. (78185)

Block Editor

  • Add support for layout responsive styles. (78543)
  • Add support for pseudo states on single block instances. (76491)
  • Block Inserter: Animate inserter button icon to signal open state. (78306)
  • Hide block variation selector when style state is selected. (78658)
  • Hide wrap by default in flex layout panel. (78269)
  • Integrate slug-based color selection in color panel. (78048)
  • Migrate pattern list item titles to Text from @wordpress/ui. (77656)
  • Refactor: Add extractPresetSlug as a generalized function to extract slugs. (78328)
  • Tooltip migration: Block-editor + block-directory consumers (1/5). (78411)
  • Validate additional CSS on mount. (78682)

Block Library

  • Block Style States: Show only supported inspector controls when selecting a style state. (78280)
  • Columns: Remove redundant Skip option from layout picker. (78405)
  • Hide Cover overlay controls for viewport states. (78763)
  • Hide image dimension tools when a state is selected. (78670)
  • Home Link: Add missing controls. (76672)
  • Move Layout panel into Styles tab so it sits next to Dimensions. (77922)
  • Responsive block instance styles. (78384)

Post Editor

  • Collab 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.: Swap near-identical pink for red in 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. palette. (78299)
  • Media Editor: Make the modal the default crop experience. (78653)
  • RTC: Provide PROTOCOL_MISMATCH error handling. (76991)
  • Tooltip migration: Editor + edit-post + edit-site consumers (2/5). (78466)

Media

  • Image cropper: Round zoom control values and display as percentages. (78757)
  • Media Editor Modal: Update the rotation ruler to use a vertical line marker. (78704)
  • Media Editor: Remove resize handles toggle from crop panel. (78758)

Dashboard

  • Add custom widget dashboard resize handle styling. (78236)
  • Dashboard Widgets: Adapt Quick Draft to its tile size with a recent drafts list. (78572)
  • Widget dashboard: Skip tile hover elevation while resizing. (78234)

Font Library

  • Clarify active variant state in Library tab. (78501)

Guidelines

  • Refine access policy. (78296)

Connectors

  • Restyle AI plugin callout with pastel background and beak. (78243)

Client Side Media

  • Add dimension validation to sideload endpoint. (74903)

Data Layer

  • Upgrade to React 19. (61521)

Bug Fixes

Components

  • @wordpress/ui: Compat overlay slot — viewport-sized containing block. (78441)
  • DataViews: Fix wrapper height resolution in flex layouts. (76945)
  • DataViewsPicker Table: Fix first-click row selection. (78423)
  • Fix FormTokenField validation preventing default behavior. (77181)
  • IconButton: Fix focusableWhenDisabled default. (78526)
  • Popover: Don’t close when focus moves into the @wordpress/ui compat overlay slot. (78407)
  • UI Button: Fix disabled cursor style. (78479)
  • UI: Fix item popup typography. (78403)
  • UI: Update Autocomplete clear disabled state. (78520)
  • useCopyToClipboard: Always call onSuccess callback. (78387)
  • useDialog: Handle Escape via React onKeyDown so cascade works through portals. (78433)

Block Library

  • Block/Tabs: Fix editor dirty state on reload by removing unnecessary mount-time attribute init. (78339)
  • Breadcrumbs block: Hide separator from screen readers. (78524)
  • Fix ‘Invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. Date’ when clicking on Now in DateTimePicker on Date Block. (78284)
  • Fix Tabs block losing added tabs when the editor is reopened. (78250)
  • Fix: Discard unsaved HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block changes on cancel. (78580)
  • Image: Preserve width/height when converting Classic blocks to blocks. (78610)
  • Navigation Link: Preserve custom labels during link updates. (77186)
  • Navigation: Restore block_core_navigation_submenu_render_submenu_icon() as deprecated shim. (78484)
  • Prevent images from appearing squished when only one dimension is set. (70575)

Post Editor

  • Editor: Disable Visual Revisions when classic 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 are present. (78249)
  • Editor: Fix Visual Revisions meta keys overlap. (78156)
  • Editor: Use _n() for revisions count aria-label. (78382)
  • Fix image upload crashes. (76707)
  • Fix: Register user-defined taxonomies after user-defined post types. (78497)
  • Fix: Show collaborators when the top toolbar is active. (78049)
  • Global styles revisions: Ensure stylebook shows revision previews. (78490)
  • Script Loader: Defer single-page admin init until DOMContentLoaded (TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. #65103). (78136)
  • Upload Media: Render srcset on the front end for client-side-media uploads. (78359)

Block Editor

  • Block Inspector: Hide Styles tab in preview mode. (78230)
  • Block Toolbar: Prevent position shifts when using mover control. (77798)
  • Fix inconsistencies in feature selector processing part 2: Pseudo block instances. (78326)
  • Fix: Properly merge schema during mergeSchemas part in getBlockContentSchemaFromTransforms. (70615)
  • List View: Place caret at end of block when selecting. (76797)
  • Reset zoom level on component unmount. (69087)
  • Unset grid span defaults with viewport states enabled. (78709)

Data Layer

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Avoid duplicate ID-less entity permission requests. (78262)
  • Fix: Disable collab sync when incompatible meta boxes are present. (78145)
  • RTC: Fix cursor awareness / presence bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. in nested rich text elements. (77673)
  • RTC: Fix block refresh on every update when a peer edits within the code editor. (78483)
  • RTC: Sync the content even if it’s a function. (76796)
  • Real-time Collaboration: Use minimal save payload in persistCRDTDoc. (77050)

Media

  • Media Editor Modal: Only show the crop active state when using keyboard. (78266)
  • Media Editor: Anchor cursorless zoom (slider/keyboard) at crop center. (78385)
  • Media Editor: Enforce a minimum crop size in the image editor. (78268)
  • Media Editor: Scope keyboard shortcuts to the modal. (78322)
  • Media Fields: Fix filename truncation with Tooltip. (78453)

Collaboration

  • RTC: Fix Edit/Join row action invisible on mobile in post list. (78597)
  • RTC: Fix connection lost error modal when /wp-json/wp-sync/v1/updates exceeds 16 MiB limit. (77724)

Global Styles

  • Fix block preview for responsive style states. (78538)
  • Fix inconsistencies in feature selector processing part 1: Global styles. (78276)

Client Side Media

  • Upload Media: Stop propagating -scaled to sub-size filenames. (78038)
  • VIPS: Remove dead batchResizeImage and vipsBatchResizeImage exports. (77975)

Paste

  • Keep <img> inside <a> when pasting plain-text HTML. (78015)

Testing

  • Tests: Temporarily disable REST index output-format assertions pending Core fix. (78788)

Accessibility

Post Editor

  • Image Editor: Focus return after closing image crop modal. (78711)
  • Revisions: Increase diff marker stripe contrast to 75% primary color proportion. (78473)
  • Revisions: Scale diff markers width with user text-size preference. (78273)
  • Revisions: Use CSS outline as secondary non-color indicator for diff blocks. (78393)

Block Library

  • Image block: Add “Mark as decorative” toggle for accessibility. (78064)
  • Image: Fix missing aria-label on lightbox trigger button for single images. (78426)

Performance

  • Block supports: Optimize custom CSS class rendering and parsing. (78217)
  • Fix performance tests when running against old reference commit. (78288)

Post Editor

  • Edit Post: Hoist setupEditor to run before root.render. (78581)
  • Edit Post: Consume preload cache before React mount. (78508)
  • Editor / Block Editor: Lazy-fetch user pattern categories. (78568)
  • Post Taxonomies: Drop redundant per_page: -1 from taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. queries. (78569)

Components

  • Blocks: Share window listeners across instances (block props, rich text, …). (78310)
  • Compose: Share a single change listener per MediaQueryList in useMediaQuery. (78297)
  • Compose: Simplify subscribeDelegatedListener root detection. (78492)

Data Layer

  • Core Data: Share parsed blocks cache between resolver and editor hook. (78026)
  • Edit Post Preload: Cover remaining bound GET/OPTIONS requests on load. (78565)

Commands

  • Core Abilities: Defer fetch until workflow palette opens. (78316)

Experiments

Dashboard

  • Add Quick draft widget. (78408)
  • Add chrome UI tools to widgets. (78060)
  • Add command palette commands. (78429)
  • Add dashboard Activity widget. (78552)
  • Add dashboard News widget. (78554)
  • Add dashboard Site Health widget. (78555)
  • Add dashboard Site Preview widget. (78556)
  • Add elevation to widget actionable area. (78563)
  • Add missing package file to the Site Preview widget. (78583)
  • Add Welcome dashboard widget with adaptive layout and content. (78461)
  • Add tooltip explaining disabled menu item. (78344)
  • Contain widget body within its tile to prevent page overflow. (78627)
  • Dashboard Widgets: Add content-bleed presentation variant. (78491)
  • Fix widget rendering on the masonry grid. (78645)
  • Full-size widget inserter. (78390)
  • Grid: Animate sibling tiles when layout reflows during drag or resize. (78395)
  • Grid: Animate tile removals. (78542)
  • Grid: Don’t allow resizing tile beyond min row height or column width. (78402)
  • Grid: Hide resize handles and actions while a tile is resizing. (78391)
  • Grid: Make resize overlay line solid. (78340)
  • Grid: Resize widget and snap resize-placeholder. (78389)
  • Grid: Tiled grid overlay. (78373)
  • Increase widget spacing with --wp-grid-gap. (78439)
  • Layered grid columns and visual layout model picker. (78364)
  • Layout settings drawer with grid/masonry models. (78202)
  • Migrate Layout settings drawer to DataForm. (78336)
  • Mobile improvements. (78522)
  • Per-instance widget settings drawer. (78465)
  • Polish dashboard drag preview motion, elevation, and drop exit. (78348)
  • Prevent pointer events in widget selection. (78681)
  • Quick Draft widget: Layout, empty state, and style refinements. (78601)
  • Refine widget actionable area toolbar styling. (78578)
  • Restrict widget icons to just SVGs (no Dashicons). (78440)
  • Round widget drag radius. (78292)
  • Scale widget picker previews to fill their card. (78602)
  • Seed default layout with bundled widget instances. (78622)
  • Small changes to header. (78513)
  • Tune default grid settings and starter layout. (78633)
  • Use Page hasPadding prop for content spacing. (78469)
  • Use fully-specified fast-deep-equal import. (78660)
  • Welcome widget: Add a subtle shine to the version digits. (78626)
  • Welcome widget: Draw the version number in the banner. (78611)
  • Widget Types: Declarative presentation hint (full-bleed support). (78209)
  • Widget Types: Generic attribute schemas. (78247)
  • Widgets: Declare dependencies in a per-widget package.json. (78463)

Media

  • Extract media editor crop options hook. (78263)
  • Extract media editor save hook. (78225)
  • Media Editor Modal: Add custom datetime view for the sidebar to ensure minimal display of dates. (78265)
  • Media Editor Modal: Fix unexpected tab stop on date fields in the Details sidebar. (78454)
  • Media Editor Modal: Tighten labels for crop handles toggle. (78703)
  • Media Editor Modal: Try placing the save and cancel buttons in the footer. (78708)
  • Media Editor: Harden cropper math layer against non-finite inputs. (78321)
  • Media Editor: Make zoom floor coverage-aware instead of fixed at 1x. (78222)
  • Media editor: Show live crop dimensions during gesture. (78221)
  • Refactor media editor crop state into composite reducer. (78480)

Block Library

  • Classic Block: Use get_post() in wp_declare_classic_block_necessary. (78613)
  • Media: Add undo snackbar for media editor image edits. (78425)
  • Update Classic block deprecation notice. (78445)

Post Editor

  • Add default term for taxonomies. (78233)
  • Add experiment to show admin bar in Post and Site Editor. (77964)
  • Media Editor Experiments: Tidy up by removing old pathways to the media editor experiment. (78489)

Block Editor

  • Grid: Fix immutability lint warning for React hook. (78431)
  • Grid: Visualize columns without outline. (78281)

Documentation

  • Docs: Add Workspace Development guide. (78615)
  • Docs: Update iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. editor migration guide for WordPress 7.0/7.1. (78401)
  • Docs: Update media editor documentation. (78617)
  • Theme: Add Tokens “Introduction” Storybook page. (78449)
  • Theme: Move token structure descriptions into tokens document. (78438)
  • UI Icon: Mark as recommended. (78365)
  • Update plugin release documentation and edit for clarity. (78537)
  • [ui] Trim verbose comments and prose around the compat overlay slot. (78356)

Code Quality

  • Migrate create-test-block.sh to @wordpress/validation-tools workspace. (78665)

Components

  • Add Badge text overflow end-to-end story. (78589)
  • DataViews: Inline z-index values. (78315)
  • Menu: Reduce flaky Space key test scope. (78246)
  • Modal: Inline header z-index. (78362)
  • Move @emotion deps out of root package.json. (78687)
  • RangeControl: Remove erroneous icon prop from web types. (78444)
  • Remove deprecated __experimentalApplyValueToSides export. (78528)
  • Routes: Enforce logical CSS properties in stylesheets. (78291)
  • Storybook: Add text overflow end-to-end stories. (78256)
  • Theme: Remove and prevent dependency grouping comments. (78573)
  • Theme: Update color space registration to avoid side effects. (77653)
  • UI Autocomplete: Fix prop types. (78450)
  • UI Tabs: Recommend component for use. (78442)
  • UI: Add Button variant states end-to-end story. (78634)

Post Editor

  • Deduplicate useGlobalStyles hook code. (78577)
  • Editor: Inline text editor toolbar z-index. (78309)
  • REST: Guard setAccessible() behind PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher < 8.1 in block-editor settings controller. (78478)
  • Use WCIcon alias for component Icon imports. (78366)
  • Use WCTooltip alias for component Tooltip imports. (78396)

Block Editor

  • Fix additional issues with block registration types. (78416)
  • Migrate __experimentalText, __experimentalHStack, and __experimentalVStack to Text and Stack. (78155)
  • Refactor: useMemo on elements and useCallback is back on resetAllFilter. (78329)
  • Simplify component ESLint rules and extend to routes/widgets. (78519)
  • Update the BlockAttribute typedef to allow for multi-type attributes. (78517)

Guidelines

  • Add data-slug attribute to settings list items. (78676)

Block Library

  • ESLint: Restrict deprecated __nextHasNoMarginBottom prop. (78579)

Media

  • Image editor: Remove unnecessary __nextHasNoMarginBottom prop. (78530)

Plugin

  • Connectors: Move from experimental to wordpress-7.0 compat. (78228)

Data Layer

  • Make RTC-related APIs private. (78097)

Tools

  • ESLint: Support private API component denylist. (78451)

Testing

  • Automated Testing: Allow console logging in all bin, scripts, tools files. (78312)
  • Automated Testing: Enable concurrency for ESLint. (78360)
  • Automated Testing: Fix and use built-in mechanism for flagging unused disables. (78313)
  • Automated Testing: Skip ESLint for bundled library code via ignore patterns. (78314)
  • e2e-test-utils-playwright: Add src to published NPM files. (78847)
  • Fix flaky end-to-end test with DataView keyboard navigation. (78503)
  • Fix flaky media upload save lock test. (78544)
  • Fix flaky navigation frontend submenu end-to-end test. (78270)
  • Fix flaky tests (publish-panel.spec.js focus assertion before panel close completed). (77893)
  • Guard PHP unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. to avoid failures on old WP versions. (78547)
  • Perf tests: Capture loading durations before stopTracing(). (78294)
  • Perf tests: Disable Playwright tracing to remove snapshot overhead. (78295)
  • Perf tests: Save Chromium traces as CI artifacts. (77974)
  • Performance Tests: Log timestamps, optimize build overhead. (78237)
  • Performance tests: Fix template click, delete pages at startup. (78193)
  • Post Editor perf test: Remove unwanted actions from timed area. (78323)
  • Preload: 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. user global styles entry for classic themes on WP 6.9. (78546)
  • RTC: Add command to run in WebSockets mode. (78363)
  • Tests: Add timezone-mock to test/unit/package.json. (78277)
  • Tests: Add post-editor preload spec. (78318)
  • Tests: Preload spec — track query strings and use an existing draft. (78343)
  • WP Editor Meta Box e2e: Wait for TinyMCE init. (78631)

Build Tooling

  • (Release): Migrate bin/plugin into @wordpress/release-tools workspace. (77695)
  • Add cherry-pick script and update release tools in package.json. (78560)
  • Build Tools: Move build scripts to @wordpress/build-scripts workspace package. (78509)
  • Build: Detect stale node_modules at build/dev time. (77995)
  • Build: Remove custom job_status output in favor of native result. (78208)
  • Dashboard: Forbid non-module stylesheets in experimental, new widgets. (78496)
  • Fix path for license type detection in license.js. (78245)
  • Improve GHCR asset publishing and expand trigger events to include pull_request. (78211)
  • Move PHP Sync Issue Generator file to @wordpress/release-tools. (78456)
  • Publishing packages: Defer pushing tags until lerna publish succeeds. (78253)
  • Refactor validation tools and update related scripts. (77522)
  • Remove commander.js file from the project. (78400)
  • Remove dependency used for counting available CPUs. (78593)
  • Several improvements to the Dependabot configuration. (78536)
  • Stylelint: Add logical properties exemptions. (78252)
  • Update browserslist. (78840)
  • Widgets: Add TypeScript project configuration. (78467)
  • wp-build: Replace getter-based exports with data properties. (78303)

First-time contributors

The following PRs were merged by first-time contributors:

  • @allilevine: DataViews: Fix wrapper height resolution in flex layouts. (76945)
  • @CookieDarb: Build: Remove custom job_status output in favor of native result. (78208)
  • @danluu: RTC: Fix connection lost error modal when /wp-json/wp-sync/v1/updates exceeds 16 MiB limit. (77724)
  • @ecairol: Navigation: Restore block_core_navigation_submenu_render_submenu_icon() as deprecated shim. (78484)
  • @Raxen001: Migrate __experimentalText, __experimentalHStack, and __experimentalVStack to Text and Stack. (78155)
  • @rushikeshmore: Components: Fix FormTokenField validation preventing default behavior. (77181)
  • @SteveJonesDev: Image block: Add “Mark as decorative” toggle for accessibility. (78064)
  • @taipeicoder: RTC: Fix Edit/Join row action invisible on mobile in post list. (78597)
  • @yyppsk: Navigation Link: Preserve custom labels during link updates. (77186)

Contributors

The following contributors merged PRs in this release:

@aagam-shah @adamsilverstein @aduth @alecgeatches @allilevine @andrewserong @chriszarate @chubes4 @ciampo @CookieDarb @danluu @DarkMatter-999 @desrosj @dhruvikpatel18 @dpmehta @ecairol @ellatrix @fushar @gziolo @himanshupathak95 @im3dabasia @Infinite-Null @ingeniumed @jameskoster @joshualip-plaudit @jsnajdr @juanfra @karmatosed @kushagra-goyal-14 @lschuyler @MaggieCabrera @Mamaduka @manzoorwanijk @Mayank-Tripathi32 @mirka @Mustafabharmal @ntsekouras @paulopmt1 @prasadkarmalkar @R1shabh-Gupta @ramonjd @Raxen001 @retrofox @rushikeshmore @scruffian @shrivastavanolo @simison @SteveJonesDev @t-hamano @taipeicoder @talldan @tellthemachines @tyxla @USERSATOSHI @westonruter @yuliyan @yyppsk

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