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

What’s new in Gutenberg 19.4? (9 Oct)

“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.4 has been released and is available for download!

This release includes 186 PRs from 54 contributors, and includes several exciting features such as new Write / Design modes and 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. Bindings editor APIs.

New Write / Design modes

The Edit and Select modes are now called Write and Design modes.

In Write mode, you can focus solely on writing, with all layout options hidden from the 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 you want to adjust colors, sizes, create columns, and more, switch to Design mode!

Block Bindings Editor APIs are public

Gutenberg 19.4 and WordPress 6.7 will allow developers to use certain block binding APIs that were previously private and used only in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. A dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. and documentation will be published for the WordPress 6.7 release, but here is an overview:

  • getBlockBindingsSource, getBlockBindingsSources: The first retrieves a specific block binding source and its properties, while the second retrieves a list of all block binding sources.
  • updateBlockBindings: Similar to updateBlockAttributes, this function allows you to create or remove connections between a block and any source.
  • removeAllBlockBindings: Removes all connections from a block to any source.
  • registerBlockBindingsSource, unregisterBlockBindingsSource: Enables registering and unregistering block bindings in the editor. Registering them in the editor allows modification of source fetching and editing.

Other Notable Highlights

There are some improvements too that are worthy to mention like:

  • Comment block components (e.g., author name, date, content, pagination) and Query block components (e.g., no results, pagination, title) will now have previews when hovered over in the inserter panel.
  • Additionally, the BorderBoxControl, BorderControl, and BoxControl components are now considered stable.(65469, 65475, 65586)
  • Also the filters PreSavePost and SavePost are now stable. (64198)

Not to mention all the bugs fixed that you can check in the changelog below.

Changelog

Enhancements

Block Library

  • Added keywords to 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. (65515)
  • Added: DropZone when sitelogo is present. (65596)
  • 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.: Add block example. (65509)
  • Buttons: add box-sizing:Border-box rule. (65716)
  • Comment Author Name: Add block example. (65558)
  • Comment Content: Add block example. (65559)
  • Comment Date: Add block example. (65632)
  • Comment Edit/Reply Links: Add block examples. (65601)
  • Comment Pagination: Add previous and next link block examples. (65633)
  • Comments Pagination Numbers: Add block example. (65635)
  • Comments Title: Add block example. (65557)
  • File block: Allow content only editing. (65787)
  • Navigation block: Use apply_block_hooks_to_content(). (65703)
  • Post Navigation Link: Add block examples. (65552)
  • Query No Results: Add block example. (65555)
  • Query Pagination Numbers: Add block example. (65636)
  • Query Pagination: Add block example. (65556)
  • Query Title: Add block example. (65554)
  • Revert: Time To Read: Add block example. (65510)
  • Table of Contents: Try maintaining block example attributes. (65549)
  • Term Description: Add block example. (65553)
  • Time To Read: Add block example. (65512)

Components

  • Light branding for the reference site. (65764)
  • BorderControl: Use __next40pxDefaultSize prop for Reset button. (65682)
  • Composite: Always await initial render setup in unit tests. (65823)
  • DatePicker: Use compact button size. (65653)
  • Guide: Update finish button to use the new default size. (65680)
  • Navigator: Add support for exit animation. (64777)
  • Remove useEvent from components package. (65388)
  • Simplify MenuGroup component styles. (65561)
  • Storybook: Allow for case-agnostic filtering of icons. (65780)
  • ToggleGroupControl: Improve animation. (65175)
  • Tabs: Tweak sizing and overflow behavior of TabList. (64371)

Zoom Out

  • Add prompt to zoom out separator. (65392)
  • Make sections contentOnly in Zoom Out. (65396)
  • Move the toggle button to before the device preview dropdown. (65446)
  • Only show zoom out inserters on block selection. (65759)

Block Editor

  • Hide block transforms in contentOnly mode for non-content blocks. (65394)
  • Inserter: Always show the list of all patterns in the inserter. (65611)
  • MediaPlaceholder: Use InputControl in URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org popover. (65656)
  • Use proper named File when uploading external images. (65693)

