What’s new in Gutenberg 20.0? (10 January)

This is 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/ 20.0, which means it’s the 200th release of 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.

It’s been almost exactly eight years since the initial commit to the Gutenberg repository and about four years since we celebrated the 100th release.

There is a lot happening in the WordPress world these days. But I want to use this moment to take a step back and just say thank you! Thank you to all the individual contributors that have spent countless hours over the past eight years steadily moving this project along. Whether you are still an active contributor, or you have long moved on to work on something else, thank you for all your work. ❤️


Even though this is the 200th release of the Gutenberg plugin, the actual release itself is the same as any other release in the past eight years. It includes new features, enhancements, and bugfixes. The remainder of this “What’s new in Gutenberg” post will follow the regular format.

The “What’s new in Gutenberg” posts (#gutenberg-new) appear on a biweekly basis after every Gutenberg release, and showcase the latest features and improvements. 

Interested in learning more? Here’s an overview of how you can keep up with news and events related to Gutenberg and the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor.

Gutenberg 20.0 is out of the oven and ready to download.

The last first of 2025 introduces improvements to the Style Book, a new starter pattern ui, a swathe of component library enhancements, and code quality improvements.

Table of contents

  1. Enhancements for the Style Book
  2. Starter Patterns get a new UI
  3. Easily set a Page to become the Posts Page
  4. Display Block Type Badge for renamed blocks
  5. More Highlights
  6. Changelog
  7. Contributors

Enhancements for the Style Book

The Style Book got a few improvements in this release. It now features different sections for typography, colors, and individual blocks that all activate when the user navigates to those menu items. Additionally, the Style Book now its own URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (#67811), so you can access it directly.

Starter Patterns get a new UIUI User interface

We’ve received a lot of feedback that the old Modal based approach for starter patterns caused more annoyance than it helped. So, in an effort to improve the experience, the modal has been removed, and instead, if starter patterns exist, the page will load in the zoomed-out mode with the pattern inserter already opened.

Easily set a Page to become the Posts Page

Similar to the “Set Homepage” action that was added in a recent release, it is now possible to easily set a page to become the posts page using a post action in the dataviews for pages.

Display Block Type Badge for renamed blocks

To clarify what block you are currently editing, the block type is displayed as a badge next to the custom name when a block is renamed.

More Highlights

wp-env now supports multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations allowing developers to easily bootstrap multisite environments, especially for ease of feature testing and quality control. (67845)

Block 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. get a major boost by now allowing developers to apply hooks to post content and synced patterns. This has been a highly requested feature of block hooks since day one. (67272 & 68058)

Changelog

Enhancements

Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • iAPI Router: Handle styles assets on region-based navigation. (67826)
  • Prevent each directive errors and allow any iterable. (67798)

Block Library

  • Button: Update Settings text labels. (68265)
  • Introduce new 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. “render_block_core_navigation_link_allowed_post_status”. (63181)
  • Latest Posts add Border Block Support. (66353)
  • Add block example attribute for Comments Form block. (68267)
  • Add block example attribute for Comments block. (68266)
  • Read More: Add example preview. (68288)
  • Query Pagination: Update ‘showLabel’ help text. (68105)
  • Query Total block: Reduce concatenation in the output text. (68150)
  • Post 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.: Use the ‘ResolutionTool’ component. (68294)
  • Add Tools Panel dropdown menu props to More block. (68039)
  • Archive: Add dropdown menu props to ToolsPanel component. (68010)
  • Date Block: Add dropdown menu props to ToolsPanel component. (68018)
  • Archives Block: Refactor setting panel. (67841)
  • Button Block: Refactor setting panel. (67887)
  • Date Block: Refactor settings panel to use ToolsPanel. (67906)
  • Details Block: Migrate to Toolspanel. (67966)
  • 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. Block: Refactor settings panel to use ToolsPanel. (67908)
  • Featured Image Block: Refactor setting panel. (67456)
  • Login/Logout: Add dropdown menu props to ToolsPanel component. (68009)
  • Login/Logout: Refactor settings panel to use ToolsPanel. (67909)
  • More Block: Refactor settings panel to use ToolsPanel. (67905)
  • Navigation Submenu Block: Refactor settings panel to use ToolsPanel. (67969)
  • Page List Block: Add dropdown menu props to ToolsPanel component. (68012)
  • Page List Block: Refactor settings panel to use ToolsPanel. (67903)
  • Query Page Numbers Block: Refactor settings panel to use ToolsPanel. (67958)
  • Query Page Numbers: Add dropdown menu props to ToolsPanel component. (68013)
  • Query Pagination: Refactor settings panel to use ToolsPanel. (67914)
  • Refactor “Settings” panel of Navigation Item block to use ToolsPanel instead of PanelBody. (67973)
  • Replace PanelBody with ToolsPanel and ToolsPanelItem in column block. (67913)
  • Replace PanelBody with ToolsPanel and ToolsPanelItem in spacer block. (67981)
  • Replace PanelBody with ToolsPanel in columns block. (67910)
  • Site Title Block: Add dropdown menu props to ToolsPanel component. (68017)
  • Site Title Block: Refactor settings panel to use ToolsPanel. (67898)
  • Social Icon: Migrate to Toolspanel. (67974)
  • Social Icons: Migrate to Toolspanel. (67975)
  • Table Block: Refactor settings panel to use ToolsPanel. (67896)
  • Tag Cloud Block: Refactor settings panel to use ToolsPanel. (67911)
  • Video Block: Refactor setting panel. (67044)
  • Add dropdown menu props to ToolsPanel component. (68019)

Components

  • Add new “Badge” Component. (66555)
  • Badge: Support text truncation. (68107)
  • BoxControl: Add support for presets. (67688)
  • Button: Add hover style to secondary variant. (67325)
  • CreateTemplatePartModalContents: Use native radio inputs. (67702)
  • Menu: More granular sub-components. (67422)
  • RangeControl: Animate thumb and track only when using marks. (67836)
  • Storybook: Add more max-width containers. (68080)
  • Storybook: Upgrade to the latest version (v8.4.7). (67863)
  • Storybook: Upgrade to v8.0.x. (67574)
  • Unite inline Ariakit imports. (67818)

DataViews

  • Proof of concept: Visualize hierarchical data. (66479)
  • Add confirm dialog before Permanently delete. (67824)
  • Use Badge component in dataview grids. (68062)

Style Book

  • Give style book its own route so it can be linked to directly. (67811)
  • Stylebook: Add the Appearance -> Design submenu through admin_menu action. (68174)
  • Try splitting style book into sections. (68071)
  • Try toggle instead of dropdown to show stylebook. (67810)

Design Tools

  • Post Comments Link: Add Border Support. (68450)
  • Post Template: Add Border and Spacing Support. (64425)
  • Query Total: Add Border Support. (68323)

Block Editor

  • Add reset button to ColorGradientSettingsDropdown. (67800)
  • ChildLayoutControl: Use units defined in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (67784)
  • KeyboardShortcuts: Update delete shortcut to use shift + Backspace. (68164)
  • Use Badge component in page markers. (68103)
  • Use custom name in block 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. if available (retaining block type information). (65641)

Block hooks

  • Apply to Post Content (on frontend and in editor). (67272)
  • Synced Patterns: Apply Block Hooks. (68058)

Site Editor

  • Pages: Add “Set as posts page” action. (67650)
  • Add command to navigate to site editor. (66722)

Write mode

  • Allow template part editing in write mode. (67372)
  • Remove placeholder of default paragraph when it’s the only block and canvas is zoomed out. (68106)

Patterns

  • Replace Starter Content modal with inserter panel. (66836)

Build Tools

  • Create Block: Allow external templates to customize more fields. (68193)
  • Create Block: Optimize the default template for multiple blocks case. (68175)
  • Scripts: Recommend passing JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. entry points with paths. (68251)
  • Upgrade sass to version 1.54.0. (68380)
  • postcss-plugins-preset: Bump autoprefixer to 10.4.20. (68237)
  • wp-env: Add multisite support. (67845)

Various

  • DOM: Support class wildcard matcher in ‘cleanNodeList’. (67830)
  • Split upload into verbs and nouns. (68227)
  • Add a Playground blueprint json to the /assets/blueprints folder of Plugin Repo. (67742)

Bug Fixes

  • Add duotone and dimensions to the block level for translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization.. (68243)
  • Add text domain option while scaffolding the block in create-block. (57197)
  • Added is-focus-mode class on all viewports. (67377)
  • Editor: Fix initial edits applied again after saving the post. (68273)
  • Fix dataviews commonjs export. (67962)
  • Get active element within the 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. when restoring focus. (68060)
  • Make strings in theme.json translatable. (66675)
  • Scripts: Use fork of rtlcss-webpack-plugin to fix issues with deps. (68201)

Block Library

  • Columns: Add space above notice text. (68259)
  • Enhance: Improve pagination logic in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./query-pagination-previous block. (68070)
  • Fix author information leakage by author blocks for Custom Post Types without author support & display notice to user. (67136)
  • Media & Text: Correctly reset the ‘useFeaturedImage’ attribute. (68247)
  • Navigation Submenu Block: Add dropdown menu props to ToolsPanel component. (68015)
  • Page List Block: Fix critical error when converting to link. (68076)
  • Page List block: Don’t wrap Edit button with ToolsPanelItem component. (68248)
  • Query Total: Remove nested element. (68304)
  • Table Block: Fix margin/padding to include caption in spacing. (68281)
  • Update SiteTitle block to Fix isLink Toggle Behavior. (68295)
  • 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.: Make example and variations translatable in post-navigation-link. (68375)
  • i18n: Make example translatable in query-no-results. (68376)
  • i18n: Make example translatable in table-of-contents. (68377)
  • Button Block: Set proper typography for inner elements. (68023)

Components

  • Block Editor: Fix the ‘Reset all’ 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. for the ‘ResolutionTool’ component. (68296)
  • BoxControl: Better minimum value support. (67819)
  • BoxControl: Fix aria-valuetext value. (68362)
  • Fix end-to-end storybook. (68307)
  • Fixing Text Contrast for Dark Mode. (68349)
  • FontSizePicker: Add display: Contents rule to custom size select. (68280)
  • Storybook: Fix emotion/is-prop-valid warning. (68202)
  • Storybook: Fix a few editor styles warnings. (68198)
  • Storybook: Fix warnings in Layout document. (67865)
  • Use default value in useMediaUploadSettings. (68100)

Block Editor

  • Media Replace Flow: Add custom toggle support and fix button height. (68084)
  • BlockCard: Fix title alignment. (68115)
  • DateFormatPicker: Fix styles & spacing. (68079)
  • Fix Iframe error for links without ‘href’. (68024)
  • Grid Visualizer: Improve observation logic. (68230)
  • List View: Fix appender size. (68221)
  • MediaReplaceFlow: Remove store subscription in favor of modern CSSCSS Cascading Style Sheets.. (68276)
  • Remove patterns from the Quick Inserter to prevent misuse in block-specific contexts. (67738)
  • Revert ‘Warning’ component autofocus. (68133)
  • Image: Avoid link class loss when pasting for raw transformation. (67803)
  • Make Block Bindings work with editor.BlockEdit hook. (67523)

Post Editor

  • DataViews: Fix text in action for setting site home page. (67787)
  • Edit post: Fix 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. box pane’s pointer capture. (68252)
  • Editor: Remove HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from the post title in the document bar. (68358)
  • Fix: Some 403 errors for editor roles. (68146)
  • Improve logic to show entities saved panel description. (67971)

DataViews

  • Don’t render actions dropdown when all eligible ones are primary. (68168)
  • Handle grid preview size based on container width. (68078)
  • Hide actions related UI in grid when no actions or bulk actions are passed. (68033)
  • Pages: Update layout-specific configuration when the view is updated. (67881)
  • Use action.disabled state to disable actions (primary and secondary). (68275)

Site Editor

  • Add CSS classname to fix the negative margins not appearing in the Navigation Screen. (67825)
  • Fix obsolete getLocationWithParams usage. (68388)
  • Pages: Remove unnecessary padding for items. (67977)
  • Update active menu item appearance. (68147)

Style Book

  • Fix global styles updating in style book. (68111)
  • Fix style book background color. (68088)
  • Fix uploading background images in stylebook view. (68159)
  • Stylebook: Avoid double line in subcategory titles. (67752)

Zoom Out

  • Allow replace operation on empty default block in Zoom Out. (68026)
  • Fix don’t show inserter in Zoom Out dropzone when the text is visible. (68031)
  • Hide separators for currently dragged section in Zoom Out. (67638)
  • Make Write mode and Zoom out block options menus consistent. (67749)

Design Tools

  • Background supports: Add default controls supports. (68085)
  • Block supports: Show selected item in font family select control. (68254)
  • Fix: Ensure consistency in editor tools for navigation buttons and delete options. (67253)

Template Editor

  • Fix: Editing “Page” is broken for low capability users. (68110)
  • Plugin: Fix eligibility check for post types’ default rendering mode. (67879)

Widgets Editor

  • 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. Widgets: Fix inserter button size and animation. (67880)
  • 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. Editor: Fix: Close button is not working. (65443)

Various

  • Show metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. when pattern is accessed directly. (68255)
  • Query Pagination: Fix ‘undo’ trap. (68022)
  • Add –glob argument to rimraf cli scripts. (67829)

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)

  • Dataviews List layout: Do not use grid role on a ul element. (67849)
  • Fix: Templates and patterns are nesting two elements with the button role. (67801)
  • [Dataviews] Fix: Media item focus style is not visible on Grid. (67789)

Block Editor

  • Fix: Inserter categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. tabs: Avoid unnecessary aria-label. (68160)
  • Improve accessibility of the Warning component in the block editor. (67433)

Global Styles

  • Shadows: Always show reset button if hover is not supported. (68122)
  • Visual Refactor: Add Chevron Icon for Shadows in Global Styles. (67720)

Block Library

  • Button: Replace ButtonGroup usage with ToggleGroupControl. (65346)
  • Fix Choose menu label when a menu has been deleted. (67009)

Site Editor

  • Make sure the sidebar navigation item focus style is fully visible. (67817)

Components

  • CustomSelectControl: Refactor to use Ariakit store state for current value. (67815)

Performance

Block Library

  • Don’t fetch media details if the block doesn’t use a featured image. (68299)
  • Media & Text: Optimize block editor store subscriptions. (68290)

Documentation

  • .wp-env.json schema: Add testsPort field. (68220)
  • Add README for TextAlignmentControl component. (68126)
  • Add layout related updates to the DataForm README. (68050)
  • Added Global Documentation in load.php. (68325)
  • Badge component: Fix Storybook URL link. (68077)
  • Badge: Fix up extra newline in readme. (68359)
  • Block Editor Storybook: Restructure the directory and add badges to private components. (68352)
  • Clarify template property behavior in InnerBlocks documentation to specify prefill when empty. (66911)
  • Components: Normalize newlines in auto-generated READMEs. (68208)
  • Components: Prevent broken lists in auto-generated readmes. (68301)
  • Components: Warn private API in auto-generated readmes. (68317)
  • Create a catalog list of private APIs. (66558)
  • DateFormatPicker: Improve line breaks in JSDoc and README. (68006)
  • Doc: Add JSDoc and update README for BlockCard component. (68114)
  • Docs: Fix some typos on reference-guide data-core-block-editor.md. (68066)
  • Documenting innerBlocks in save function. (66689)
  • Fix reference to wp-env start in documentation. (68034)
  • Fix wrong npm start command. (65221)
  • Fix: Fix link to minimal-block example plugin code. (67888)
  • Fixed typo in README of TextTransformControl. (68443)
  • Section Styles: Update block style variation documentation. (68169)
  • Storybook : Add TextTransformControl stories. (67365)
  • Storybook: Add BorderRadiusControl story. (67383)
  • Storybook: Add PlainText Storybook stories. (67341)
  • Storybook: Add stories for BlockCard component. (67191)
  • Storybook: Add stories for BlockTitle Component. (67234)
  • Storybook: Add stories for DateFormatPicker Component. (67290)
  • Storybook: Add stories for the ContrastChecker component. (68120)
  • Storybook: Add stories for the TextAlignmentControl component. (67371)
  • Storybook: Add stories for the TextDecorationControl component. (67337)
  • Storybook: Add story for the Warning component. (68124)
  • Storybook: Make prop sort order consistent. (68152)
  • Tabs: Auto-generate README. (68209)
  • Update platform documentation intro. (61341)
  • Update the copyright licensecopyright license Copyright holders may grant a license with various allowances including the ability to modify or distribute the copyrighted material. Also see GPL. to 2025. (68440)
  • Updated since Doc Order in Inline documentation. (68003)
  • Updated Document URL in Documentation. (67990)
  • Updated Small Typo in documentation in docs/getting-started/faq.md file. (68357)
  • [Docs] Fix: Two broken links to the packages reference API and to blocks documentation. (67889)
  • env: Fix changelog entry. (68219)
  • theme.json schema: Fix block list. (68343)

Code Quality

  • Create Block: Migrate Inquirer.js dependency to the new API. (67877)
  • Fix indentation in the upload-media tsconfig. (68083)
  • Fix indentation in upload-media package.json. (68037)
  • 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. JSDoc syntax for optional object. (68061)
  • Remove some obsolete stylelint at-rule-no-unknown disable rules. (68087)

Components

  • DatePicker: Prepare day buttons for 40px default size. (68156)
  • DropZone: Make the drop zone in Storybook the same size as the item. (68231)
  • Fix Button size violations in misc. unit tests. (68154)
  • Fix: Add soft deperecation notice for the ButtonGroup component. (65429)
  • InputControl : Deprecate 36px default size. (66897)
  • Menu: Migrate Storybook examples to CSF3. (68204)
  • Menu: Use ariakit types. (68206)
  • Navigation: Prepare for hard deprecation. (68158)
  • Navigation: Upsize back buttons. (68157)
  • RadioGroup: Log deprecation warning. (68067)
  • SelectControl : Deprecate 36px default size. (66898)
  • Slot: Use layout effect and update Cover block unit tests. (68176)
  • SlotFill: Use observableMap everywhere, remove manual rerendering. (67400)
  • Tabs: Use correct ariakit type for root component. (68207)
  • TreeSelect: Deprecate 36px default size. (67855)

Plugin

  • fix: return type for WP_Duotone_Gutenberg::Get_selector(). (66695)
  • fix: Deprecated WP_Webfonts() constructor takes no arguments. (66700)
  • fix: Remove extraneous arg from gutenberg_url() call in gutenberg_posts_dashboard(). (66699)
  • fix: Remove extraneous param from remove_filter() calls. (66697)
  • fix: Wrong number of $accepted_args on add_filter() calls. (66694)
  • fix: explicitly return false in WP_Theme_JSON_Gutenberg::Should_override_preset(). (66696)

Block Editor

  • Fix ESLint warnings for the ‘useInnerBlockTemplateSync’ hook. (68355)
  • FontAppearanceControl: Deprecate 36px default size. (67854)
  • FontFamilyControl: Deprecate 36px default size. (67853)
  • Inserter: Use 40px default size for toggle button. (68155)
  • LineHeightControl: Deprecate 36px default size. (67850)

Post Editor

  • DocumentTools: Use standard ToolbarButton for inserter. (68332)
  • Editor: Remove constants for notices. (68361)
  • Editor: Remove the ‘content-only’ check from ‘TemplatePartConverterMenuItem’. (67961)

DataViews

  • DataForm: Add unit tests. (68054)
  • DataForm: Remove FormFieldVisibility. (68203)
  • [DataView] Initial list of unit tests for the DataView component. (68205)

Block Library

  • Columns: Replace some store selectors with ‘getBlockOrder’. (67991)
  • Fix trailing spaces in navigation block classnames. (68161)

Site Editor

  • Edit Site: Standardize reduced motion handling using media queries. (68419)

Design Tools

  • Block Supports: Revert stabilization of typography, border, skip serialization and default controls supports. (68163)

Zoom Out

  • Correct spelling in Zoom Out Inserters comment. (68051)

Block API

  • Fail gracefully when block in createBlock function is not registered. (68043)

Icons

  • Deprecate warning and rename to cautionFilled. (67895)

Tools

Build Tooling

  • Add new private upload-media package. (66290)
  • Build: Simplify tsconfig.json files. (68326)
  • Clean script: Use braces instead of @-pattern for glob. (67833)
  • Fix VS Code performance. (68347)
  • Fix tsconfig for test/ directory. (68346)
  • Fix: Script with glob option doesn’t work on Windows. (67862)

Testing

  • Page – Quick Edit: Add end-to-end tests. (68151)
  • Add ESLint rule to prevent usage of the verb ‘toggle’ in translatable strings. (67741)
  • Enhance template registration end-to-end tests to handle welcome dialog visibility. (68059)

Various

  • ActionItem.Slot: Render as MenuGroup by default. (67985)
  • Storybook: Add BlockAlignmentMatrixControl Stories and update README. (68007)
  • Update “Call to Action” to “Call to action”. (67876)

Plugin

  • Assets: Add README.md about syncing. (68128)
  • Workflows: Sync assets to plugin repo upon change in 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.. (68052)

First-time contributors

The following PRs were merged by first-time contributors:

  • @benazeer-ben: Add command to navigate to site editor. (66722)
  • @dhruvikpatel18: Fixed typo in README of TextTransformControl. (68443)
  • @fushar: Stylebook: Add the Appearance -> Design submenu through admin_menu action. (68174)
  • @im3dabasia: Storybook : Add TextTransformControl stories. (67365)
  • @justlevine: fix: Deprecated WP_Webfonts() constructor takes no arguments. (66700)
  • @karthick-murugan: Latest Posts Border Block Support. (66353)
  • @mayurprajapatii: Updated Document URL in Documentation. (67990)
  • @PARTHVATALIYA: Widget Editor: Fix: Close button is not working. (65443)
  • @prasadkarmalkar: Replace PanelBody with ToolsPanel and ToolsPanelItem in column block. (67913)
  • @rilwis: Fix wrong npm start command. (65221)
  • @sarthaknagoshe2002: Clarify template property behavior in InnerBlocks documentation to specify prefill when empty. (66911)
  • @timse201: Split upload into verbs and nouns. (68227)
  • @vampdroid: Add text domain option while scaffolding the block in create-block. (57197)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @akasunil @benazeer-ben @bph @Chrico @ciampo @d-alleyne @DAreRodz @dhruvikpatel18 @draganescu @ellatrix @fabiankaegy @fushar @getdave @gigitux @gziolo @hbhalodia @himanshupathak95 @im3dabasia @Infinite-Null @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanfra @justlevine @karthick-murugan @kmanijak @louwie17 @Lovor01 @Mamaduka @manzoorwanijk @matiasbenedetto @Mayank-Tripathi32 @mayurprajapatii @mcsf @michalczaplinski @mikachan @mirka @ntsekouras @oandregal @ockham @PARTHVATALIYA @prasadkarmalkar @ramonjd @rilwis @rinkalpagdar @Rishit30G @rohitmathur-7 @SainathPoojary @sarthaknagoshe2002 @SH4LIN @shail-mehta @shimotmk @sirreal @stokesman @Sukhendu2002 @swissspidy @t-hamano @talldan @tellthemachines @timse201 @tyxla @up1512001 @vampdroid @Vrishabhsk @yogeshbhutkar @youknowriad

Thanks to @priethor, @gziolo, @jonsurrell, @jorbin who helped with this release and to @joemcgill and @sergeybiryukov for helping review this post.

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

What’s new in Gutenberg 19.9? (19 December)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/” posts (#gutenberg-new) appear on a biweekly basis after every Gutenberg release, and showcase the latest features and improvements. 

Interested in learning more? Here’s an overview of how you can keep up with news and events related to Gutenberg and the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor.


Gutenberg 19.9 is out of the oven and ready to download.

The last release of 2024 introduces the Style Book to classic themes, a new Query Total block, a swathe of component library enhancements, and code quality improvements.

Table of contents

  1. Style Book in classic themes
  2. Introducing the Query Total block
  3. More Highlights
  4. Changelog
  5. First-time contributors
  6. Contributors

Style Book in classic themes

The Style Book now appears in supported classic themes under Appearance > Design > Styles in the adminadmin (and super admin) menu. 

Support is available for classic themes that either support editor styles via add_theme_support( 'editor-styles' ) or have a 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. file. 

The Style Book provides a comprehensive overview of your site’s colors, typography, and block styles in an organized layout. Each block example and style group is labeled, making it easy to preview and understand your theme’s current design settings. Think of it as if your theme threw a party, and all the design elements showed up wearing name tags. 😀

For classic themes that support the Style Book, site patterns have been relocated to Appearance > Design > Patterns, consolidating all design-related functionality from the Site Editor into one place. Previously, patterns were listed under Appearance > Patterns

Testing is an important step for this feature before it’s introduced to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. If you have the time, please help identify potential issues, and suggest areas for improvement by logging your feedback on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/. Testing instructions can be found on the original PR. Thank you!

Introducing the Query Total block

You know how many results are in your queries, but do your site’s readers? The new Query Total block is here to help.

When added within a Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block, the Query Total block displays the number of results the query has returned, or, alternatively, the current range in a set of paginated results.

More Highlights

Gutenberg 19.9 introduces phpMyAdmin to wp-env as a launch option. phpMyAdmin will automatically connect to the running mysqlMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. database service, allowing you to inspect and manage the local WordPress database as you develop. (#67588).

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. backgrounds in the Cover block now come with resolution controls so that you can change their sizes (#67273). 

Reset colors for blocks and global styles in the editor with a single click thanks to the inline reset button added to all color controls (#67116).

Looking to replace your Query block’s design? Query block patterns have been relocated from a modal to a dropdown. It’s still in the block toolbar, now under “Change design” (#66993).

You can now also set your site’s home page from within the Site Editor via the page actions menu (#65426). This is the equivalent of updating the Reading Settings in “Settings > Reading”. Under “Pages” in the editor, find the page you’d like to set as your homepage, click on the action menu, and select ‘Set as homepage’.

Changelog

Enhancements

  • Feature: Add navigation.isLoading state to core/router store. (67680)
  • Update the title, description, and order of Experiments page. (67762)
  • wp-env: Add phpMyAdmin support. (67588)

Components

  • Added enableAlpha prop to CustomGradientPicker and GradientPicker components. (66974)
  • BorderBoxControl: Reduce gap value when unlinked. (67049)
  • DateTime: Add default date/time to stories. (67678)
  • Deprecate COLORS.white. (67649)
  • Disabled: Suppress contentEditable warning in story. (67679)
  • Document layout in Storybook. (67628)
  • DropdownMenu: Increase option height to 40px. (67435)
  • DuotonePicker: Simplify Button styles. (66641)
  • Menu: Throw when subcomponents are not rendered inside top level Menu. (67411)
  • Popover: Use anchor instead of anchorRef in story. (67674)
  • Storybook: Remove unnecessary feature flags. (67576)
  • Storybook: Update ArgsTable to Controls in preview. (67582)
  • Storybook: Update control types from null to undefined. (67581)
  • Storybook: Use manager-api instead of addons package. (67578)
  • Update @ariakit/reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. to 0.4.13. (65907)
  • Update @ariakit/react to 0.4.15 and @ariakit/test to 0.4.7. (67404)

Block Library

  • Cover Block: Image size option for featured image. (67273)
  • Feature: Allow Post Template block to get deeply nested within Query Block. (67657)
  • Image Block: Change how the Image’s overlay styles are applied. (67788)
  • Navigation: Enable all non-interactive formats. (67585)
  • Query block: Move patterns modal to dropdown on block toolbar. (66993)
  • Separator block: Allow divs to be used as separators. (67530)
  • New Block: Add Query Total block for displaying total query results or ranges. (67629)
  • Block Library: Update the relationship of No results block to ancestor. (48348)

DataViews

  • Add 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. to the quick edit when bulk editing. (67390)
  • Data views: Expand configuration drop down on mobile. (67715)
  • Quick Edit: Add Template field. (66591)
  • Refactor actions to render modal outside of the menu. (67664)
  • Renders DataForm component only when data has been fetched. (67694)
  • Unify layout configuration. (67477)
  • Update bulk header with actions. (67743)

Style Book

  • Add stylebook screen for classic themes. (66851)
  • Scroll to top at styles root. (67605)
  • Stylebook: Render overview colors in 4 columns. (67597)
  • Update style book headings to new design. (67546)

Post Editor

  • Inline Commenting: Added new 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. as extension of the canvas. (67347)
  • Inline Commenting: Re-order the comments in sidebar in which blocks are listed. (66927)
  • Inline commenting: UXUX User experience Enhancements for Comments. (67385)

Site Editor

  • Data Views: Add action for pages to set site homepage. (65426)
  • Sidebar: Update appearance of active items. (67318)
  • Style the selected template pattern. (65917)

Data Layer

  • Data: Expose ‘useSelect’ warning to third-party consumers. (67735)
  • Data: Include more details when shallow equality fails in ‘useSelect’. (67713)

Global Styles

  • Controls in grid should match between sidebar panel and editor. (67602)
  • Shadows: Improve design and a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) of remove button. (67705)

Block Editor

  • Prefer exact matches in Link Search results sorting. (67367)
  • Try direct drag (outside text editable). (67305)

Zoom Out

  • Keep only copy, duplicate and delete in the zoom out more block toolbar menu item. (67279)

Font Library

  • FontCollection: Update pagination controls. (67143)

Colors

  • Add reset button to color control. (67116)

Bug Fixes

  • Exclude Set instance methods from polyfills. (67230)
  • Preload: Fix settings fields order. (67450)
  • Scripts: Make React Fast Refresh work with multiple blocks. (64924)
  • WP Scripts: Update webpack dependencies related to styling. (67572)

Site Editor

  • Allow access to quick edit. (67469)
  • Edit Site: Fix sidebar template author navigation. (67382)
  • Fix Site editor navigation menuNavigation 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. items alignment visual regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. (67321)
  • Fix sidebar item animation regression. (67771)
  • Fix sidebar plugins. (67557)
  • Fix the templates route on mobile. (67547)
  • Fix: Fixed site-editor crashing when added front-page template and clicking more option. (67500)
  • Fix: Fixed styling tab not opening on themes without style variations on mobile & desktop. (67537)
  • Preload: Parse post ID from p (path). (67465)
  • Remove default page slug. (67673)
  • Router: Fix addition and removal of empty classnames. (67378)
  • Wrap each router area in ‘ErrorBoundary’. (64245)
  • useEditorTitle: Fix wrong request without ID. (67475)

Block Editor

  • Animate useScaleCanvas() only when toggling zoomed out mode. (67481)
  • Drag and drop: Fix drop zones on block drag. (67317)
  • Drag and drop: Fix firefox compat logic. (67439)
  • Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in the ‘useTabNav’ hook. (67102)
  • FontFamilyControl: Restore margin bottom. (67424)
  • Inserter: Hide child blocks from the inserter when needed. (67734)
  • Inserter: Patterns: Remove loading indicator. (67072)
  • Inserter: Should receive focus on open. (67754)
  • Remove words count in the multi-selection inspector. (67624)
  • Storybook: Fix BlockPatternsList fixtures. (67672)
  • Drag and drop: Fix misplaced drop indicator. (67434)
  • Drag and drop: Fix scroll disorientation after drop. (67405)
  • Drag and drop: Restore moving animation. (67417)

Block Library

  • Align Submenu block and Nav Link block by including description and wrapping span. (67198)
  • CommentsPagination: Set font-size to inherit for pagination items. (67296)
  • Fix latest post block spacing issue. (66442)
  • Fix: Caption with Link in Wide-Width and Full-Width Images Appears on two lines. (67392)
  • Fix: Don’t show aria-label when its value is empty. (67381)
  • Navigation Block: Fix issue with double-clicking “Create a new menu” causing duplicate menus. (67488)
  • Pullquote block having design issue when text-decoration is choosen strikethrough. (66707)
  • Remove inline-block display from image anchor in style.scss. (67368)
  • Search block: Add space between attributes when using “Button only” option. (61399)
  • Updated ‘Set featured image’ text in dropdown. (67775)

DataViews

  • Avoid double click handler on primary fields. (67393)
  • Better handling of missing onClickItem prop. (67402)
  • Fix filters lost when switching layouts. (67740)
  • Fix hidden List layout actions dropdown. (67778)
  • Fix reordering fields in list and grid layouts. (67777)
  • Fix: Duplicate template part refers to original name instead of duplicated name. (67329)
  • Preserve filters when switching layouts in templates dataviews. (67744)
  • QuickEdit: Prevent site-editor from crashing when slug is not an object. (67577)
  • Site Editor: Fix featured image not appearing in pages dataviews. (67562)

Components

  • CustomSelectControl: Update Value from Fresh State. (67733)
  • Fix the ‘ClipboardButton’ effect cleanup. (67399)
  • Navigation: Fix active item hover color. (67732)
  • Scrollable: Fix story by declaring field as readonly. (67683)
  • Storybook: Fix control types. (67646)
  • Storybook: Fix storybook blocks imports. (67684)
  • Storybook: Fix table markup in Design Language – Radius documentation. (67686)
  • Theme: Fix contrast in nested story. (67681)

Post Editor

  • Fix 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 saving when they’re not present. (67254)
  • Fix hiding and showing of meta boxes. (67504)
  • Fix: Header layout spacing in Firefox. (67074)
  • Make sure Document Bar doesn’t go missing. (67322)
  • Update pre-publish panel wording to accurately describe the review process. (67328)

Zoom Out

  • Fix for inserter. (67495)
  • Fix useZoomOut inserter behavior. (67591)
  • Fix zoom animation scrollbar. (67536)
  • UseScaleCanvas performance improvements. (67496)

Write mode

  • Fix color of disabled buttons in dark toolbar. (67348)
  • Fix synced pattern editing in write mode and refactor block editing mode to reducer. (67026)
  • Fix: Remove parent block selector while in Write mode. (67395)
  • Fix: Write Mode mode persists as enabled in 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. editor. (67587)

Global Styles

  • Edit site: Remove empty preview border and redirect to editor in global styles navigation. (67548)
  • Fix: Styles section does not moves stylebook to typography. (67423)
  • Global Styles Preview: Don’t use 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. component. (67682)

Style Book

  • Fix critical error when blocks are not registered. (67703)

Design Tools

  • Global Styles: Fix handling of booleans when stabilizing block supports. (67552)

Block bindings

  • Revert “Extensibility: Make Block Bindings work with editor.BlockEdit hook”. (67516)

Patterns

  • Site Editor: Fix the patterns route on mobile. (67467)

Focus Mode

  • Site Editor: Fix focus mode navigation. (67458)

List View

  • Fix List View not updating when switching editor modes. (67379)

Extensibility

  • Make Block Bindings work with editor.BlockEdit hook. (67370)

Synced Patterns

  • Remove use of contentOnly block editing mode for synced patterns. (67364)

Widgets Editor

  • Block Bindings: Remove client core sources registration in widgets. (67349)

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

  • Support search_columns argument in the user endpoint. (67330)

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)

  • [Dataviews] Fix: Space does not triggers the media button on grid view. (67791)

Block Editor

  • BlockSwitcher: Refactor to use Button layout properly. (67502)
  • Remove one occurrence of incorrect usage of ItemGroup. (67427)

DataViews

  • [a11y] Fix: Media button on the page view grid does not have an accessible name. (67690)

Components

  • Fix incorrect usage of ItemGroup in the Image block filters panel. (67513)

Post Editor

  • Fix EntitiesSavedStates panel dialog props. (67351)

Performance

  • Fix re-renders caused by getEntityRecordsPermissions after #67667. (67770)
  • Preload: Fix end-to-end test. (67497)
  • Site Editor: Pages: Preload template lookup. (66654)
  • [mini] Preload: Add post type. (67518)

Experiments

  • Move duplicateTemplatePart action to the @wordpress/fields package. (65390)

Documentation

  • Button: Revise documentation. (66617)
  • Docs: Fix Playwright Page Object Model link. (67652)
  • Docs: Include the strategy for setting engines for WordPress packages. (67727)
  • Docs: Remove 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. key projects links on the documentation. (67491)
  • Improve documentation for fields package. (67580)
  • Refine getServerState() & getServerContext() documentation. (67499)
  • Storybook: Add WritingModeControl story. (67343)
  • Storybook: Add stories for AlignmentToolbar and AlignmentControl components. (67046)
  • Storybook: Add stories for HeadingLevelDropdown component. (67294)
  • Storybook: Revert “Preview: ArgsTable => Controls (#67582)”. (67656)
  • Storybook: Support keyword search in Icon Library. (67442)
  • Switch Several Links to httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. in Document Files. (67706)
  • Update README.md. (67711)
  • Update extending-the-query-loop-block.md. (67529)
  • Update global stylesheet docblocks with custom-css parameter. (67716)
  • Updated old URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in Documentation. (67446)

Code Quality

  • Convert lock unlock to generics. (66682)
  • CreateTemplatePartModal: Avoid identity warning in useSelect. (67786)
  • CreateTemplatePartModal: Replace ts-ignore with ts-expect-error. (67709)
  • Fix misc type compilation errors in editor and block editor packages. (67410)
  • Fix: Invalid JSDoc for optional string parameter and return value. (67489)
  • Fix: Remove unused test code on tools panel. (67589)
  • Removed trailing space in “Color randomizer “. (67457)
  • Update misc types and revert WPCompleter export from components. (67599)

Components

  • BoxControl: Deprecate 36px default size. (66704)
  • BoxControl: Passive deprecate onMouseOver/onMouseOut. (67332)
  • BoxControl: Refactor and unify the different sides implementation. (67626)
  • CustomSelectControl: Deprecate 36px default size. (67441)
  • FormFileUpload: Deprecate 36px default size. (67438)
  • FormTokenField: Deprecate 36px default size. (67454)
  • NumberControl: Deprecate 36px default size. (66730)
  • RangeControl: Update the default marks styles to match the padding/margin control. (67611)
  • Remove __unstableMotionContext from @wordpress/components. (67623)
  • SlotFill: Remove explicit rerender from portal version. (67471)
  • Tabs: Overhaul unit tests. (66140)
  • ToolbarButton: Set size to “compact”. (67440)
  • UnitControl : Deprecate 36px default size. (66791)

Block Editor

  • Group ‘onRemove’ callback with other public APIs. (67551)
  • InspectorControlsSlot: Remove unused framer motion context forwarding. (67522)
  • LetteringSpacingControl: Deprecate 36px default size. (67429)
  • Reduce the ‘isZoomOut’ selector calls in the block toolbar. (67594)
  • Remove ‘React.Children’ legacy 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. in ‘Warning’ component. (67675)
  • Replace remaining custom deep cloning with ‘structuredClone’. (67707)
  • Stabilize LinkControl Component. (56384)

Site Editor

  • Remove .components-item-group selector in edit-site components[2]. (67575)
  • Site Editor Sidebar: Remove hasGlobalStyleVariations condition for the Styles nav item. (67545)
  • Unify layout with posts dataviews. (67162)
  • Use path based routing instead of query args and site-editor.php routes. (67199)

Post Editor

  • Editor: Refactor ‘PostPublishPanelPostpublish’ to function component. (67398)
  • Editor: Use 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. instead of HOC in ‘PostPublishButtonOrToggle’. (67413)
  • Remove PostSlugCheck and PostSlug unused components. (67414)

DataViews

  • Create a single component for rendering the actions list. (67558)
  • Fix: Dataviews remove primary field concept from some classes. (67689)

Data Layer

  • TypeScript: Convert factory utils in data package to TS. (67667)

Shortcodes

  • Add types for shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. package. (67416)

Block bindings

  • Remove fallback for context.postType in post meta. (67345)

Block hooks

  • Navigation block: Remove more obsolete Block Hooks helpers. (67193)

Tools

  • PR template: Add before/after table. (62739)

Build Tooling

  • Build: Stop generating unused legacy scripts for core blocks. (65268)
  • CI: Skip native jobs. (67799)
  • DataViews build-wp: Don’t bundle singleton WordPress packages. (67590)
  • DataViews build-wp: Don’t bundle the date package. (67612)
  • Keycodes: Improve tree shaking by annotating exports as pure. (67615)
  • Upgrade TypeScript to 5.7 and fix types. (67461)
  • Combine the release steps to ensure that releases are tagged. (65591)

Testing

  • e2e-test-utils-playwright: Increase timeout of site-editor selector. (66672)

Security

npm Packages

  • Update npm dependencies to fix issues reported by audit. (67708)

Various

Extensibility

  • Add ability to show drop cap setting in paragraph block by default. (45994)
  • DataViews: Move template and pattern title fields. (67449)
  • DataViews: Update usePostFields to accept postType. (67380)

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

  • Only override REST server for older WP versions. (67779)

NUX

  • Welcome guide headline update. (67654)

Block Locking

  • Simplify description and option names in the Lock modal dialog. (67437)

First-time contributors

A colossal kudos to all the first-time contributors who submitted the following PRs:

Contributors

Finally, thanks to everyone who gave their time, code, reviews and ideas to Gutenberg 19.9:

@aaronrobertshaw @afercia @ajlende @akasunil @AKSHAT2802 @benazeer-ben @benniledl @carolinan @cbravobernal @desrosj @dhruvang21 @dougwollison @ellatrix @getdave @gigitux @gziolo @hbhalodia @himanshupathak95 @Infinite-Null @jeryj @jsnajdr @juanfra @louwie17 @Mamaduka @manzoorwanijk @matiasbenedetto @mcsf @michalczaplinski @miminari @mirka @ndiego @ntsekouras @oandregal @ockham @PARTHVATALIYA @ramonjd @SainathPoojary @SantosGuillamot @sarthaknagoshe2002 @snehapatil2001 @Soean @Sukhendu2002 @t-hamano @talldan @tellthemachines @TylerB24890 @tyxla @up1512001 @vipul0425 @yogeshbhutkar @youknowriad

See you next year for Gutenberg 20.0! 🎉

Thanks to @annezazu, @bernhard-reiter, @joen, @isabel_brison and @ndiego who helped with this release.

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

What’s new in Gutenberg 19.8? (04 December)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.



Gutenberg 19.8. has been released and is available for download!

The latest release of 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 entails a myriad of user experience improvements for selecting section styles, image manipulation and font handling. The DataViews layouts also received important improvements. 

Table of Contents

Section styles selector in toolbar 

In zoom-out mode, users can now apply different sections styles and designs directly from the toolbar, cycling through them and inspecting them in the context of the rest of the page. This enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. streamlines the decision-making and production process. (#67140)

Font family preview in dropdown

Another user experience improvement can be found in the list of fonts: Each font family is now previewed in the font picker dropdown and gives users a better indication as to what the font will look like. (67118)

The outcome of the Image manipulation methods are now better communicated in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor. The success notices are now displayed at the bottom of the editor. The notices also come with a handy Undo link to revert to the original if necessary. (67314)(67312)

Other Notable Highlights

DataViews improvements

This release also contains some Data View improvements. For instance,  the table layout received density options: A user can modify the amount of whitespace that is displayed per row on three levels: comfortable, balanced and compact.  (67170)  Developers working with the Dataviews can now make use of a new 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. to programmatically  register and unregister fields for the various display methods. (67175). 

Block supports from experimental to stable.

📣 Plugin authors and Theme builders might appreciate the stabilization of certain block support settings and functions. A separate make blogblog (versus network, site) post will explain the ins and outs. For now, you can read about it in two GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ PRs:  (67018) (66918).

Continue reading

#gutenberg, #gutenberg-new

What’s new in Gutenberg 19.7? (20 November)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.



Gutenberg 19.7 has been released and is available for download!

  1. Global Styles available on the main site editor sidebar
  2. Swifter hiding & showing the template
  3. Set image blocks as featured image
  4. Changelog
  5. First-time contributors
  6. Contributors

Global Styles available on the main site editor 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.

The site editor sidebar is getting increasingly powerful, serving as the entry point to manage all-things your site. Up until this version, the styles panel offered limited style settings, focusing on style variations, color palettes, and typographies. Gutenberg 19.7 changes this by introducing a full-fledged Global Styles panel in its place, giving users site-wide granular control on styles at the top level.

Swifter hiding & showing the template

Switching between editing your site templates and content pages should be as smooth and seamless as possible; sometimes, you need to focus on the post content and hide the rest of the template. This was previously possible in the post settings, but now it is much easier thanks to the `Show template` toggle directly on the preview dropdown in the top toolbar.

Featured images offer a nice touch in external previews, making them more attractive to potential readers. However, it can be easy to forget to set one! To help set featured images more easily, image blocks now offer a dropdown action to directly set them as the featured image of the post or page containing the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience..

Continue reading

#gutenberg, #gutenberg-new

What’s new in Gutenberg 19.6? (6 Nov)

“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 Site Editor project (formerly called Full Site Editing).


Gutenberg 19.6 has been released and is available for download!

This release includes 193 PRs from 55 contributors, and includes one really exciting experimental feature, inline comments!

Experimental inline comments

Experimental inline comments are available as an experimental feature in  Gutenberg. Users will be able to comment on top of blocks, only in non-published posts. In order to activate them, go to Gutenberg > Experiments and enable the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Comments checkbox.

Example of experimental inline comments feature.

Code quality, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and build tooling

The release includes some improvements on the overall site editing experience:  a keyboard shortcut for zoom out (66400), a cleaner layout (66255), and a new color tab (65692) for the style book.

The client-side media processing work has started (64845), but keep in mind that this new package is private and experimental.

Also, a few ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Compiler errors have been fixed and packages now use npm workspaces (65681).

Changelog

Enhancements

Components

  • Add elevation tokens to storybook. (66122)
  • Add foundations:Elevation to storybook. (66124)
  • Add radius foundation and tokens to storybook. (66219)
  • Combobox, FormTokenField: Show message when no matches found. (66142)
  • Storybook: Organizes components under ‘Utilities’. (66210)
  • Tabs: Expose active tab item props, use ariakit prop types. (66223)
  • Tabs: Remove custom logic. (66097)
  • DropdownMenuV2: Rename to Menu. (66289)

Block Library

  • Add Transformation from Separator to Spacer. (66230)
  • Add lightbox option in gallery block link control. (64014)
  • Archives: Add border block support. (63400)
  • Border support added to comments. (66354)
  • Cover Block: Add Image Resolution options. (62926)
  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Force HTML preview in view mode. (66440)

Zoom Out

  • Add keyboard shortcut in editor. (66400)
  • Iterate zoom out shuffle into a more visual control. (66194)
  • Use the zoom-level value to scale the 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.. (66280)

Site Editor

  • Remove synchronization of canvas mode into store. (66213)
  • Style Book: Clean up layout. (66255)
  • Update site icon and title position. (66171)
  • Editor Interface: Remove small 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. from global styles/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 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.. (64474)
  • Remove purple coloring from DocumentBar and PostCard. (66451)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Add the ‘getEntitiesConfig’ resolver. (65871)
  • BlockGroupToolbar: Better 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. context for toolbar labels. (66211)
  • Set ResizableEditor height based on border-box. (66342)
  • Add align-item related icons. (66242)
  • Stabilize isPreviewMode flag. (66149)

Data Views

  • Fix alignment of action items in list layout. (66273)
  • Templates: Hide media field in list view. (66573)

Global Styles

  • 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.: Caching of global styles for blocks from core. (66349)
  • Style Book: Add color tab. (65692)

Real-time Collaboration

  • Inline Commenting: Disable comments on published posts for now. (66583)

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

  • Backport from WordPress core: Improvements for the post format query loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. 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.. (66037)

Build Tooling

  • Create Block: Adds --target-dir flag to allow the tool to target where to scaffold. (53781)
  • Scripts: Add build-blocks-manifest command. (65866)
  • Scripts: Add BlueOak-1.0.0 license to GPL2 compatible. (66139)
  • WP Scripts: Add a --root-folder argument to the plugin-zip command. (61375)

Bug Fixes

Zoom Out

  • Disable zoom out toggle button when Style Book is open. (66228)
  • Don’t switch editor mode when changing entities. (66452)
  • Fix scaling animation for device previews. (66132)
  • Fix zoom out not persisting while switching between editor and code editor. (65932)
  • Fix zoom out shortcut on Windows. (66506)
  • Fix: Activate zoom out on large viewport. (66308)
  • Hide slots and grouping buttons. (66243)
  • Remove zoom-out toolbar. (66039)
  • Resets the Zoom on viewed/edited entity change. (66232)
  • Revise zoom layout shift fix. (66390)
  • Zoom Out: Rely on zoom-level instead of zoom-out mode. (66141)
  • Zoom Out: Fix bouncy drop zones. (66399)

Block Editor

  • Block inserter: Prevent editor from crashing if blockType.parent is a string. (66234)
  • Block toolbar: Account for scrollable blocks that affect the position of the block toolbar. (66188)
  • Fix extra scrollbar appearing when searching in the inserter. (66229)
  • Fix: Show paragraph block variations in rich text inserter. (66318)
  • Group: Fix padding select. (65857)
  • Link Shortcut: Only trigger the link shortcut if there’s a text selection. (66056)
  • Remove relative position from sidebar tabpanel. (66267)
  • Rich text: Remove empty file. (66553)
  • Block editor: Self nesting and circular nesting block fix. (66121)
  • Post Editor: Set the default value of the editorTool to edit. (66636)

Components

  • ColorPalette: Prevent overflow of custom color button background. (66152)
  • Fix: Text overflow in Patterns filter. (66504)
  • RadioGroup: Fix arrow key navigation in RTL. (66202)
  • Tabs and TabPanel: Fix arrow key navigation in RTL. (66201)
  • Tabs and ToggleGroupControl: Round indicator size. (66426)
  • Tabs: Fix animation timings. (66198)
  • Tabs: Override tablist’s tabindex only when necessary. (66209)
  • Tabs: Restore vertical alignment for tabs content. (66215)
  • Tabs: Update indicator more reactively. (66207)
  • SpacingSizesControl: Use generic label for linked button. (66304)

i18n

  • Miscellaneous i18n fixes. (66510)
  • Remove most of the occurrences of the verb toggle. (66371)

Post Editor

  • Always force iframe in pattern editor. (65887)
  • Editor: Multi-entity saving: Show correct count of entities to be saved. (66482)
  • Fix : “Set 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.” button border flashes on focus. (66092)
  • Fix Parent Check Condition in buildTermsTree. (66006)
  • Fix: Improve the DocumentBar post type label for the Homepage and Posts Page cases. (66355)
  • PostTaxonomiesFlatTermSelector: Restore space between 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.) list and most used tags. (66566)
  • Typo metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. pane is a 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. box panel. (66502)

Block Library

  • Block registration: Normalize blockType.parent to array. (66250)
  • Button Block: Apply Stretch Styles Correctly. (64770)
  • Buttons: Fix the initial white space in nofollow rel. (66303)
  • Fix – Image block: Aspect ratio not responding when dimensions are not set. (66217)
  • Navigation block: Fix block appender size. (66153)
  • Fix the navigation issue inside cover blocks. (66093)

Site Editor

  • Edit Site: Fix canvasMode var. (66316)
  • Fix button hover style in sidebar navigation screen. (66505)
  • Remove toggle verb from post list data views ‘Toggle details panel’. (66334)
  • Revert 66431 (Site editor: Remove “default” adminadmin (and super admin) CSSCSS Cascading Style Sheets.). (66540)
  • Restore block-library editor.css outside canvas. (66556)
  • Fix extraneous scrollbar in device previews. (66494)
  • Global styles: Move preload paths filter to 6.7 (previously 6.8). (66543)
  • Fix comment output in styles. (66439)
  • Site editor: Fix save shortcut. (66423)
  • Preload: Fix multiple regressions around global styles. (66468)

Build tooling

  • Create block: Ensure $slug is replaced with passed slug. (66528)

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)

Post Editor

  • Add featured image alt text. (66189)
  • Fix : Badge Color contrast. (66360)

Block Editor

  • ImageSizeControls: Replace ButtonGroup with ToggleGroupControl. (65386)
  • Improve the link preview accessibility and labels. (60908)

Block Library

  • Search: Replace ButtonGroup usage with ToggleGroupControl. (65340)
  • Remove clip & -webkit-clip-path for downloadable-block-list-item style.scss. (66147)

Global Styles

  • Global styles menu: Avoid visible labels and accessible names mismatch. (65124)

Site Editor

  • Fix Global styles panel header buttons text overlap for ‘Show button text labels’. (63243)
  • Update the speak messages when switching editor modes. (66278)

Performance

Site Editor

  • Remove “default” admin CSS. (66431)
  • Remove content styles outside canvas. (66432)
  • Block Style Variations: Reuse block metadata in WP_Theme_JSON::Get_valid_block_style_variations() for better performance. (66539)
  • Block Bindings: Use getEntityConfig instead of getPostTypes to get available slugs. (66101)

Build Tooling

  • Fix/compare performance with correct 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".. (66196)

Experiments

  • Add Inline comment experimental flag. (60622)
  • QuickEdit: Add slug field control. (65196)

Data Views

  • Quick Edit: Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error when bulk editing pages. (66358)
  • QuickEdit: Add Featured Image Control. (64496)
  • QuickEdit: Add Parent field. (66527)

Documentation

  • BaseControl: Auto-generate readme. (66500)
  • Components: Prevent generated readmes duplicating h1 elements when published. (66180)
  • Correct documentation on display type in flow layouts. (66224)
  • Docs: Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. – Add documentation for getServerState() and getServerContext(). (66104)
  • Fix undo/redo Button size in Storybook playground. (66538)
  • Fix: JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. Schema Docgen doesn’t work on Windows OS. (66414)
  • ItemGroup: Improve stories to default to bordered and separated. (66191)
  • README: Add Storybook badge. (66529)
  • Remove meetings that no longer occur from Contributor Guide. (66421)
  • Site editor routes: Add documentation for areas and prevent edit area from rendering when canvas is edit. (66309)
  • Update documentation about build process changes. (66428)
  • Docs: Example for getSelectedBlock. (66108)

Code Quality

Block Editor

  • ESLint: Remove explicit react-hooks/exhaustive-deps disabling. (66461)
  • ESLint: Remove various React Compiler mutation violations. (66327)
  • Fix ‘useInstanceId’ hook reference. (66406)
  • Fix React Compiler error for Duotone. (66492)
  • Fix React Complier error for ‘useEventListeners’. (66495)
  • Import only the actually used PostCSS exports. (66379)
  • No need to unlock public actions. (66260)
  • Remove patterns UIUI User interface stylesheet from iframe. (66306)
  • Remove unnecessary Tooltip component from radius control linked button. (66274)
  • Rich Text: Fix React Complier error for ‘useEventListeners’. (66460)
  • Storybook: Add BlockPatternsList story. (66227)
  • Block editor: Remove reusable blocks stylesheet from iframe. (66285)

Components

  • BorderBoxControl: Deprecate 36px default size. (65752)
  • BorderControl: Deprecate 36px default size. (65755)
  • DrodownMenuV2: Rename folder to menu. (66473)
  • ESLint: Stop disabling react-hooks/exhaustive-deps rule. (66324)
  • Fix React Compiler error for ‘useAutocomplete’. (66496)
  • PaletteEdit: Use ItemGroup and Item, and avoid custom styles. (66164)
  • TabPanel: Add 40px size prop to tab Button. (66557)
  • Tabs: Align to standard compound components structure. (66225)
  • Tabs: Simplify styled components code. (66208)

Compose

  • Compose: Fix React Complier error for ‘useCopyToClipboard’. (66444)
  • Composer: Fix React Compiler errors for ‘useDropZone’. (66469)

Dataviews

  • Fields: Fix React Compiler mutation errors. (66464)
  • Fields: Update a few function definitions. (66315)

Interface

  • Interface: Remove duplicate ‘withComplementaryAreaContext’ file. (66348)
  • Interface: Remove unused private API support. (66565)
  • Interface: Use plugin context hook instead of HoC. (66362)

Zoom Out

  • Bundle behavior in block-editor and add story. (66240)
  • Editor: Handle zoom out state via the ‘switchEditorMode’ action. (66262)
  • Fix/html scale code quality. (66181)
  • Make useZoomOut hook private. (66374)
  • Remove double click to exit hook from the block-editor package. (66335)
  • Remove viewport check from useZoomOut hook. (66341)

Post Editor

  • Editor: No need to reset mode when changing device preview types. (66261)
  • Editor: Use plugin context hook in ‘PluginMoreMenuItem’. (66351)
  • Editor: Use plugin context hook in ‘PluginPreviewMenuItem’. (66350)
  • Fix typo after #63669. (66396)
  • Remove leftover JS code from 66451. (66472)

Block Library

  • Cleanup unnecessary notice removal. (66409)
  • ESLint: Fix a couple of React Compiler reassignment errors. (66331)
  • Footnotes: Remove extra callback when parsing content. (66370)
  • Gallery: Fix React Compiler reassignment error. (66408)
  • Table Block: Remove hasArrowIndicator prop. (66204)

Style Book

  • Avoid state/effect combo when generating values. (66446)
  • Fix React Compiler error. (66445)

Global Styles

  • Clean up: Adjust reusable-blocks dependencies. (66302)
  • Fix React Compiler variable mutation error. (66410)
  • Theme JSON: Get_block_nodes – relocate $selectors assignment. (66265)

Interactivity API

  • Interactivity API: Add comments to the deepMerge() function. (66220)
  • Interactivity API: Add tests for handling arrays in deepMerge(). (66218)
  • Interactivity API: Delay block hydration to allow interactive block stores to initialize. ([66772])(https://github.com/WordPress/gutenberg/pull/66772)

Site Editor

  • Prepare route registration by refactoring the site editor router. (66030)
  • Navigation: Improve trigger for fallback navigation. (66478)

Build Tooling

  • Scripts: Refactor to extract license logic. (66179)
  • Plugins: Deprecate ‘withPluginContext’ HOC. (66363)

Tools

Testing

  • Fix [Flaky Test] Entering zoomed out mode zooms the canvas. (66212)
  • Fix end-to-end test for padding appender. (66080)
  • Upgrade Playwright to v1.48. (66296)

Build Tooling

  • Add new private vips package. (64845)
  • Revert “Use npm workspaces for packages”. (66270)
  • Add theme type to the bug report issue template. (63851)
  • Pull request automation: Use full npm install. (66314)
  • Use npm workspaces for packages (second attempt). (66272)

First-time contributors

The following PRs were merged by first-time contributors:

  • @AhmarZaidi: Remove toggle verb from post list data views ‘Toggle details panel’. (66334)
  • @mediaformat: Remove clip & -webkit-clip-path for downloadable-block-list-item style.scss. (66147)
  • @nicolasgalvez: WP Scripts: Add a --root-folder argument to the plugin-zip command. (61375)
  • @poojabhimani12: Add Inline comment experimental flag. (60622)
  • @rinkalpagdar: Border support added to comments. (66354)
  • @rudrakshi-gupta: Add Transformation from Separator to Spacer. (66230)
  • @SH4LIN: GH-66090: Self nesting and circular nesting block fix. (66121)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @AhmarZaidi @akasunil @andrewserong @arthur791004 @carolinan @cbravobernal @ciampo @dhruvang21 @ellatrix @getdave @gigitux @hbhalodia @jameskoster @jeryj @jsnajdr @juanfra @madhusudhand @MaggieCabrera @Mamaduka @mattrwalker @mcsf @mediaformat @michalczaplinski @mirka @mreishus @ndiego @nicolasgalvez @ntsekouras @oandregal @PARTHVATALIYA @peterwilsoncc @poojabhimani12 @prajapatisagar @ramonjd @renatho @rinkalpagdar @rudrakshi-gupta @ryanwelcher @SantosGuillamot @SH4LIN @sirreal @stokesman @swissspidy @t-hamano @talldan @tellthemachines @torounit @troychaplin @tyxla @vipul0425 @Vrishabhsk @vykes-mac @westonruter @youknowriad @zaguiini

Props to @auareyou for visuals assets, @artemiosans, @welcher, @annezazu for peer review.

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