What is new in Gutenberg 19.2 (11 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.2 has been released and is available for download!

The latest Gutenberg release introduces several key updates. Among them is 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. Bindings UIUI User interface, which restricts creation and modification to adminadmin (and super admin) users by default but, most importantly, removes the experimental flag from the feature. This version also enhances Zoom Out mode, allowing for more straightforward navigation, includes an experimental feature for client-side media processing, and adds Preview Options extensibility via the 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 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.. Alongside these highlights, users will find improvements in data views and refinements to the overall editing experience.

Block Bindings UI out of experimental phase.

In Gutenberg 19.2, the Block Bindings UI has moved out of its experimental phase, marking a significant milestone. Removing the experimental flag means this feature is now integrated into the editor, offering a stable way to connect block attributes to external data sources. By default, only admin users can create and modify these bindings, providing an additional layer of control and security.

Preview Options extensibility via the Plugin API

With this release, the Preview Options have gained new extensibility, making it easier for developers to customize how content is previewed within the block editor. The extensibility feature allows plugins and themes to introduce their own options into the preview dropdown. This provides greater flexibility for users who need to see content in various formats or environments, improving the editing experience.

Other Notable Highlights

  • New Experiment: Client-side Media Processing: Introduces an experimental feature for processing media client-side, reducing server load and enhancing performance. (#64650)
  • Zoom Out Mode Enhancements: Adds an “Edit” button to the toolbar and allows users to exit Zoom Out mode by double-clicking blocks. The “Shuffle” block toolbar button has also been removed. (#64571, #64573, #64954)
  • Content Only Mode: Adds support for block styles on top-level content-only locked blocks and displays block icons in the toolbar. (#64872, #64694)

Changelog

Enhancements

  • Add: Reorder control at the field level on the new view configuration UI. (64381)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data Types: recordId can be a number. (64796)
  • Core Data: Derive collection totals for unbound queries. (64772)
  • Create Block: Set minimum supported WordPress version to 6.6. (64920)
  • Dataviews 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. search 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.: Do not use Composite store. (64985)
  • Dataviews list view: Do not use Composite store. (64987)
  • Move bulk actions menu to the Footer, consolidate with floating toolbar and total items display. (64268)
  • Try: Update block warnings. (64997)

Components

  • Add variants to InputControl prefix/suffix wrappers. (64824)
  • AlignmentMatrixControl: Do not use Composite store. (64850)
  • CircularOptionPicker: Stop using composite store. (64833)
  • Composite: Accept store props on top level component. (64832)
  • DataViews: Adds two new stories for edge cases. (64975)
  • Decrease standard padding to 12px. (64708)
  • DropdownMenuV2: Add GroupLabel subcomponent. (64854)
  • DropdownMenuV2: Update animation. (64868)
  • DropdownMenuV2: Use overloaded naming conventions. (64654)
  • InputControl: Tighten gap between input and prefix/suffix. (64908)
  • Navigator: Polish Storybook examples. (64798)
  • Navigator: Remove location history, simplify internal logic. (64675)
  • UnitControl: Update unit select styles. (64712)
  • Update hard-coded border-radius instances. (64693)
  • Update modal animation. (64580)

Block bindings

  • Add warning in attributes connected to 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. sources. (65002)
  • Allow only admin users to create and modify bindings by default. (64570)
  • Lock editing in fields in editor if 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. fields panel is opened. (64738)
  • Rely on Text component instead of Truncate in bindings panel. (65007)
  • Remove getPlaceholder API and rely on key argument or source label. (64910)

Data Views

  • Add: Reorder control at the field level on the new view configuration UI. (64381)
  • Dataviews Filter search widget: Do not use Composite store. (64985)
  • Dataviews list view: Do not use Composite store. (64987)
  • Move bulk actions menu to the Footer, consolidate with floating toolbar and total items display. (64268)

Block Editor

  • Add ‘Reset’ option to MediaReplaceFlow component. (64826)
  • Block Patterns List: Do not use Composite store. (64983)
  • Remove the Shuffle block toolbar button. (64954)
  • Show block icon in contentOnly toolbar. (64694)

Block Library

  • Cover Block: Move Clear Media button from Inspector Controls to Block Controls. (64630)
  • Improve Social Icons setup and appending. (64877)
  • Pagination Block: Fix inconsistent margins between editor and frontend. (64874)
  • Tag Cloud: Improve state of block with no tags. (63774)

Block Locking

  • ContentOnly: Add support for block styles on top-level contentOnly locked blocks. (64872)
  • Only show title in content only toolbar if has title value. (64840)
  • Remove ability to crop image if content only mode. (64838)
  • Rename Alt to Alternative Text in content only image toolbar. (64841)

Interactivity API

  • Categories Block: Add iAPI directive for client-side routing. (64907)
  • Improve internal deepMerge function. (64879)

Global Styles

  • Hide typeset button when there are no typesets available. (64515)
  • Use four color palette colors instead of five for useStylesPreviewColors. (64700)

Zoom Out

  • Add “Edit” button to Zoom Out mode toolbar. (64571)
  • Double click block to exit zoom out mode. (64573)

Design Tools

  • Comment Edit Link: Add Border Block Support. (64239)
  • Comment Reply Link: Add border support. (64271)

Icons

  • Add thumbs up and down icons. (65004)

Site Editor

  • Apply radius scale in the editor. (64930)

Post Editor

  • Post publish upload media dialog: Handle upload errors. (64823)

Typography

  • Fluid typography: Allow individual preset overrides. (64790)

Media

  • Add experiment for client-side media processing. (64650)

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

  • Core Data: Resolve entity collection user permissions. (64504)

Block Transforms

  • Details block: Add transform from any block type. (63422)

New APIs

Extensibility

  • Editor: Add extensibility to PreviewOptions v2. (64644)

Bug Fixes

  • Add safeguard to mediaUploadMiddleware. (64843)
  • Allow multi-select on iOSiOS The operating system used on iPhones and iPads. Safari/touch devices. (63671)
  • Core Data: Fix the ‘query._fields’ property check inside ‘getEntityRecord’ resolver. (65079)
  • Fix Modify content-locked menu item not showing if the block is not selected. (61605)
  • Fix editor error in Safari due to availability of checkVisibility method. (65069)
  • Fix: Pagination arrows are pointing in the wrong direction in RTL languages. (64962)
  • Footnotes: Only replace attribute if footnotes were detected. (63935)
  • Paste: Fix image paste from Google Forms. (64502)
  • Revert Focus pattern inserter search when activating zoom out inserter. (64748)
  • Try: Update block warnings. (64997)

Block Library

  • De-duplicate block toolbar icons for patterns. (65054)
  • Fix: Page list: Pages without a title has no link text. (64297)
  • Position BlockToolbar below all of the selected block’s descendants. (62711)
  • Site Logo Block: Fix non-admin users seeing zero character. (65010)
  • Site Logo: Fix loader alignment issue. (64919)
  • Template Part: Hide Advanced panel for non-admin users. (64721)
  • Video Block: Fix layout issue. (64834)

Components

  • ColorPalette utils: Do not normalize undefined color values. (64969)
  • DatePicker: Restore round radius for event dot. (65031)
  • DropdownMenuV2: Fix active and focus-visible item glitches. (64942)
  • DropdownMenuV2: Remove flashing styles when moving focus with keyboard. (64873)
  • Fixes “delete” action in DataViews’ storybook. (64901)
  • Navigator: Fix isInitial, refine focusSelector logic. (64786)
  • Range control: Restore bottom margin rule. (65035)

Post Editor

  • Add back editor-post-locked-modal to post lock component. (64257)
  • Add context to View string in post actions. (65046)
  • Apply space below content using a pseudo-element instead of padding-bottom. (64639)
  • Post Title: Fix pasting in Safari. (64671)
  • Post Title: Move selection at the end after pasting over the text. (64665)
  • Post publish upload media dialog: Fix silent failure. (64741)

Data Views

  • DataViews: Fix field reordering and visibility logic. (64999)
  • Fix actions scrim in list layout. (64696)
  • Fix data views style inheritance. (64933)
  • Fix: Impossible to see pagination on viewports between small and medium. (64844)
  • List layout: Update broken styles. (64837)

Block Editor

  • Add conditions when the Shuffle button can be displayed. (64888)
  • Inserter: Fix subtle media insertion error. (65057)
  • Post Editor: Fix click space after post content to append. (64992)
  • Writing flow: Fix triple click inside text blocks. (64928)

Global Styles

  • Adjust spacing of background panel. (64880)
  • Cast globalFluid value to boolean. (64882)
  • Fix site editor broken when fontWeight is not defined or is an integer 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. or theme styles. (64953)
  • Fixes the default fluid value on the UI based on the global typography fluid value. (64803)

Block bindings

  • Change placeholder when attribute is bound. (64903)
  • Fix empty custom fields not being editable in bindings. (64881)

CSSCSS Cascading Style Sheets. & Styling

  • 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. Block: Reduce CSS specificity. (64463)
  • Retain the same specificity for non iframed selectors. (64534)

Patterns

  • Pass ‘blocks’ as inner blocks value. (65029)

Synced Patterns

  • Pattern: Don’t render block controls when an entity is missing. (65028)

Site Editor

  • DataViews: Fix pattern title direction in RTL languages. (64967)

Typography

  • Site Title, Post Title: Fix typography for blocks with a children. (64911)

NUX

  • Fix visibility of the template Welcome Guide in the Site Editor. (64789)

Document Settings

  • Fix: Adjust Site URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Styles to Prevent Overflow in Pre-Publish Component. (64745)

Zoom Out

  • Focus selected block in editor canvas when clicking edit button on zoom out mode toolbar. (64725)

Templates API

  • Make plugin-registered templates overriden by themes to fall back to plugin-registered title and description. (64610)

Block Style Variations

  • Block Styles: Ensure unique classname generation for variations. (64511)

Distraction Free

  • Make Distraction Free not conditional on viewport width. (63949)

Media

  • Limit the max width of image to its container size. (63341)

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)

Components

  • AlignmentMatrixControl: Simplify styles and markup. (64827)
  • TimePicker: Use ToggleGroupControl for AM/PM toggle. (64800)

Block Editor

  • Layout content and wide width controls: Remove confusing icon and clarify labels. (64891)

Font Library

  • Font Library Modal: Group font variations as a list. (64029)

Post Editor

  • Fix the post summary Status toggle button accessibility. (63988)

Performance

  • Core Data: Avoid loops in ‘registry.batch’ calls. (64955)
  • Core data: Performance: Fix receive user permissions. (64894)
  • Reusable blocks: Fix performance of __experimentalGetAllowedPatterns. (64871)

Site Editor

  • Add ‘OPTIONS /page’ to preloaded paths. (64890)
  • Editor: Don’t use selector shortcuts for the Site data. (64884)

Interactivity API

  • Prevent calling proxifyContext with context proxies inside wp-context. (65090)

Block Library

  • Media & Text: Don’t use background-image. (64981)

Post Editor

  • Editor: Remove create template permission check in ‘VisualEditor’. (64905)

Block Editor

  • Inserter: Use lighter grammar parse to check allowed status. (64902)

Patterns

  • Shuffle: Don’t call ‘__experimentalGetAllowedPatterns’ for every block. (64736)

Experiments

Zoom Out

  • Add new zoom out experiment. (65048)
  • Remove the experiment that connects zoom out to the pattern inserter. (65045)

Documentation

  • Add a new section to the SlotFill reference to show how to conditionally render Fills. (64807)
  • Added Global Documentation in several php file. (64956)
  • Components: Move displayName assignment to top-level files. (64793)
  • Composite: Add context-forwarding with SlotFill example. (65051)
  • Composite: Fix Storybook docgen. (64682)
  • Corrected HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Syntax for Closing Tags in api-reference.md file. (64778)
  • DataViews docs: Fix typo in direction values. (64973)
  • DataViews: Add story about combining fields. (64984)
  • DataViews: Document combined fields. (64904)
  • Dataviews docs: Layout properties checks and link. (64918)
  • Docs/iAPI: Fix wrong code snippets in API reference. (64416)
  • Docs: Update design resources to indicate edit isn’t free. (64792)
  • PluginSidebarMoreMenuItem: Update example, screenshot and description. (64761)
  • Provide better examples and remove outdating site edit references for the MainDashboardButton SlotFill. (64753)
  • Removing ryanwelcher as a documentation codeowner because my inbox is dead. (64762)
  • Storybook: Hide deprecated __next36pxDefaultSize prop. (64806)
  • Update screenshot and description for PluginSidebar slot. (64759)
  • Update text to match code examples. (64751)
  • Update the import for PluginBlockSettingsMenuItem. (64758)
  • Updated Several Typos in Doc files. (64787)
  • [Docs]: Update Usage Example for block variation picker: Fix Import from Wrong Package. (55555)

Code Quality

  • Button: Add lint rule for 40px size prop usage. (64835)
  • Dataviews filter: Move resetValueOnSelect prop to combobox item. (64852)
  • Rename refs to fix tons of ‘Mutating a value’ errors in 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. (64718)
  • Rich text: Add comment on placeholder approach. (64945)
  • SelectControl: Fix remaining 40px size violations. (64831)
  • Simplify useResizeObserver. (64820)
  • Typography: 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. comment changes only. (64859)
  • UnitControl: Add lint rule for 40px size prop usage. (64520)
  • UnitControl: Move to stricter lint rule for 40px size adherence. (65017)
  • Use rectIntersect instead of a custom argument to rectUnion. (64855)

Site Editor

  • Add Custom Template modal: Do not use Composite store. (65044)
  • Add units to avoid console warning. (64810)
  • Edit Site Layout: Remove redundant fullResizer. (64821)
  • Remove unused ‘useSiteEditorSettings’ hook. (64892)
  • Style Book: Do not use Composite store. (65047)

Block Editor

  • Block Inserter Listbox: Do not use Composite store. (65042)
  • Block Inserter Media List: Do not use Composite store. (65043)
  • Block Pattern Setup: Do not use Composite store. (65039)
  • Global Styles Shadow Panel: Do not use Composite store. (65041)
  • Pattern Transformations Menu: Do not use Composite store. (65040)

Zoom Out

  • Add selector for getting section root clientId. (65001)
  • Don’t pass ‘rootClientId’ to block lock selectors. (64887)
  • Fix error and improve privacy of sectionRootClientId setting. (65000)

Components

  • AlignmentMatrixControl: Promote to stable. (60913)
  • Deprecate DimensionControl. (64951)

Block Library

  • Block Bindings: Fix ESLint warnings. (64684)
  • Video Block: Remove custom CSS code for placeholder style. (64861)

Global Styles

  • Allow referenced zero value and simplify getValueFromObjectPath calls. (64836)
  • Navigator: Replace deprecated NavigatorToParentButton with NavigatorBackButton. (64775)

Block Directory

  • Downloadable Block List: Do not use composite store. (65038)

Design Tools

  • Color panel hook: Rename to remove ambiguity. (64993)

Tools

  • Add remaining 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. rules to recommended ESLint ruleset. (64710)
  • Scripts: Added chunk filename in webpack configuration to avoid reading stale files. (58176)
  • Scripts: Import CSS files before optimization. (61121)
  • Scripts: Update puppeteer-core dependency. (64597)

Testing

  • Flaky Test: Fix “Sorting” test in new-templates-list.spec.js. (64776)
  • Revert “Downgrade node 22(.5) unit tests to 22.4 (#63728)”. (63758)

Various

  • Dataviews docs: Fixed property name for defaultLayouts settings. (64897)
  • task: Remove dcalhoun code owner. (64886)

First-time contributors

The following PRs were merged by first-time contributors:

  • @Imran92: Fix site editor broken when fontWeight is not defined or is an integer in theme.json or theme styles. (64953)
  • @jacobcassidy: Scripts: Update puppeteer-core dependency. (64597)
  • @jawadmalikdev: [Docs]: Update Usage Example for block variation picker: Fix Import from Wrong Package. (55555)
  • @lezama: Editor: Add extensibility to PreviewOptions v2. (64644)
  • @rithik56: Scripts: Added chunk filename in webpack configuration to avoid reading stale files. (58176)
  • @rohitmathur-7: Cover Block: Move Clear Media button from Inspector Controls to Block Controls. (64630)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @akasunil @Aljullu @andrewserong @atachibana @benoitchantre @carolinan @cbravobernal @ciampo @DAreRodz @dcalhoun @desrosj @dsas @ellatrix @fullofcaffeine @getdave @gziolo @Imran92 @imrraaj @jacobcassidy @jameskoster @jasmussen @jawadmalikdev @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @lezama @Mamaduka @matiasbenedetto @mirka @noisysocks @ntsekouras @oandregal @ockham @rafaelgallani @ramonjd @richtabor @rithik56 @rohitmathur-7 @ryanwelcher @SantosGuillamot @scruffian @sgomes @shail-mehta @spacedmonkey @stokesman @swissspidy @t-hamano @talldan @tjcafferkey @tyxla

Props to @annezazu, @priethor, @joen, @cbravobernal for their help with the release!

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