Data Views

  • DataForm – Add combined fields support. (65399)
  • 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. UIUI User interface: Remove popover max height. (65835)
  • Dataviews configuration dropdown: Remove style overrides. (65373)

Post Editor

  • Edit Post: Remove unnecessary effect in InitPatternModal. (65734)
  • Editor: Consistent external media pre-publish image/button sizes. (65668)

Global Styles

  • Editor Canvas: Tweak close button. (65694)
  • Style book: Create static categories. (65430)

Edit Mode

  • Update tools menus with Write / Design order. (65721)

Select Mode

  • Select Mode: Updates to the block toolbar. (65485)
  • Select Mode: Use the content-only behavior in select mode. (65204)

Icons

  • Adds envelope icon. (65638)

Site Editor

  • Global Styles: Remove navigator screen overrides. (65522)
  • Command Palette: “Add new page” within the site editor creates new page in site editor. (65476)
  • Update elevation in the site editor. (65410)

Block bindings

  • Connected blocks, add backdrop-color. (65233)

Extensibility

  • Stabilize the PreSavePost and SavePost filters. (64198)

Base Styles

  • Base styles: Add type tokens. (65418)

Tools

  • Composer: Allow composer/installers 2.x. (65356)

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.

  • Hooks: Add support for async filters and actions. (64204)

New APIs

  • Revert “Make wordpress/fields a private package”. (65477)
  • Stabilise role attribute property. (65484)

Block bindings

  • Open the stable editor APIs. (65713)

Components

  • Navigator: Stabilize and export APIs. (64613)

Bug Fixes

Components

  • Block Editor: Validate options for the ‘HeadingLevelDropdown’ component. (65425)
  • Composite: Fix legacy implementation passing store prop. (65821)
  • Composite: Make items tabbable if active element gets removed. (65720)
  • Navigator: Fix isInitial logic. (65527)
  • Restore accidentally removed entries in changelog (components package). (65804)
  • useToolsPanel: Calculate derived state in reducer to prevent too many renders. (65564)
  • useToolsPanel: Calculate menuItems in layout effect to avoid painting intermediate state. (65494)

Zoom Out

  • Fix focus loss when deleting selected block in zoom out mode. (65761)
  • Handle zoom out when changing device preview. (65444)
  • Hide Zoom Out Inserters when dragging into canvas. (65789)
  • Makes spacing consistent in zoom out vertical toolbar. (63994)
  • Remove one occurrence of the verb Toggle from Zoom out control. (65609)
  • Reset zoom out level when device type is changed. (65652)
  • Resize cover block only in normal mode. (65731)

Block Editor

  • Fix unable to remove empty blocks on merge. (65262)
  • Inserter: Fix Block visibility manager. (65700)
  • Link autocompleter: Decode post title HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities. (65589)
  • Openverse: Prevent multiple insertions during upload. (65719)
  • Paste Handler: Try to fix pasting text with formatting. (63779)
  • Remove user-select:Text. (65662)
  • Editor: Remove edit template menu item from block settings menu in blocks outside template. (65560)
  • Top Toolbar: Show document bar when no block is selected even if block tools are expanded. (65839)
  • Revert “Allow multi-select on iOSiOS The operating system used on iPhones and iPads. Safari/touch devices”. (65414)

Global Styles

  • Avoid errors when a fontSize preset is not available. (65791)
  • Fix: Shadow/Font size preset panel crashes the editor. (65765)
  • Revert “Font Library: Group fonts by source (#63211)”. (65590)
  • Tweak entity save panel button. (65695)

Block bindings

  • Fix editing protected custom fields in block bindings. (65658)
  • Fix showing bindings field values in theme templates. (65639)
  • Only pass context included in usesContext from rich text component. (65618)
  • Use registry instead of select in canUserEditValue. (65659)

Block Library

  • Categories block: Escape label. (65540)
  • Search block: Reset size correctly when clearing unit control. (65468)
  • Social Links: Fix block appender size. (65769)

Site Editor

  • Fix: Makes edit mode selector persistent in top toolbar mode. (65511)
  • Global styles: Do not navigate twice to home screen when opening the sidebar. (65523)
  • Make resizable frame compatible with RTL languages. (65545)
  • Command Palette: Fix “Add new page” command for hybrid theme. (65534)
  • Export useResizeObserver ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native version directly. (65588)
  • Fix useResizeObserver bugs. (65389)
  • Fix aria-checked attribute not set for 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 settings buttons in Options dropdown. (65667)
  • Revert “useToolsPanel: Calculate menuItems in layout effect to avoid painting intermediate state”. (65533)

Focus Mode

  • Limit zoom out toggle to specific post types. (65732)

List View

  • Fix miscolored icons. (65707)

Media

  • Fix output buffering for cross-origin isolation. (65701)

Block Directory

  • Fix downloadable block item alignment. (65677)

Typography

  • Remove additional Typeset screen and surface typesets in the typography panel. (65579)

Widgets Editor

  • Fixed the focus cutoff of the editor buttons in the widgets editor. (65395)

Post Editor

  • Omit 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 on “design” type posts. (64990)

Data Views

  • Fix grid layout padding on small screens. (64878)

Build Tools

  • Babel preset: Add missing pkg files. (65481)
  • Temp disable test for Classic Block Media issue. (65793)

Select Mode

  • Select Mode: Blocks outside the main sections root should be disabled. (65518)
  • Select Mode: Prevent the inbetween inserter from triggering within sections. (65529)

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

  • Make the Settings panel toggle button show its keyboard shortcut in its tooltip. (65322)
  • Resizable Editor: Make the editor resizable with arrow keys. (65546)

Components

  • ToggleGroupControl: Fix arrow key navigation in RTL. (65735)

Zoom Out

  • Don’t show tooltip in zoom out toggle button when showIconLabels is true. (65573)

Block Library

  • Improve the Query Loop block display settings labels. (65524)

Block Editor

  • Updates LayoutTypeSwitcher to use ToggleGroupControl. (65498)

Code Quality

  • 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): Move script module HTML printing to 6.7 compat. (65620)
  • Update to use a11y script module package in Core. (65539)

Site Editor

  • Update icon in home button. (65497)

Performance

Block Library

  • Script Modules: Centralize (re)registration. (65460)

Block Editor

  • Remove editorMode from blockProps. (65326)
  • Move insertionPoint state to block-editor store/rename existing insertionPoint to insertionCue. (65098)

Documentation

  • Block Bindings: Add @since 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.) in bindings apis JSDocs. (65796)
  • Block Editor: Fix README for FontFamilyControl component. (65660)
  • Composite: Add “With Tooltip” storybook example. (65817)
  • DataViews documentation: Add high-level graph explaining DataViews and data sources interaction. (65457)
  • Docs/interactivity api router package readme. (62062)
  • Docs: Remove PHPDocPHPDoc (docblock, inline docs) for non-existing parameter. (65640)
  • Navigator: Fix README heading hierarchy. (65763)
  • Packages documentation: Minor typo corrections. (65664)
  • Plugin: Fix small typo in readme.txt file. (65634)
  • RichText: Fix JSDoc block typos. (65607)
  • SelectControl: Add story for prefix slot. (65730)
  • Update JSDoc block for RichText package to-html-string. (65688)
  • Update block-filters.md. (64959)
  • iAPI: Refactor types and add a “Core Concepts – Using TypeScript” guide. (64577)

Code Quality

Components

  • BorderBoxControl: Promote to stable. (65586)
  • BorderControl: Promote to stable. (65475)
  • BoxControl: Promote to stable. (65469)
  • Cleanup unused ToggleGroupControl configuration values. (65456)
  • Fix useInstanceId hook references. (65733)
  • Navigator: Internal refactor in preparation for stabilization. (65671)
  • Navigator: Mark experimental exports as deprecated. (65802)
  • SearchControl: Fix rest props mutation. (65740)
  • ToggleGroupControl: Clean up animation logic. (65808)

Block Editor

  • Button: Add __next40pxDefaultSize in block-editor 6. (65742)
  • Decouple “zoom/scaling the canvas” from zoom out mode (without mode rename). (65482)
  • Don’t memoize ‘getContentLockingParent’ and ‘getParentSectionBlock’ selectors. (65649)
  • Inserter: Update how we compute the actual insertion point for blocks. (65490)
  • LinkControl: Fix unneeded props prop. (65650)
  • Navigator: Use stable export instead of experimental export. (65753)
  • Button: Add __next40pxDefaultSize in dataviews, reusable-blocks, etc. (65715)
  • Fix: Button Replace remaining 40px default size violations [Block Directory]. (65467)
  • Fix: Button Replace remaining 40px default size violations [Block Editor 2]. (65308)
  • Fix: Button Replace remaining 40px default size violations [Block Editor 3]. (65225)
  • Fix: Button Replace remaining 40px default size violations [Block Editor 5]. (65361)
  • Fix: Button: Replace remaining 40px default size violation [Edit Site 1]. (65226)
  • Fix: Button: Replace remaining 40px default size violation [Edit Site 3]. (65309)

Block bindings

  • Only pass usesContext properties to editor APIs. (65661)
  • Refactor passing select and dispatch instead of full Registry. (65710)
  • Unify logic in getPostMetaFields function. (65462)

Post Editor

  • Customize widgets, edit post: Refactor Button to new sizes. (65807)
  • 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.: Remove unused property isZoomedOutView in useSelect(). (65628)

Block Library

  • Blocks: Don’t memoize ‘hasContentRoleAttribute’ selector. (65617)
  • Blocks: Update ‘__experimentalHasContentRoleAttribute’ deprecation. (65616)

Global Styles

  • Global style 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.: Remove unnecessary goTo navigation call. (65810)

Site Editor

  • Edit Site: Fix useLink prop mutation. (65739)

Data Views

  • Migrate store/actions from editor package to fields package. (65289)

Tools

Testing

  • Block Bindings: Refactor end-to-end tests. (65526)
  • GH Actions: Run the tests against PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 8.3. (65357)
  • Revert “Temp disable test for Classic Block Media issue.”. (65809)

Build Tooling

  • Composer: Prevent a lock file from being created. (65359)
  • Composer: Update minimum required PHPUnit Polyfills. (65355)
  • PHP unit tests: Remove WP_RUN_CORE_TESTS const. (65631)
  • DEWP: Check for magic comments before minification. (65582)
  • DEWP: Handle cyclical module dependencies. (65291)
  • Label enforcer: Add Gutenberg plugin to the list of single required labels. (65253)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @amitraj2203 @anomiex @auareyou @carolinan @cbravobernal @ciampo @crisbusquets @DaniGuardiola @davy440 @dhruvang21 @djcowan @draganescu @ellatrix @getdave @gigitux @hbhalodia @jameskoster @jasmussen @jeryj @jffng @jrfnl @jsnajdr @juanmaguitar @keoshi @kevin940726 @louwie17 @luisherranz @Mamaduka @manzoorwanijk @matiasbenedetto @michalczaplinski @mirka @mtias @noisysocks @oandregal @ockham @PARTHVATALIYA @peterwilsoncc @philwp @priethor @ramonjd @SantosGuillamot @shail-mehta @sirreal @Soean @spadeshoe @stokesman @swissspidy @t-hamano @talldan @tyxla @vcanales @vipul0425 @youknowriad

Props to @joen for visuals assets, @bph and @ndiego for peer-review

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

What’s new in Gutenberg 19.3? (25 September)

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

Gutenberg 19.3 has been released and is available for download!

A total of 174 PRs were merged in Gutenberg 19.3, with 7 first-time contributors! With WordPress 6.7 rapidly approaching, many contributors are focusing on 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. However, this release still includes some great features and enhancements, including stabilizing the Zoom Out mode!

  1. Zoom Out Mode
  2. Swap the position of the publish buttons
  3. Use custom block names in inspector controls
  4. Allow opting out of the “Choose a pattern” modal when adding new pages
  5. Automatic phone number linking
  6. Allow dropping multiple images to the image block
  7. Changelog
  8. First-time contributors
  9. Contributors

Zoom Out Mode

The Zoom Out Mode is officially out of the experiment and is available to all users. This new mode allows users to zoom out to edit and create at the pattern level over granular 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. editing. This effort aims to provide a new, high-level approach to building and interacting with your site. Follow the 6.7 iteration issue for more information.

Swap the position of the publish buttons

A nice user experience improvement to swap the “Cancel” and the “Publish” buttons in the pre-publish check panel. Now, users don’t have to move their cursor unnecessarily when publishing. (#65317)

Use custom block names in inspector controls

Uses the custom name for a block in the block inspector controls when available. (#65398)

Allow opting out of the “Choose a pattern” modal when adding new pages

The “Choose a pattern” modal can be distracting for power users who always want to start with a blank page. A new preference toggle disables the modal when adding new pages. (#65026)

Automatic phone number linking

The link field can now be automatically populated with tel: when the selected text is a phone number. (#64865)

Allow dropping multiple images to the image block

Multiple images can now be dropped on an image block, converting it to a gallery block. In addition, dropping multiple file types will each create an appropriate block. (#65030, #65144)

Changelog

Features

Zoom Out

  • Remove experimental flag. (65404)

Enhancements

  • Create Block: Update the minimum required PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version to 7.2. (65166)
  • DataViews: remove unused .dataviews-view-table__cell-content-wrapper:Empty style rule. (65084)
  • Media Utils: Add TypeScript support and export more utils. (64784)
  • Media placeholders: Add “drag” to the text. (65149)
  • Restore: Move to trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. button in Document settings. (65087)
  • Inspector Controls: Use custom block name in inspector controls when available. (65398)
  • Icons: Adds bell and bell-unread icons. (65324)
  • Editor topbar: Reorder the actions on the right. (65163)
  • Patterns: Add opt out preference to the ‘Choose a Pattern’ modal when adding a page. (65026)
  • Locked Templates: Blocks with contentOnly locking should not be transformable. (64917)
  • Block Locking: Add border to Replace item in content only image toolbar. (64849)
  • DataViews: Improve UXUX User experience of bundled views for Pages. (65295)

Components

  • Styling: Apply elevation scale in components package. (65159)
  • Tabs: Improve Tabs indicator animation and related utils. (64926)
  • Modal
    • Add exit animation. (65203)
    • Decrease close button size. (65131)
  • Navigator Screen: Warn if path doesn’t follow a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org-like scheme. (65231)
  • Card: Update Card radius. (65053)
  • Combobox Control: Add placeholder attribute. (65254)

Block Library

  • Allow dropping multiple images to the image block. (65030)
  • Categories List block: Add dropdown for taxonomies. (65272)
  • Image: Adds the block controls for uploading image. (64320)
  • Remove colons from control labels. (65205)
  • Terms List block: Add Categories-specific variation. (65434)

Zoom Out

  • Add Zoom Out toggle to editor 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. when experiment enabled. (65183)
  • Add prompt for drag and drop in Patterns tab in Zoom Out mode. (65115)
  • Close inserter on exiting Zoom Out to edit. (65194)
  • Show top level sections in List View. (65202)
  • Try vertical displacement when dragging a pattern between existing patterns/sections. (63896)

Block Editor

  • Link Editing: Automatically add tel to phone number when linking URL. (64865)
  • Drag and Drop: When dragging a mix of video, audio, and image blocks, create individual blocks as appropriate. (65144)
  • URLInput: Replace input with InputControl. (65158)
  • Normalize block inspector controls spacing. (64526)

Post Editor

  • Add new Media section to preferences modal. (64846)
  • DocumentBar: Replace icon with post type label. (65170)
  • Page editor: Double-click to edit template part. (65024)
  • Post publish upload media dialog: Handle more block types. (65122)

Block bindings

  • Populate block context with inherited post type from template slug. (65062)
  • Try gap 0 on attribute items. (65277)
  • Use post 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. label from register_meta in block bindings workflows. (65099)

Global Styles

  • Refactor site background controls and move site global styles into Background group. (65304)
  • Spacing control: Replace sides dropdwon with link button. (65193)

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.

  • Refactor context proxies. (64713)
  • Update: Rephrase “Force page reload” and move to Advanced. (65081)

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

  • Global Styles: Allow read access to users with edit_posts capabilities. (65071)
  • 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. / Post template: Enable post format 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.. (64167)

New APIs

  • Add wordpress/fields package.
    • Introduce the package. (65230)
    • Make the package private. (65269)
  • Interactivity API: Add getServerState() and getServerContext(). (65151)

Bug Fixes

  • Align popover alt variant styling with block toolbar. (65263)
  • Compose: Correctly call timer cleanup in ‘useFocusOnMount’. (65184)
  • Fix some docblockdocblock (phpdoc, xref, inline docs) types related to the Template Registration API. (65187)
  • Fix the issue where block spacing control not shown. (65371)
  • Fix unintentional block toolbar shadow. (65182)
  • Fix: Moving a page to the trash on the site editor does not goes back to the pages list. (65119)
  • Fix: Moving the last page item to the the trash causes a crash. (65236)
  • Preferences: Fix back button on mobile. (65141)
  • Post Summary Panel: Restore height:Auto for toggle buttons. (65362)
  • Fix Tabs styling in Font Library modal. (65330)
  • E2E: Change deprecated social icons for standard in end-to-end. (65312)
  • Typography: Make title blocks apply typographic styles consistently. (65307)
  • Target Hints REST API: Add missing param sanitization. (65280)
  • Interactivity API: Update iterable signals when deepMerge() adds new properties. (65135)
  • Navigation Menus: Typography styling support to the navigation submenu block. (65060)
  • Grid: In RTL languages, the resize handles point in the opposite direction. (64995)
  • Block Locking: Fix Content Only Toolbar icon focus style. (64940)
  • Image: Fix resizing to max width in classic themes. (64819)
  • Meta Boxes: Try split content view. (64351)
  • Distraction Free: Fix blurry edge along editor header. (64277)

Block Library

  • Comments Pagination: Fix warning returned by comments pagination blocks. (65435)
  • Cover: Explicitly set isUserOverlayColor to false when media is updated. (65105)
  • Disallow setting grid block rows/columns to zero. (65217)
  • Fix image block crash. (65222)
  • Fix: Buttons block: Block spacing value does not apply to both vertical and horizontal alignment. (64971)
  • Fix: Embed blocks: Figcaption inserted via toolbar not nested within figure element – #64960. (64970)
  • Image cropping: Skip making an API request if there are no changes to apply. (65384)
  • Comments Pagination: Pass the comments query paged arg to functions get_next_comments_link and get_previous_comments_link. (63698)
  • Query Loop
    • Default to querying posts when on singular content. (65067)
    • Remove is_singular() check and fix test. (65483)

Block Editor

  • Inserter: Fix loading indicator for reusable blocks. (64839)
  • Normalize spacing in Layout hook controls. (65132)
  • Pattern Inserter: Fix pattern list overflow. (65192)
  • Remove reset styles RTL from 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.. (65150)
  • Revert “Block Insertion: Clear the insertion point when selecting a different block or clearing block selection (#64048)” (65208)

Components

  • BoxControl: Unify input filed width whether linked or not. (65348)
  • ComboboxControl: Add more unit tests. (65255)
  • Fix: Button Replace remaining 40px default size violations [Edit widgets]. (65367)
  • Tabs: Fix vertical indicator. (65385)

Block bindings

  • Fix empty strings placeholders in post meta bindings. (65089)
  • Remove key fallback in bindings get values and rely on source label. (65517)
  • Fix passing bindings context to canUserEditValue. (65599)
  • Prioritize existing placeholder over bindingsPlaceholder. (65220)
  • Only use canUserEditValue when setValues is defined. (65565)

Zoom Out

  • Force device type to Desktop whenever zoom out is invoked. (64476)
  • Hide toolbar icon on smaller viewports. (65437)
  • Remove zoom out toggle when editor is not iframed. (65452)

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)

  • 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): Add script-module. (65101)
  • Interactivity API: Use a11y Script Module in Gutenberg. (65123)
  • Script Modules API: Print script module live regions HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in page HTML. (65380)
  • DatePicker: Better hover/focus styles. (65117)
  • Form Input: Don’t use flex-direction: Row-reverse for checkbox field. (64232)
  • Navigation Menus: Remove Warning and add notice for Navigation. (63921)
  • Global Styles: Fix the shadows Range control accessibility and usability. (63908)
  • Block Editor: Fix accessibility of the hooked blocks toggles. (63133)

Post Editor

  • Support keyboard resizing of meta boxes pane. (65325)
  • Swap position of the Pre-publish checks buttons. (65317)

Performance

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Batch remaining actions in resolvers. (65176)
  • Block Editor: Use static access for selector in ‘useZoomOutModeExit’. (65337)
  • Editor: Optimize global styles permission check. (65177)

Experiments

  • Block bindings REST API: Bring bindings UIUI User interface in Site Editor. (64072)

Documentation

  • Add JSDoc block for getSectionRootClientId in block editor package. (65219)
  • ButtonGroup: Fix story to show what the component does. (65336)
  • DataViews storybook
    • Better styles for combined fields story. (65078)
    • Enable all layouts for combined fields storybook. (65082)
  • Docs: Fix minor typos in Build your first block tutorial. (64961)
  • Docs: Update the content of the API version 3 section in the Block API Reference. (65375)
  • Fix typo in Slot Fills documentation. (65275)

Code Quality

  • Components: Transition to the new 40px default size.
    • Button:
      • Add __next40pxDefaultSize for files in editor 3. (65139)
      • Add __next40pxDefaultSize for files in editor 4. (65140)
      • Add props for buttons in editor 1. (65068)
      • Add props for buttons in editor 2. (65083)
      • Fix: Replace remaining 40px default size violations [Block Editor 4]. (65257)
      • Fix: Replace remaining 40px default size violation [Block library 3]. (65110)
      • Fix: Replace remaining 40px default size violation [Block library 4]. (65143)
      • Fix: Replace remaining 40px default size violation [Block library]. (65075)
      • Fix: Replace remaining 40px default size violation [Edit Site 2]. (65258)
      • Fix: Replace remaining 40px default size violations [Block library 1]. (65033)
      • Fix: Replace remaining 40px default size violations [Block Editor 1]. (65034)
    • BoxControl
      • Add lint rule for 40px size prop usage. (65341)
    • DimensionsPanel: Apply 40px default size to UI when no spacing preset is available. (65300)
  • Add useEvent and revamped useResizeObserver to @wordpress/compose. (64943)
  • DataViews: Use Dropdown for views configuration dialog. (65314)
  • Platform docs: Upgrade dependencies. (65445)
  • Rename edit-post__fade-in-animation and unify keyframe definitions. (65377)
  • Update minimum required version in PHP. (65301)
  • 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 BlockManager. (65349)
  • Data Views Fields: Migrate store and actions from editor package to fields package. (65261)
  • 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: Remove ‘function_exists’ checks for methods with ‘gutenberg’ prefix. (65260)
  • Global Styles: Update REST controller override method and 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. changes from Core. (65259)
  • Patterns: Remove unused method returned from ‘mapSelect’. (65073)
  • Embed: Convert EmbedPreview component to functional component. (51325)

Components

  • BoxControl: Fix critical error when null value is passed. (65287)
  • Composite:
    • Deprecate legacy, unstable version. (63572)
    • Remove store prop and useCompositeStore hook. (64723)
    • Stabilize APIs. (63569)
  • @wordpress/components: Add local copy of use-lilius. (65097)

Block bindings

  • Always prioritize using context in post meta source logic. (65449)
  • Improve getRegisteredPostMeta resolver. (65450)
  • Remove extra filtering of empty sources. (65447)

Block Editor

  • Remove the ‘PrivateInserter’ component. (65111)
  • Use the tooltip from a button in ‘ButtonBlockAppender’. (65113)
  • Remove unused css selectors. (65276)

Tools

  • Scripts: Update stylelint dependency and the default configuration. (64828)
  • Styleling config: Fix stylelint configuration missing files for npm. (65313)

Build Tooling

  • Build Plugin: Simplify and improve zip contents. (65232)
  • Build zip artifact on release and wp production branches. (65471)
  • Build: Include Core blocks’ render and variations files. (63311)
  • Script Modules
    • Prepare build for more script modules. (65064)
    • Remove babel from script-modules build. (65279)
    • Remove es-module shims and importmap-polyfill. (65210)
  • Correctly generate PHP files for server-side rendering of blocks on Windows OS. (