What’s new in Gutenberg 17.7? (14th February)

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

Gutenberg 17.7 has been released and is available for download!

This cycle is packed with enhancements and 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 ahead of the next WordPress 6.5 release. Multiple performance improvements, refinement of the Link Control UIUI User interface, Shadow support for the columns, and image blocks are good examples of what this new Gutenberg release is bringing.

Table of contents

Shadow support for more blocks

The effects panel is now available for the Columns, Column, and Image blocks, allowing users to add shadow effects to them. 

Now, users can effortlessly apply shadow effects to these blocks, building upon the functionality previously exclusive to the Button 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.. This opens up new creative possibilities, empowering designers to improve their layouts directly from the Editor. (57982)

Data views enhancements 

This release marks the continuation of the Dataviews project, which will become a part of WordPress 6.5 for managing patterns and templates. 

The release has introduced the ability to select multiple items on the grid view and execute bulk actions such as reverting user templates or deleting user-created patterns and templates. Together with filters, it makes it possible to quickly revert all user template changes or delete all user-created patterns. 

Additionally, a new primary filter API has been included, allowing main filters to be visible at all times in the UI. This makes it easy to switch between viewing and managing sync or unsync patterns.

This release includes a few enhancements to the Link Control UI. A notable addition to the interface allows the user to insert a new block instead of a link from the context of the Navigation block. Combined with the fixes from #55551, the Navigation block now will work to allow the insertion of third-party blocks, opening a new range of possibilities (57756, 57986, 58744)

Making Font Library ready for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

The Font Library had some important changes under the hood to prepare for its journey into WordPress Core, including security improvements and standardizing some of the code structure. Some important (and ongoing) 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) improvements came to the Font Library Management UI in the Site Editor.

Other Notable Highlights

  • A proposal has been put forward to include Core blocks in the directory developed within the Gutenberg repository for convenience. Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. would maintain the blocks but would be standalone instead of bundled with the block library. Please contribute to the discussion in the open issue.
  • Drag and Drop has been improved, allowing dragging from the block inserter into template parts (and within) and allowing dragging from the desktop to template parts (58589, 58423)
  • This release also comes packed with a bunch of performance improvements (58356, 58349, 58556, 58372, 58244, 57232, 58575, 58348, 58513, 58245, 58734, 58146, 58355, 58393, 58405, 58354)

Changelog

Full changelog available

Enhancements

  • Improve translators comments for wp.date.setSettings in compat file. (58488)
  • Interactive Template: Use viewScriptModule. (58211)

Components

  • Adding constrainTabbing prop to useDialog hook. (57962)
  • Allow limiting the number of maximum visible Snackbars. (58559)
  • ConfirmDialog: Add __next40pxDefaultSize to buttons. (58421)
  • Expand theming support in COLORS. (58097)
  • FocalPointPicker: Apply modern styling. (58459)
  • Implement Tabs 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 settings. (57886)
  • Implement Tabs in site-editor settings. (56959)
  • Implementing useCompositeState with Ariakit. (57304)
  • InputBase: Add isBorderless prop. (58750)
  • Replace TabPanel with Tabs in the editor Document Overview 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.. (57082)
  • SearchControl: Refactor to use InputControl internally. (56524)
  • Show borders for disabled secondary buttons. (58606)

Data Views

  • Add outline to template preview in table layout. (58738)
  • Add: Delete bulk action to patterns. (58747)
  • Add: Selection and bulk actions to grid view. (58144)
  • DataViews: Add primary 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. 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.. (58427)
  • DataViews: In patterns page, show sync status filter by default. (58367)
  • DataViews: Redesign of filters. (58569)
  • Remove min-width style on table cells. (58204)
  • Update ‘Rows per page’ view option label to account for Grid layout. (58457)
  • Update dataviews search input placeholder. (58742)
  • Update spacing around title in grid layout. (58739)

Interactivity API

  • Add block supports for clientNavigation and interactive properties on block.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. (58132)
  • Image block: Refactor and remove data-wp-body. (58835)
  • Interactivity Router: Fix initial page cache. (58496)
  • Interactivity Router: Move ARIA live region and loading bar to the Interactivity Router. (58377)
  • Limit the exported APIs. (58864)
  • Mark all core block stores as private. (58722)
  • Server Directive Processor for data-wp-each. (58498)
  • Support setting a namespace using a string in data-wp-interactive. (58743)
  • Allow global configs for namespaces. (58749)

Block Library

  • Follow up on the Post navigation link taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. filters. (57949)
  • Home Link: Render Home text if there is no attribute label present. (58387)
  • Organize gallery controls. (58407)
  • Pattern: Use the ‘__experimentalLabel’ method to get a title. (58646)
  • Social Icons: Update Patreon icon. (56951)
  • Try: Disable text selection for post content placeholder block. (58169)
  • Update pattern block copy in light of pattern overrides. (58231)
  • Add shadow support for column, columns and image. (57982)

Global Styles

  • Add style engine support for nested at-rules. (58867)
  • Move Shadow controls to Border panel. (58466)
  • Shadow: Update shadow support to allow explicit skipping of serialization. (58306)
  • Try: Remove shadow preset overflow. (58663)
  • Update return values from getGlobalStylesChanges(). (58707)
  • Add support for transform and letter spacing controls in Global Styles > Typography > Elements. (58142)

Block Editor

  • Drag and drop: Allow dragging from inserter or desktop to template parts. (58589)
  • Drag and drop: Allow dropping within template parts. (58423)
  • Implement “Add block” UI for Nav block Link UI. (57756)
  • Implementing new UXUX User experience for invoking rich text Link UI. (57986)
  • Remove open in new tab from link preview. (58744)
  • Use consistent labels, remove additional settings, and copySmall icon LinkControl. (58183)

Site Editor

  • Apply 40px across summary panel. (58730)
  • Apply custom scroll style to fixed 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. block toolbar. (57444)
  • Improve SiteIcon display and transition. (58472)
  • Only show ‘Back’ button when user came from an editor canvas. (58710)
  • Update “focus mode” to consistently use the Document Bar’s Back button. (58528)

Patterns

  • Add a confirmation dialog when a user tries to delete a synced pattern with overrides. (58796)
  • Add the block name to the pattern content data. (58715)
  • Flash editable block outlines instead of always showing them. (58159)

Design Tools

  • Background image support: Add background position controls. (58592)
  • Tweak metrics and labels for background size controls. (58854)

Post Editor

  • Editor: Limit visible Snackbars from the consumers. (58598)
  • Save entities panel: Update styles. (58706)

Font Library

  • Add sanitize from schema util. (58571)
  • Font Collections: Update registration function signature and add caching. (58363)
  • Font Library: Show ‘Add fonts’ button when there are no fonts installed. (58580)

Inspector Controls

  • Tweak FocalPointPicker inspector controls. (58448)
  • Tweak Media & Text inspector controls. (58447)

Custom Fields

  • Block Bindings: Ensure to pass bound attributes. (58844)

Commands

  • Try debouncing search for post-type navigation. (58810)

Document Settings

  • Tweak 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. panel for improved scanning. (58751)

Synced Patterns

  • Support button’s link settings for Pattern Overrides. (58587)

Block API

  • 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.: Set ignoredHookedBlocks metada attr upon insertion. (58553)

List View

  • Add keyboard clipboard events for cut, copy, paste. (57838)

New APIs

Block API

  • Blocks: Add handling for block.json viewScriptModule. (58731)

Bug Fixes

  • Core data: useEntityBlockEditor: Fix parsed blocks cache. (58841)
  • Footnotes: Fix anchor order replacing. (58791)

Block Editor

  • Block Switcher: Use consistent labels. (58240)
  • Don’t move focus within the toolbar if it is already focused. (58570)
  • Don’t show Link preview when no selection. (58771)
  • Fix Link UI popover anchor in rich text. (58282)
  • Fix empty link preview after creating link from empty selection. (58863)
  • Hide the ‘Content’ panel for locked blocks when there’s no content. (58259)
  • ImageURLInputUI: Fix focus loss when settings are changed. (58647)
  • Link UI: Polish lightbox pieces. (58666)
  • Media Replace Flow: Vertically align the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (58621)
  • MediaReplaceFlow: Restore popover width. (58597)
  • Rich Text: Only apply focus to elements, not selection. (58745)
  • Rich text: Preserve white space should strip \r. (58805)
  • Settings may be undefined. (58658)
  • useOnBlockDrop: Fix the Gallery block check. (58711)

Components

  • Add a timezone offset value for display purposes. (56682)
  • Fix Placeholder component padding when body text font size is changed. (58323)
  • Fix URLPopover preview overflow. (58741)
  • Fix the Snackbar auto-dismissal timers. (58604)
  • Popover: Add box-sizing reset style. (58871)
  • Set post editor sidebar tabs to manual activation. (58041)
  • Tabs: Delay activeId updates until focus can be properly detected. (58625)
  • Tabs: Fix infinite 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. in useEffect. (58861)
  • Tabs: Improve Controlled Mode Focus Handling. (57696)
  • Try: Fix lightbox URL popover position. (58600)

Block Library

  • Fix #54352 prevents php 8.1 fatal when template parts are not found in non-debug environments. (54354)
  • Fix Query pagination not working in template parts and patterns. (58602)
  • Fix URL escaping for array parameters in Navigation links. (58068)
  • Fix missing data in email submissions. (55691)
  • Fix: Removing footnotes from the allowed blocks does not remove footnotes. (58855)
  • Navigation Link: Use get_block_type_variations to register variations. (58389)
  • Prevent usage of gutenberg_url in block-library. (58242)
  • Template Part: Reflect name updates without saving changes. (58644)
  • Try: Make gallery randomization work when nested. (58733)

Data Views

  • DataViews: Fix applied default layout props. (58400)
  • DataViews: Fix nested buttons and placeholder text in list layout. (58304)
  • DataViews: Fix some small issues with 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.. (58371)
  • DataViews: Make it possible to toggle Author field in templates and template parts. (58609)
  • DataViews: Remove test artifact (status filter was set as primary). (58682)
  • DataViews: Use chips for filter summary. (58816)
  • Fix double scrollbar in grid layout. (58536)
  • Fix: Dataviews selection on patterns grid view. (58726)

Site Editor

  • Add context for the All translatable string and enforce l10nL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales. best practices. (58196)
  • Break long URL in page sidebar. (58763)
  • Editor: Fix block context defined for template parts. (58807)
  • Fix line-height in block card. (58246)
  • Hide export button if non-block-based theme. (58346)
  • Mobile site editor header toolbar button bugfix. (58852)

Post Editor

  • Editor: Don’t hide authors’ Combobox if the current author is missing. (58719)
  • Fix permalink input field text overflow ellipsis for Firefox. (57310)
  • Fix the position and size of the Options menu,. (57515)
  • Fix: Use old template panel if user doesn’t have access to view templates. (58485)
  • Template editing: Update fullscreen WP back functionality. (58534)

Interactivity API

  • Add supports.interactivity to the Query block. (58316)
  • Fix state intialization for asynchronous private stores. (58754)
  • Remove non-default suffix data wp context processing. (58664)
  • Use compat versions of HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. APIs. (58846)

Global Styles

  • Block Styles: Fix block style variation selector generation. (58051)
  • Fix Global styles text settings bleeding into placeholder component. (58303)
  • Global styles revisions: Fix is-selected rules from affecting other areas of the editor. (58228)
  • Site Editor: Prevent classic theme from accessing global style menu. (58345)

List View

  • Fix error when switching between template preview modes. (58533)
  • Navigation Submenu Block: Make block name affect list view. (58296)
  • Template Part: Fix site editor error when loading with list view set to always display. (58868)

Font Library

  • Avoid mutating fontface data. (58473)
  • Avoid running init functions when font library is available in core. (58793)
  • Fix size of demo text. (58849)

Typography

  • Fix font library modal dialog translatable strings. (58256)
  • Font Library: Change referenced tab name on Google Fonts confirmation dialog. (58584)
  • Font size: Allow for custom font size handling. (58422)

Script Modules API

  • Add import map polyfill. (58263)
  • Import Maps: Only emit CDATA wrappers for inline scripts for JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.. (58818)

Extensibility

  • Fix broken list markup in navigation block when 3rd party blocks are used as decendants of navigation block. (55551)
  • Navigation block: Check Block Hooks API callback hasn’t already been added. (58772)

Synced Patterns

  • Disable overriding links of images inside pattern instances. (58660)
  • Fix nested pattern overrides and disable editing inner pattern. (58541)

Inspector Controls

  • Add missing PanelBody title for the columns block inspector. (58452)
  • Add spacing between input controls with custom values. (58410)

Custom Fields

  • Block Bindings: Update bindings registry with latest changes. (58843)

History

  • Columns: Batch vertical alignment updates. (58801)

Document Settings

  • Editor: Ensure the current author is included in the dropdown. (58716)

Rich Text

  • Add aria-readonly attribute to Rich Text component. (58687)

Navigation Menus

  • Navigation: Update the fallback block list to avoid a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Warning. (58588)

Patterns

  • Update the bindings attribs of blocks added during experimental phase. (58483)

Distraction Free

  • Add default restoration of UI when exiting distraction free mode. (58455)

Accessibility

  • Escape as Select/Edit mode Toggle. (58637)
  • Global styles revisions: Update text color contrast. (58340)

Components

  • CustomSelect: Disable virtualFocus to fix issue for screenreaders. (58585)
  • Font Library modal: Try to improve checkbox labelling. (58339)
  • PaletteEdit: Fix palette item accessibility. (58214)

Font Library

  • Buttons position and accessibility. (58212)
  • Fix focus loss when update/install button is pressed. (58364)
  • Removed and elements from Font Library Modal. (58221)

Block Library

  • Fix image link preset suggestions arrow key navigation. (58615)

CSSCSS Cascading Style Sheets. & Styling

  • Font Library: Fix font preview vertical alignment and respect reduce motion preference. (58451)

Widgets Editor

  • Widget Editor: Don’t disable the Save button. (58365)

Typography

  • Fix fonts modal dialog buttons accessibility. (58309)

Commands

  • Fix labeling of the command palette. (56718)

Performance

  • Block editor: Optimise getGlobalBlockCount/getClientIdsWithDescendants. (58356)
  • Block editor: Prevent isSubtreeDisabled call if not needed. (58349)
  • Block editor: Reduce appender sync! subscriptions. (58556)
  • Block editor: selectors: Avoid has() or double get() on Maps. (58372)
  • Block preview: Prevent recalculating editor styles if additional styles is empty. (58244)
  • Image block: Remove a block editor store sub. (57232)
  • Inner blocks: Don’t re-render list when controlled blocks change. (58575)
  • InnerBlocks: Fix continuous re-rendering on inner blocks change. (58348)
  • Navigation: Fix performance 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.. (58513)
  • Post template: Don’t fetch taxonomies if not needed. (58245)
  • Site editor: Add pattern/template load performance test with TT4. (58734)
  • Site editor: Avoid double post content parse (alternative). (58146)
  • Unmemoize Block component selectors. (58355)
  • core-data: Memoize getEntitiesConfig selector. (58393)
  • getBlockSettings: Avoid memoized selector with clientId. (58405)
  • useSettings: Extract selector. (58354)

Font Library

  • Font Collections: Lazy load json configuration for better performance. (58530)

List View

  • Unmemo recursive getEnabledClientIdsTree. (58525)

Block Editor

  • Optimize the ‘useBlockDisplayTitle’ hook. (58250)

Interactivity API

  • Break up long hydration task in interactivity init. (58227)

Experiments

Data Views

  • Update styling details in list item layout. (58397)

Synced Patterns

  • Add a control per block to reset pattern overrides. (57907)

Documentation

  • Add video embed documentation and grammar fixes in the Block Editor Handbook. (58029)
  • Block API: Add viewStyle property support to block.json. (55492)
  • CheckboxControl: Add custom label example to Storybook. (58438)
  • Docs: Copy and formatting edits for the “Markup representation of a block” guide. (58688)
  • Docs: Copy and formatting edits for the “Registration of a block” guide. (58709)
  • Docs: Copy and formatting edits for the “Static or Dynamic rendering” guide. (58681)
  • Docs: Copy and formatting edits for the “The block in the Editor” guide. (58697)
  • Docs: Copy and formatting edits for the “The block wrapper” guide. (58704)
  • Docs: Copy and formatting edits for the “Working with Javascript for the Block Editor” guide. (58651)
  • Docs: Copy and formatting edits for the “block.json” guide. (58732)
  • Docs: Copy edits and list formatting for main Block Editor Handbook readme. (58652)
  • Docs: Fix list formatting and some grammar in the Entities explanation doc. (58655)
  • Docs: Fix list markup in the Fundamentals of Block Development section. (58226)
  • Docs: Fix mistake in viewScriptModule documentation. (58815)
  • Docs: Formatting and copy edits for the File structure of a block guide. (58635)
  • Docs: Minor copy edits for the Block Development Environment page. (58614)
  • Docs: Remove duplicate content and update links. (58358)
  • Docs: Update link to the correct Fundamentals doc. (58352)
  • Docs: Update list formatting and descriptions in the Fundamentals of Block Development doc. (58630)
  • Docs: Update the Getting Started readme in the Block Editor Handbook. (58624)
  • Reference Gutenberg in PHP documentation from main documentation. (58453)
  • Removed extra parenthesis from document. (58662)
  • Restructure the FAQs to work with the new TOC design in the Block Editor Handbook. (58351)
  • Storybook: Add badges to private components. (58123)
  • Update documentation to avoid recommending early return PHP “anti-pattern”. (58454)
  • Update to rename reusable blocks. (58633)
  • Update versions-in-wordpress.md. (58545)
  • fix: InnerBlocks schema description in block.json. (58649)

Code Quality

  • Avoid running pattern overrides migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. in WordPress core. (58487)
  • Build: Add package build shebang and sync comments. (58264)
  • Date: Merge 6.4 and 6.5 compat files. (58479)
  • DefaultBlockAppender: Refactor to hooks. (58809)
  • Docs: Clarify the non-contextual post types. (58836)
  • Layout block supports use str_contains. (58251)
  • Move Nav Link PHPUnit tests to blocks directory. (58460)

Font Library

  • Address feedback from wordpress-develop#6027. (58691)
  • Fix font library unit tests nit-picks [round 2]. (58612)
  • Font Collections: Standardizes docblockdocblock (phpdoc, xref, inline docs) comments. (58654)
  • Font Library Address Outstanding Feedback from WP 6.4 review. (58675)
  • Move Fonts Library to compat dir for 6.5. (58608)
  • Remove font family and font face preview keys from theme.json schema. (58395)
  • Remove old and unused component and css. (58449)
  • Remove slug from collection schema to accommodate the changes on the wp_register_font_collection function signature. (58623)
  • Remove tests from classes that were already merged in core. (58752)
  • Remove tests from font library rest controllers already merged into core. (58778)
  • Return null if a font collection is not registered. (58735)
  • Simplify font collection schema. (58574)
  • Update Font Library 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/. code to align with Core standards. (58619)
  • Update Font Library non-REST API code to align with Core standards. (58607)
  • Update font collection json schema. (58413)
  • Update fonts collection data URL for Gutenberg 17.7. (58746)
  • Use Button’s API to disable footer buttons. (58529)
  • [Font Library] Update PHPUnit tests per Core coding standards and practices. (58502)

Components

  • Add eslint rule for theme var regressions. (58130)
  • Add stylelint rule for theme var regressions. (58098)
  • AnglePickerControl: Hard deprecate bottom margin. (58700)
  • CustomGradientPicker: Hard deprecate outer margins. (58699)
  • FontSizePicker: Hard deprecate bottom margin. (58702)
  • GradientPicker: Hard deprecate outer margins. (58701)
  • Remove deprecation warnings for __next36pxDefaultSize. (58703)

Block Library

  • Interactivity API – Blocks: Move interactivity registration to render. (58678)
  • Navigation: Move the Navigation block rendering tests to the blocks directory. (58247)
  • Navigation: Remove use of Gutenberg_Navigation_Fallback class. (58369)
  • Paragraph: Update comment block. (58419)
  • Rename variation build methods. (58538)
  • Template Part: Derive ‘hasInnerBlocks’ inside selector. (58680)

Block Editor

  • Block Switcher: Don’t use the ‘useBlockDisplayInformation’ hook. (58562)
  • BlockSelectionButton: Don’t use the ‘useBlockDisplayInformation’ hook. (58640)
  • Link Control: Simplify the sprintf. (58831)
  • RichTextData: Use a private property. (58557)

Post Editor

  • Editor Settings: Rename the getPostLinkProps setting. (58416)
  • Editor: Reuse data query in the post author components. (58760)
  • Editor: Use hooks instead of HoCs in the post-taxonomies components. (58446)
  • Fix: Refactor pre publish panel to use function component instead of class. (58441)

Custom Fields

  • Block Bindings: Remove unneeded ‘setAttributes’ override. (58806)

Patterns

  • Pattern overrides: Update overrides attribute data structure and rename it to content. (58596)

Tools

  • Add BlockJsonDependenciesPlugin to modules build. (57927)
  • DEWP: Fix script module import field. (58770)
  • Introduce a Props Bot workflow. (58576)
  • More refinements to Props Bot run conditions. (58617)
  • Refine when Props Bot runs. (58616)
  • Remove noahtallen from .wp-env codeowners. (58283)
  • Scripts: Add viewScriptModule block.json support. (58203)

Testing

  • “Multiple use” block validation logic improvement [with Playwright]. (57576)
  • Block Bindings: Add block bindings end-to-end tests. (58550)
  • Block Bindings: Add tests for the frontend and polish the existing ones. (58676)
  • Block Bindings: Improve the code of the block bindings tests. (58785)
  • Button: Add focusable disabled variant to vizreg Storybook. (58634)
  • CustomSelect: Add tests for new features. (58583)
  • Fix flaky test of data-wp-on-window directive. (58642)
  • Flaky Test: Fix “directives inside islands should not be hydrated twice”. (58516)
  • Interactivity API: Fix flaky test in data-wp-on-document. (58668)
  • Migrate remaining ‘inserting blocks’ end-to-end tests to Playwright. (58108)
  • Migrate remaining ‘pattern block’ end-to-end tests to Playwright. (58486)
  • SearchControl: Add unit tests. (58693)
  • Try fixing flaky ‘inserting blocks’ end-to-end tests. (58848)
  • Try fixing flaky Paragraph block end-to-end test. (58208)
  • Use toBeDisabled instead of aria-disabled check. (58694)
  • e2e: Add a test to confirm that the focus moves from the post title to the paragraph using the enter key. (58872)
  • end-to-end Utils: Ensure deleteAllUsers does not delete current user. (58320)

Build Tooling

  • Add missing Interactivity API label to changelog script. (58879)
  • Enable dynamic import transform for 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 tests. (58546)
  • Fix: Remove mention of weekly meeting from first time contributor PR label. (58547)
  • Interactivity API: Move Core implementation to compat 6.5 folder. (58829)
  • Remove phpunit tests for features backported to Core. (58776)
  • Update Performance tests base 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".. (58890)
  • Workflows: Add ‘Technical Prototype’ to the type-related labels list. (58163)

Security

Font Library

  • Sanitize font collection data. (58636)

REST API

  • Font Library REST API: Sanitize font family and font face settings. (58590)

Various

  • Script loader 6.4 compat: Check for init hook completion. (58406)

Font Library

  • Code style and code quality feedback from core 6.5 review. (58736)
  • Move getAllowedMimeTypes to FontUtils. (58667)
  • Refactor as a singleton. (58669)

Components

  • Removing Reakit Composite implementation. (58620)
  • Removing Reakit as a dependency. (58631)
  • Update the Snackbar warning message. (58591)

Global Styles

  • Always output core block global styles after base global styles. (58761)
  • 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. theme.json tests from Core. (58476)

Block Library

  • Reduce label and fix capitalization for image block upload label. (58677)
  • Separator: Remove border-bottom property. (55725)

Patterns

  • Update pattern copy to Synced instead of Fully Synced. (58876)

Block API

  • ViewScriptModule: 6.5 compatibility changes. (58832)

Custom Fields

  • Block Bindings: Backport block bindings refactor from WordPress core. (58683)

Inspector Controls

Change cover block’s “Media settings” label to “Settings”. (58463)

First time contributors

The following PRs were merged by first-time contributors:

– @at-benni: Update versions-in-wordpress.md. (58545)

– @krupal-panchal: Removed extra parenthesis from document. (58662)

@shreyash3087: fix: InnerBlocks schema description in block.json. (58649)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @ajlende @andrewhayward @andrewserong @annezazu @anton-vlasenko @antonis @aristath @artemiomorales @at-benni @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @creativecoder @DAreRodz @dcalhoun @dd32 @derekblank @desrosj @draganescu @ellatrix @fabiankaegy @fai-sal @fluiddot @gaambo @getdave @glendaviesnz @hellofromtonya @ironprogrammer @jameskoster @jasmussen @jeherve @jeryj @jorgefilipecosta @jsnajdr @kevin940726 @krupal-panchal @luisherranz @madhusudhand @MaggieCabrera @Mamaduka @matiasbenedetto @mikachan @mirka @ndiego @noahtallen @noisysocks @ntsekouras @oandregal @ockham @pbking @ramonjd @retrofox @richtabor @SantosGuillamot @scruffian @shreyash3087 @sirreal @t-hamano @talldan @tellthemachines @tjcafferkey @tomjn @tyxla @vcanales @westonruter @WunderBart @youknowriad

Props to @jameskoster for visual assets and @priethor @pbking @jorgefilipecosta @bph and @annezazu for helping draft this post

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

What’s new in Gutenberg 17.6? (31 January)

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

This release, which includes 264 pull requests (that’s a lot of work!), can be labeled mainly as a ‘code quality’ one, as it includes two important refactors in both Fonts and Interactivity APIs.

It also includes some improvements in the new “Data Views” experiment, 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. 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. improvements, and finally, a feature that all developers have been waiting for: the ability to extend allowed blocks within a parent block.

New Block 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. allowed Blocks 

Until now, there has been no way to 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. the allowed blocks in an inner block area. This means that developers could not specify which blocks could be inside a parent block without editing the parent block’s edit file. Imagine you’ve just created an amazing icon block to include in the navigation block; now, you can whitelist it using a filter.

addFilter( 'blocks.registerBlockType', 'my-great-icon-block', ( settings, name ) => {
  if ( name === 'core/navigation ) {
    return {
      ...settings,
      allowedBlocks: [ ...settings.allowedBlocks ?? [], 'my-great-icon-block' ],
    }
  }
  return settings;
} );

Site Editor – Post Editor unification.

Several smaller edit actions are available in the post editor but not the site editor. The misalignment means users sometimes need to hop between editors, which can be frustrating. This Gutenberg version includes all page edit features in both editors.

Also, the 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. and the Fonts Library API have received a big refactor. These APIs are getting close to the 6.5 release, so it’s a great time to test them.

Other Notable Highlights

New Interactivity API directives

The Interactivity API now includes several new directives that will be incredibly helpful when creating interactive blocks.

  • data-wp-on-window and data-wp-on-document to handle global events like scroll, keypress, load, ready, etc.
  • data-wp-each to render lists.
  • data-wp-run to execute custom logic while rendering an element with directives. 

Footnotes available for custom post types

Footnotes are available for all post types that

  • Are public and appear in the 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/..
  • Supports all of the following: editor, custom fields, and 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..

Changelog

Features

Interactivity API

  • Add wp-data-on-window and wp-data-on-document directives. (57931)
  • Add wp-each directive. (57859)
  • Add wp-run directive and useInit & useWatch hooks. (57805)
  • Create @wordpress/interactivity-router module. (57924)

Typography

  • Add defaultFontSizes option to theme.json. (56661)

Font Library

  • Font Library: Add wp_get_font_dir() function. (57730)

Custom Fields

  • Block Bindings: Disable editing of bound block attributes in editor UIUI User interface. (58085)

Block Editor

  • Add effects/box shadow tools to block inspector. (57654)

Enhancements

Components

  • Add opt-in prop for 40px default size for BoxControlBorderControl, and BorderBoxControl. (56185)
  • BorderControl: Replace style picker with ToggleGroupControl. (57562)
  • ColorPicker: Store internal HSLA state for better slider UXUX User experience. (57555)
  • Migrate PaletteEdit and CircularOptionPicker tests from user-event to ariakit/test. (57809)
  • Replace TabPanel with Tabs in the Editor Preferences Modal. (57293)
  • Theme: Set color on wrapper. (58095)
  • Tooltip: No-op when nested inside another Tooltip component. (57202)
  • BoxControl: Update design. (56665)
  • Element: Start reexporting PureComponent. (58076)

Interactivity API

  • Render the root interactive blocks. (57729)
  • Interactivity Router: Replace data-wp-navigation-id with data-wp-router-region. (58191)
  • Interactivity: Export withScope() and allow to use it with asynchronous operations. (58013)
  • Prevent the use of components in wp-text. (57879)
  • Remove wp-data-navigation-link directive. (57853)
  • Server Directive Processing Refactor. (58066)
  • Update preact@preact/signals and deepsignal dependencies. (57891)

Block Editor

  • Add copy link button to Link UI. (58170)
  • Improve LinkControl preview. (57775)
  • Keep Link UI open upon initial link creation when used in RichText. (57726)
  • List View: Displace list view items when dragging (a bit more WYSIWYGWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page.). (56625)
  • Show initial suggestions in rich text Link UI. (57743)
  • Disable lock button if user cannot control lock state. (57274)
  • Use ClipboardJS latest version and clean up focus loss workaround. (57156)
  • Dimensions: Add Aspect Ratio block support. (56897)

Block Library

  • Add more taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. options to the post navigation link. (48912)
  • Add: Footnotes support for other CPT’s. (57353)
  • Better navigation link variations for post types / taxonomies. (56100)
  • Remove “blocks” from copy and delete labels. (57769)
  • Pullquote Block: Add padding and margin support. (45731)
  • Video Block: Add raw transformation from video htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (47159)
  • Aspect ratio: Remove support on the Group block for now. (58414)
  • Image block: Move UI for lightbox from 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. to the content toolbar alongside link settings. (57608)

Data Views

  • DataViews: Enable grid layout for templates & parts by default. (58137)
  • DataViews: Make dataviews powered page patterns stable. (58139)
  • DataViews: Make the “Manage Pages” stable. (58166)
  • Dataviews: Add Bulk actions to page. (57826)

Site Editor

  • Group templates in sidebar list. (57711)
  • Initial routing refactoring to separate preview from list view. (57938)
  • Iterate on warning text for block removal for query/post template/post content. (58138)
  • Site editor: Add global styles changes to save flow. (57470)
  • Editor: Unify the Editor Mode preference. (57642)
  • Live Preview: Show the current theme name on the theme activation modal. (57588)
  • Unify the preferences modal UI between post and site editor. (57639)
  • Remove right negative margin from pinned items. (57666)
  • Update style revision top toolbar text. (58057)

Block API

  • Block Bindings: Update source registration syntax and remove APIs that should be private. (58205)
  • Block Hooks: Do not remove toggle if hooked block is present elsewhere. (57928)

Synced Patterns

  • Add basic pattern overrides end-to-end tests. (57792)
  • Use a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. format and support linkTarget of core/button for Pattern Overrides. (58165)

Patterns

  • Add image block support for pattern overrides. (57909)
  • Outline editable blocks that are within a content-locked container. (57901)
  • Change text on pattern reset button. (58286)

Post Editor

  • Post Lock: Use the new modal size preset. (58197)
  • Add description to the save panel 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 nothing is checked. (57716)

Font Library

  • Update the default collection data URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to the wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ cdn. (58186)
  • Font Library: Refactor stylesheet using CSSCSS Cascading Style Sheets. variables (58237)
  • Font Library Modal: Reset the selected font when installing a new font. (57817)
  • Font Library: Disable font library UI using a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher filter. (57818)
  • Font Library: Filter fonts upload directory. (57697)
  • Font Library: Use data or src file to define font collection data. (57734)
  • Improve font collection rest controller. (58222)
  • Make notices more consistent. (58180)
  • Updates Font Families and Font Faces endpoints context param. (58287)

Commands

  • Minor command tweaks. (58148)

Extensibility

  • Update Navigation block to render hooked inner blocks. (57754)
  • Add gettext content when translating ‘Header’. (51066)

Template Editor

  • Remove template-only mode from editor and edit-post packages. (57700)

New APIs

Block API

  • Block Bindings API: Add block bindings PHP registration mechanisms and “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.” source under the experimental flag. (57249)
  • Block Bindings API: Refactor logic into Block Bindings class and singleton pattern. (57742)

Bug Fixes

Block Library

  • 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. block: Fix broken aligments in the editor. (58114)
  • Embed Block: Fix retry processing when embedding with trailing slash fails. (58007)
  • Lightbox: Fix “Expand on click” control being disabled unintentionally. (56053)
  • Modified Date Block: Don’t render change date tool. (57914)
  • Only prioritise Quote transform where relevant. (57749)
  • 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.: Fix posts list variation detection. (58194)
  • Block Hooks API: Update Navigation block feature gate. (58388)

Components

  • Button: Always render the Tooltip component even when a tooltip should not be shown. (56490)
  • CustomSelect: Adjust renderSelectedValue to fix sizing. (57865)
  • ToggleGroupControl: Improve controlled value detection. (57770)
  • Tooltip: Accept specific tooltip props. (58125)
  • Tooltip: Forward and merge inner tooltip props correctly. (57878)
  • Bring back the chevron. (57807)
  • Preferences: Add a proxy to retrieve the deprecated preferences with a deprecation message. (58016)

Data Views

  • DataViews: Default sort order in templates by title. (58175)
  • DataViews: Don’t always display horizontal scrollbar. (58101)
  • DataViews: Fix author sorting in templates and template parts. (58167)
  • Remove unused argument from sprintf in pagination.js. (57823)
  • DataViews: Fix safari grid row height issue. (58302)
  • DataViews: Fix table view cell wrapper and BlockPreviews. (58062)

Patterns

  • Add black border back when editing synced pattern in the post editor. (57631)
  • Outline editable blocks when in a pattern that has locked children. (57991)
  • Remove text align control for paragraph, heading, and button in contentOnly editing mode. (57906)
  • Pattern Categories: Fix capitalization. (58112)
  • Fix flaky “create a new pattern” test. (57747)
  • Block Bindings: Fix bindings image placeholder showing in patterns overrides. (58252)

List View

  • Image Block: Make block name affect list view. (57955)
  • More Block: Make block name affect list view. (58160)

Block API

  • Block Hooks: Fix toggle. (57956)
  • Fix formats not working in block bindings content. (58055)

Global Styles

  • Correctly decode border color values. (57876)
  • Fix: Theme.json application of custom root selector for styles. (58050)

Data Layer

  • Data: Allow binding registry selector to multiple registries. (57943)
  • Data: Fix memoized createRegistrySelector. (57888)

Typography

  • #56734 When there is no font, the border should not appear. Display further guidance text. (56825)
  • Fluid typography: Do not calculate fluid font size when min and max viewport widths are equal. (57866)

Block Editor

  • Fix 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.: Content locking does not stops when an outside block is selected. (57737)
  • LinkControl: Remove unnecessary right padding of input fields. (57784)

Custom Fields

  • Block Bindings: Fix button popover not showing in patterns. (58219)

Font Library

  • Fix typo. (58193)
  • Removed and elements from Font Library Modal (58221)

Synced Patterns

  • Fix losing overrides after detaching patterns. (58164)

Interactivity API

  • Prevent wp-data-on="" from creating onDefault handlers. (57925)
  • Prevent usage of gutenberg_url in block-library (58242)
  • Interactivity API: Fix data-wp-on-document flaky test. (58008)
  • Interactivity API: Fix flaky test on-window. (58134)
  • Fix flaky test on-window, remove duplicate expect on-document. (58181)
  • Interactivity: Fix broken reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. usage in published package. (58258)

CSS & Styling

  • Styles revisions: Remove body padding. (57748)

Templates API

  • Fix visual indication of switch to default template in the post editor. (57718)

Site Editor

  • (editor)(fix) Append the edit-post-header-toolbar class in NavigableToolbar for backward compatibility with 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 GUI injections. (58154)
  • Fix site editor layout regressions. (58077)

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)

Site Editor

  • Fix font variants count color contrast ratio and l10nL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales.. (58117)
  • Make the site hub View Site link always visible. (57423)

Block Editor

  • Fix parent selector button focus style and metrics. (57728)
  • Restore visual separator between mover buttons when show button label is on. (57640)

Widgets Editor

  • Fix Widgets page Undo and Redo accessibility and keyboard interaction. (57677)

Performance

  • Add patterns load test. (57828)
  • Block editor: Avoid list re-rendering on select. (57188)
  • Block editor: Don’t register shortcuts for preview editors. (57984)
  • Block editor: Fix performance regression after #57950. (57971)
  • Block editor: Use context for useBlockEditingMode. (57950)
  • BlockSwitcher: Defer transform calculations until the Dropdown is open. (57892)
  • Call variation through callback so it’s only loaded when needed – in support of tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. 59969. (56952)
  • Editor styles: Cache transform. (57810)
  • Footnotes: Combine format store subscription. (58129)
  • 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.: Calc compat styles once per page load. (57798)
  • Measure typing with the top toolbar enabled. (57709)
  • Meta boxes: Don’t initialise if there are none. (57182)
  • Patterns: Avoid fetching on load. (57999)
  • Site editor: Avoid fetching themes on load. (57985)
  • Site editor: Reduce artificial loading delay from 1s to 100ms. (57953)
  • Site editor: Remove store subscription per block. (57995)
  • Template Part & Query: Avoid server requests on mount. (57987)
  • Template part block: Avoid parsing ALL patterns on mount. (57856)

Block Editor

  • Revert “Block editor: Avoid list re-rendering on select”. (58147)

Post Editor

  • Editor: Use hooks instead of HoCs for EditorNotices. (57772)

Experiments

Data Views

  • Add: Bulk actions to dataviews with the new design. (57255)
  • Data view list layout: Fix thumbnail dimensions. (57774)
  • Data views table layout: Update cell vertical alignment. (57804)
  • DataViews: Add description to pages. (57793)
  • DataViews: Add front page to pages page sidebar. (57759)
  • DataViews: Better management of layout param in templates. (58116)
  • DataViews: Make list layout the default for templates with the experiment enabled. (57933)
  • DataViews: Revert list view as default for pages. (58081)
  • DataViews: Revert list view as default for templates. (58079)
  • DataViews: Set primary field styles. (57846)
  • DataViews: Show loading / no result message for the list layout. (57764)
  • DataViews: Update template parts view. (57952)
  • DataViews: Use button for patterns, pages and templates preview field. (58071)
  • DataViews: Use table layout for templates when experiment disabled. (57960)
  • Stabilise view options button icon. (57964)
  • Update Grid layout design. (57880)
  • Update Pages preview field display. (57919)
  • Update Templates table layout. (57930)
  • Update: Show template sources on templates Dataviews sidebar. (58124)

Synced Patterns

  • Add a control to reset pattern overrides. (57845)
  • Allow heading and button in Pattern Overrides. (57789)

Typography

  • Download then upload font face assets when installing from a collection. (57694)
  • Use slug instead of id for Font Collection. (57735)

REST API

  • Font Library Refactor. (57688)

Block Editor

  • Allow drag and drop to create Rows and Galleries. (56186)

Documentation

  • Add a video demonstration to the Quick Start Guide. (57834)
  • Button: Improve disabled-related prop descriptions. (57864)
  • Components: Move CHANGELOG entries under the correct release. (57885)
  • Docs: Fix typo in “The block wrapper” document. (58106)
  • Docs: Use ‘key’ in ‘editor.BlockEdit’ filter code examples. (58119)
  • Document files/directories requiring backmerging to WP CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.. (58064)
  • Fix the iframe markup of the embed video in the Quick Start Guide. (57857)
  • Fix: Link to the nodejs release page. (57816)
  • Fix: Typo on BlockListBlock comments. (57814)
  • Fix: Typos on __unstableSetTemporarilyEditingAsBlocks documentation. (57768)
  • Font Library: Add font collection JSON schema. (57736)
  • Prefixes all php filters with wpdocs_. (53914)
  • Remove the unnecessary TOC and fix grammar/formatting in the Patterns doc. (57825)
  • Remove the 👋 emoji from the Block Editor Handbook. (58023)
  • Update versions-in-wordpress.md. (57916)
  • [Type] Developer Documentation – Fix removeAllNotices dispatch on the removeAllNotices doc section of wordpress/notices. (57436)

Code Quality

Components

  • PaletteEdit: Improve unit tests. (57645)
  • Tooltip and Button: Tidy up unit tests. (57975)
  • Tooltip: Add test for classname leakage. (58182)
  • Remove unneeded margin: 0 override for Notice component consumer. (57794)
  • Shadows: Prevent empty style object when removing shadow. (58155)

Block Editor

  • Soft deprecate custom ‘pure’ HoC in favor of ‘React.memo’. (57173)
  • Stabilise RecursionProvider and useHasRecursion APIs. (58120)
  • Tidy up block patterns selectors. (57913)
  • Shadow: Remove additional wrapper around getShadowClassesAndStyles. (58297)

Block Library

  • Gallery Block: Remove duplicate return statement. (57746)
  • Navigation: Move the renderer class to the main navigation file. (57979)
  • Fix comments block. (57820)
  • Rename __experimentalGetGlobalBlocksByName to getBlocksByName. (58156)
  • Block Hooks API: Remove $post check from Navigation hooked blocks meta fn. (58379)
  • Post navigation link: Coding standard fixes. (58380)
  • Update docblockdocblock (phpdoc, xref, inline docs) for render_block_core_pattern. (58382)
  • Block Hooks API: Update doc block for block_core_navigation_insert_hooked_blocks. (58378)

Font Library

  • Remove WP_Font_Family class that is no longer used. (58184)
  • Font Library: Remove ‘version’ property from font collection schema. (58025)
  • [Fonts API] removing files and files loading no longer needed. (57972)
  • Remove unused utilities and rename class. (58342)
  • Rename the slug of the google fonts collection from ‘default-font-collection’ to ‘google-fonts’. (58331)
  • Refactored download/upload logic to support font faces with multiple src assets. (58216)
  • Font Library: Addresses additional REST API feedback. (58333)

Block Directory

  • DownloadableBlocksPanel: Remove withSelect in favor of useSelect. (58109)

Patterns

  • Stabilize the pattern overrides block context. (58102)
  • Remove pattern override experiment completely. (58105)
  • Update pattern overrides to use a hard coded support array. (57912)
  • Block Bindings: Change core/pattern-attributes source for core/pattern-overrides. (58434)

Block API

  • Block Bindings: Remove the experimental flag. (58089)
  • Block Renaming – move backported WP 6.5 code to 6.5 compat dir. (58126)

Post Editor

  • Editor: Use hooks instead of HoCs in ‘PostScheduleCheck’. (57833)

Script Modules API

  • Update the code and move it to the compat/wordpress-6.5 folder. (57778)

Data Views

  • Remove obsolete check from dataviews modal actions title. (57753)

Interactivity API

  • Remove data-wp-slot and data-wp-fill. (57854)
  • Remove unused state and rename props to attributes in getElement(). (57974)

HTML API

  • 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. updates from Core. (57022)

Custom Fields

  • Block Bindings: Simplify block bindings object. (58337)
  • Block Bindings: Adapt block bindings to wordpress code latest changes. (58383)

Tools

Testing

  • Add setGutenbergExperiments to requestUtils. (56663)
  • Add: End to end test to content locking stop editing as blocks behavior. (57812)
  • Attempt to fix php unit tests (variations api change). (58090)
  • Migrate ‘block grouping’ end-to-end tests to Playwright. (57684)
  • Migrate ’embedding’ end-to-end tests to Playwright. (57969)
  • Migrate ‘typewriter’ end-to-end tests to Playwright. (57673)
  • Remove unused Navigation block end-to-end test fixtures. (57848)

Build Tooling

  • Update caniuse-lite package. (58087)
  • Update the cherry pick script to work with the new version of gh. (57917)
  • Scripts: Remove unused variable in bin/list-experimental-api-matches.sh. (57771)
  • (chore) Revert bump to the v17.5.1 (draft) due to bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. in the release found by manual testing. (58027)
  • Fix misplaced ReactRefreshWebpackPlugin. (57777)
  • Automate creation of Issue for major release PHP synchronisation. (57890)
  • Remove check-latest-npm validation. (57797)
  • core-js: Only polyfill stable features. (57674)

First time contributors

The following PRs were merged by first time contributors:

  • @kt-12: Call variation through callback so it’s only loaded when needed – in support of trac 59969. (56952)
  • @leomuniz: [Type] Developer Documentation – Fix removeAllNotices dispatch on the removeAllNotices doc section of wordpress/notices. (57436)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @ajlende @andrewserong @annezazu @artemiomorales @arthur791004 @atachibana @bacoords @bph @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @creativecoder @DAreRodz @dcalhoun @derekblank @dmsnell @draganescu @dsas @ecgan @ellatrix @fluiddot @fullofcaffeine @gaambo @geriux @getdave @glendaviesnz @gonzomir @inc2734 @jameskoster @jeryj @jffng @jorgefilipecosta @jsnajdr @kevin940726 @kt-12 @leomuniz @luisherranz @madhusudhand @MaggieCabrera @Mamaduka @matiasbenedetto @mcsf @michalczaplinski @mikachan @mirka @ndiego @noisysocks @ntsekouras @oandregal @ockham @oguzkocer @pbking @ramonjd @richtabor @SantosGuillamot @scruffian @SiobhyB @sirreal @swissspidy @t-hamano @talldan @tellthemachines @tjcafferkey @tyxla @vcanales @youknowriad

Props to @jameskoster for visuals assets and @cbringmann for peer-review

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

What’s new in Gutenberg 17.5? (17 January 2024)

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

Table of Contents

  1. Editor Unification
  2. Gallery Block: Random Order Setting
  3. Other Notable Highlights
  4. Changelog
  5. First time contributors
  6. Contributors

Editor Unification

The editor unification project is working to combine the Post Editor and the Site Editor into one unified editor. This release brings that goal closer by combining many of the preferences for these two editors into one shared preferences panel.

In #57477 we added a new setting to the Gallery block which allows you to give your gallery images a random order. This feature was available in the gallery 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., but not in the gallery block, until now!

Other Notable Highlights

  • 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.: Add a useFirstImageFromPost attribute. (56573)
  • Add drag cursor to draggable list items. (57493)
  • Font Library: Add progress-bar while uploading font assets. (57463)

Changelog

Full changelog available

Enhancements

Editor Unification

  • Editor: Add the show most used blocks preference to the site editor. (57637)
  • Editor: Migrate and unify the panel preferences. (57529)
  • Editor: Unify context text cursor preference. (57479)
  • Editor: Unify list view open preference. (57504)
  • Editor: Unify right click override preference. (57468)
  • Editor: Unify show icon labels preference. (57480)
  • Editor: Unify spotlight mode preference. (57533)
  • Editor: Unify the distraction free preference. (57590)
  • Editor: Unify the show block breadcrumbs preference. (57506)
  • Editor: Unify the top toolbar preference. (57531)

Components

  • Components: Replace TabPanel with Tabs in inline color picker. (57292
  • Add compact size variant to InputControl-based components. (57398)
  • BaseControl: Connect to context system. (57408)
  • Replace TabPanel with Tabs in the Style Book. (57287)
  • Tooltip: Improve tests. (57345)
  • 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 v0.3.12 and @ariakit/test to v0.3.7. (57547)

Font Library

  • Font Library: Remove “has_font_mime_type” function. (57364)
  • Font Library: Update font uninstall modal text. (57368)
  • Font Library: Add progress-bar while uploading font assets. (57463)
  • Font Library: Singularize install font families endpoint. (57569)
  • Font Library: Unregister font collection. (54701)

Site Editor

  • Add Template Modal: Update scroll related layout. (57617)
  • Components: Replace TabPanel with Tabs in the Font Library Modal. (57181)

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.

  • Implement wp_initial_state(). (57556)
  • Server directive processing: Stop processing non-interactive blocks. (56302)
  • Interactive template: Use viewModule. (57712)
  • Navigation Block: Use dom.focus for focus control. (57362)

Site Editor

  • Site editor: Add padding to entity save panel 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.. (57471)
  • Site editor: Add margin to entity save panel header via a classname. (57473)

Block Library

  • Post Featured Image: Add a useFirstImageFromPost attribute. (56573)
  • Gallery Block: Add random order setting. (57477)
  • Image Block: Change upload icon label. (57704)

Bug Fixes

  • Avoid using a memoized selector without dependencies. (57257)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Pass the ‘options’ argument to data action shortcuts. (57383)
  • Preferences: Update 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) scope to “core”. (57563)

Block Editor

  • Fix Link UIUI User interface displaying out of sync results. (57522)
  • Give 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. fallback background color. (57330)
  • Rich text: Add HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. string methods to RichTextData. (57322)

Block Library

  • Footnotes: Fix wrong link when adding more than 9 footnotes. (57599)
  • Table: Remove unnecessary margin override in editor styles. (57699)
  • Template Part block: Fix template part path arg missing from actions. (56790)

Components

  • DuotonePicker: Fix top margin when no duotone options. (57489)
  • NavigatorProvider: Exclude size value from contain CSSCSS Cascading Style Sheets. rule. (57498)
  • Snackbar: Fix icon positioning. (57377)

Patterns

  • Pattern Overrides: Add template-lock: All to pattern inner blocks to prevent deletion/insertion. (57661)
  • Refactor the findOrCreate term method. (57655)
  • Edit source pattern in focus mode in post and site editors. (57036)

Site Editor

  • Make sure comamnd palette toggle does not disappear while being clicked. (57420)
  • Reinstate iframe CSS for editor canvas container. (57503)

Global Styles

  • Use is-layout pattern on layout generated classname. (57564)
  • Global styles 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.: Add individual headings translations, update tests. (57472)
  • Global style revisions: Move change summary code and tests to block editor package. (57411)
  • Reduce specificity of block style variation selectors. (57659)
  • Background image block support: Add tests for size and repeat output. (57474)

Post Editor

  • Fix Template preview menu item accessibility. (57456)
  • Fullscreen mode description: Use full text instead of abbreviation. (57518)
  • Improve pre-publish checks naming consistency. (57019)
  • Make the Replace featured image button perceivable by assistive technologies. (57453)

Components

  • Label the HeightControl. (57683)
  • NumberControl: Make increment and decrement buttons keyboard accessible. (57402)

Block Tools

  • Update the position of the patterns tab in the inserter menu. (55688)
  • Use full text instead of abbreviation for min height setting. (57680)
  • ResizableEditor: Fix tab order for resize handles. (57475)
  • Keep Lock button it in the toolbar until unmounted. (57229)
  • Custom fieldCustom Field Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. connections: Better description on Experiments page. (57501)

Performance

Block Library

  • File: Remove ‘block-editor’ store subscription. (57511)
  • Remove store subscriptions from Audio and Video blocks. (57449)
  • Site Logo: Remove unnecessary ‘block-editor’ store subscription. (57513)
  • Send numerical post id when uploading image. (57388)
  • PostFeaturedImage: Remove unnecessary ‘block-editor’ store subscription. (57554)

Experiments

Data Views

  • DataViews: Use DropdownMenuRadioItem component when possible. (57505)
  • Align icon size + placement in Patterns data view. (57548)
  • DataViews: Add duplicate pattern action in patterns page. (57592)
  • DataViews: Add duplicate template pattern action. (57638)
  • DataViews: Add footer to Pages 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.. (57690)
  • DataViews: Add new page button in Pages. (57685)
  • DataViews: Add sync 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. in patterns page. (57532)
  • DataViews: Consolidate CSS selectors naming schema. (57651)
  • DataViews: Fallback to (no title) is there’s no rendered title. (57434)
  • DataViews: Hide actions menu upon selecting a layout. (57418)
  • DataViews: Make fields dependant on view.type. (57450)
  • DataViews: Memoize onSetSelection. (57458)
  • DataViews: Prevent unnecessary re-renders of Pagination. (57454)
  • DataViews: Prevent unnecessary re-renders. (57452)
  • DataViews: Update names for DropdownMenuRadioItemCustom. (57416)
  • DataViews: Use i18n._x to clarify term “Duplicate”. (57686)
  • DataViews: Use in patterns page. (57333)
  • Dataview: Change the stacking order of table header. (57565)
  • Dataviews: Add some client side data handling utils. (57488)
  • Make title display in grid views consistent. (57553)
  • Update Table layout design details. (57644)
  • Update pagination spacing in List layout. (57670)
  • Update table header gap. (57671)
  • [Dataviews] Table layout: Ensure focus is not lost on interaction. (57340)

Patterns

  • [Pattern Overrides] Fix duplication of inner blocks. (57538)
  • [Pattern overrides] Allow multiple attributes overrides. (57573)

Documentation

  • Add links to additional local dev tools in Block Developement Environment readme. (57682)
  • Add new section to the Quick Start Guide about wp-env. (57559)
  • Block 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: Add renaming key to supports definition. (57373)
  • Break out the Curating the Editor Experience doc into its own How-to Guides section. (57289)
  • Change the slug for the theme.json doc to avoid conflicts. (57410)
  • Docs/tutorial: Fix opposite condition for content generation in render.php. (57445)
  • Docs: Fundamentals of Block Development – Static or Dynamic rendering of a block. (57250)
  • Docs: Update sample code to fix React warning error on Tutorial page. (57412)
  • Fix formatting issue due to incorrect link parsing in the Quick Start Guide. (57693)
  • Fix incorrect heading level in Editor curation documentation. (57409)
  • Fix two typos in tutorial.md. (57627)
  • Fix: Create block getting started links. (57551)
  • Improve the static vs dynamic rendering comment in the block tutorial. (57284)
  • Update copyright year to 2024 in license.md. (57481)
  • Update the “Build your first block” tutorial based on user feedback. (57403)
  • Update: Material design icons link. (57550)

Code Quality

  • Editor: Unify the DocumentTools component. (57214)
  • Make getLastFocus and setLastFocus private. (57612)
  • Remove deprecated behaviors syntax. (57165)
  • Avoid extra useMarkPersistent dispatch calls. (57435)
  • Clean up code editor CSS. (57519)
  • Combine selectors in ‘useTransformCommands’. (57424)

Block Library

  • Background image: Add has-background classname when background image is applied. (57495)
  • File: Remove unnecessary synchronization effect. (57585)
  • Navigation: Refactor mobile overlay breakpoints to JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (57520)
  • Search Block: Remove unused buttonBehavior attribute. (53467)

Patterns

  • Improve inserter pattern constants. (57570)
  • Remove duplicate setting for getPostLinkProps and prefer stable naming. (57535)
  • Rename patternBlock to patternPost. (57568)

Post Editor

  • 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 HoCs in ‘PostVisibilityCheck’. (57705)
  • Quality: Avoid React warning when changing rendering mode. (57413)

Block Editor

  • Editor: Unify the inserter sidebar. (57466)
  • Remove unused parameters from useOnBlockDrop. (57527)

List View

  • Editor: Unify the list view sidebar between the post and site editors. (57467)
  • Add drag cursor to draggable list items. (57493)

Tools

  • Dependency Extraction Webpack 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: Use import for module externals. (57577)
  • DependencyExtractionWebpackPlugin: Add true shorthand for requestToExternalModule. (57593)
  • DependencyExtractionWebpackPlugin: Use module for wordpress/interactivity. (57602)
  • Fix webpack not setting environment.module true. (57714)
  • Modules: Load the import map polyfill when needed. (57256)
  • Blocks: Add handling for block.json viewModule. (57437)

Testing

  • Allowed Patterns end-to-end test – move tests that run with a subset of allowed blocks into a group. (57496)
  • Clean up end-to-end tests package. (57575)
  • Fix flaky ‘Post publish button’ end-to-end test. (57407)
  • Migrate ‘allowed patterns’ end-to-end tests to Playwright. (57399)
  • Migrate ‘block editor keyboard shortcuts’ end-to-end tests to Playwright. (57422)
  • Migrate ‘core settings’ end-to-end tests to Playwright. (57581)
  • Migrate ‘datepicker’ end-to-end tests to Playwright. (57545)
  • Migrate ‘dropdown menu’ end-to-end tests to Playwright. (57663)
  • Migrate ‘editor modes’ end-to-end tests to Playwright. (57574)
  • Migrate ‘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. blocks’ end-to-end tests to Playwright. (57508)
  • Migrate ‘nux’ end-to-end tests to Playwright. (57542)
  • Migrate ‘preferences’ end-to-end tests to Playwright. (57446)
  • Migrate ‘publishing’ end-to-end tests to Playwright. (57521)
  • Migrate ‘scheduling’ end-to-end tests to Playwright. (57539)
  • Migrate ‘sidebar’ end-to-end tests to Playwright. (57448)
  • Migrate ‘taxonomies’ end-to-end tests to Playwright. (57662)
  • Migrate editing-widgets to Playwright. (57483)
  • Migrate remaining ‘publish panel’ end-to-end tests to Playwright. (57432)
  • Update ‘missing block’ end-to-end tests to use the ‘setContent’ helper. (57509)

Build Tooling

  • Group 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/ Action Dependabot updates. (57591)
  • WP Scripts: Build block.json viewModule. (57461)
  • Dependency Extraction Webpack Plugin: Add Module support. (57199)

First time contributors

The following PRs were merged by first time contributors:

  • @HrithikDalal: Font Library: Update font uninstall modal text. (57368)
  • @muhme: Fix two typos in tutorial.md. (57627)

Contributors

The following contributors merged PRs in this release:

@afercia @andrewhayward @andrewserong @atachibana @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @DAreRodz @dcalhoun @derekblank @desrosj @ellatrix @fai-sal @fluiddot @geriux @getdave @glendaviesnz @gziolo @hbhalodia @HrithikDalal @jameskoster @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @Mamaduka @matiasbenedetto @mcsf @michalczaplinski @mirka @muhme @ndiego @ntsekouras @oandregal @ockham @ramonjd @scruffian @sirreal @Soean @t-hamano @talldan @tellthemachines @youknowriad

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

What’s new in Gutenberg 17.4? (03 January)

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

For this release, contributors reached a milestone for data views, increased feature parity between site and post editors, improved performance across a few areas and added functionality to current features, including List view and 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.

With this new version, users can expect more flexibility with background images for the Group 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. and fixes to improve support for design tools for classic themes.

Table of Contents

Data Views: List of Templates stable

Screenshot of the new Template Data view

The Data Views work reaches a new milestone: stabilizing this new experience for the template screen, making it available outside the experiments flag and without the additional “Views” options. Please consider using this new experience and provide feedback! (57109)

Style revisions: Stylebook integration and pagination

Screenshot of the Styles Revisions sidebar.

Work continued evolving the usefulness of Style Revisions, with added pagination for better navigation and the integration with the Stylebook. When reviewing revisions with the Style Book, you can better understand the impact of the changes for both within the template you’re looking at and across individual blocks. (56799) (56800)

Background Images: size and repeat controls.

Screenshot of Group Block Background images settings.

This release also adds controls to the background image to adjust size and toggle repetition for the Group Block. This allows you to set the background image to “Cover” (default), or to “Contain”, keeping the aspect ratio intact, and when set to repeat it only repeats in one dimension. With the “Fixed” option, you can set a custom display width, and by selecting the repeat feature, the image repeats over the canvas size of the block. (#57005

List View: Right click access to Block Setting

Screenshot of List view left columns with a right click menu for the Block settings.

A right click on List View opens up that block’s settings menu and gives fast access and streamlines editing. 50273

Other Notable Highlights

  • The site editor received an additional 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. panel already available to post editor screens. Unification of the interface and access to the same controls for page page attributes, post taxonomies, Discussion panel, and feature image panel, gives users more confidence in learning how to use it and allows as well to streamline development in the future. (57151, 57049, 57153, 57150, 57053, 57010)
  • The support for `appearanceTools` for classic themes has been expanded and improved for default color palette handling and duotone settings. (56131)

Changelog

Full changelog available

Enhancements

Components

  • Refactor experimental dropdown menu usages to the latest version. (55625)
  • Replace TabPanel with Tabs in the Block Inspector. (56995)
  • Replace TabPanel with Tabs in the editor Global Styles color palette. (57126)
  • ToggleGroupControl: Update large button size to 32px. (57338)
  • Update ariakit version. (57325)
  • CustomSelect: Add WordPressComponentsProps. (56998)
  • Modal: Improve application of body class names. (55430)
  • Components: Replace TabPanel with Tabs in the Block Inserter. (56918)

Site Editor

  • Add Page Attributes panel. (57151)
  • Add Post Taxonomies panel. (57049)
  • Add View Link. (57153)
  • Add the Discussion panel. (57150)
  • Add the 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. panel. (57053)
  • Editor: Unify revision panel between post and site editors. (57010)
  • Social Link block: Obfuscate email address. (57384)

Design Tools

  • Background image: Add backgroundSize and repeat features. (57005)
  • Make sure theme color palette presets are output when appearance tools are enabled. (57190)
  • Move the tools panel to the left of the inspector. (55785)

Global Styles

  • Global styles revisions: Add pagination. (56799)
  • Global styles revisions: Integrate stylebook. (56800)

Bug Fixes

Components

  • DropdownMenu V2: Add fallback styles for when subgrid is not supported. (57327)
  • DropdownMenuV2: Do not collapse suffix width. (57238)
  • Fix DayButton dot position and expand the Button area. (55502)
  • Fix logic of has-text class addition in Button. (56949)
  • Palette Edit: Don’t discard colors with default name and slug. (54332)
  • PaletteEdit: Consider digits when generating kebab-cased slug. (56713)
  • RadioControl: Fully encapsulate styles. (57347)
  • Tabs: Make sure individual Tabs are linked to the correct TabPanels. (57033)
  • Text selection: Show CSSCSS Cascading Style Sheets. hack to Safari only. (57300)
  • Truncate: Improve handling of non-string children. (57261)
  • FormTokenField: Handle disabled prop on internal Button. (57187)
  • tab panel: Don’t render hidden content by default. (57046)

Block Editor

  • Exclude disabled buttons when setting initialIndex of NavigableToolbar. (57280)
  • Fix BlockSwitcher checks for showing a Dropdown menu or not. (57047)
  • Fix block lock toolbar item stealing focus when mounted with StrictMode. (57185)
  • Fix content lock UIUI User interface 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.. (56974)
  • Fix vertical overflow when inserter is open in post and site editor. (57127)
  • Hide drop indicator where block isn’t allowed to drop. (56843)
  • InserterListItem: Use item.isDisabled to detect disabled item. (57161)
  • More settings tip: Add explicit font size. (55835)
  • Writing flow: Absorb partial multi selection dispatching. (47525)
  • Fix the block ‘edit’ property validation. (57193)

Block Library

  • Audio: Hide some controls when multi-editing blocks. (57376)
  • Disable resizing when the viewport is small and wide-aligned. (57041)
  • Gallery: Hide some controls when multi-editing blocks. (57378)
  • Image Block: Get lightbox trigger button ref via data-wp-init. (57089)
  • Image: Hide caption control when multi-editing images. (57357)
  • Video: Hide some controls when multi-editing blocks. (57375)
  • Image Block: Fix deprecation when width/height attribute is a number. (57063)

Patterns

  • Fix: Viewport width not accounted for in the Site Editor > Patterns view. (55803)
  • Override all the labels of the pattern categories taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.. (57094)
  • Pattern CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.: Change show_tagcloud to false. (57212)
  • Patterns (unsynced): Prevent infinite loops due to recursive patterns. (56511)

Site Editor

  • Fix image upload 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.. (57040)
  • Reduce clearance around the Frame in the site editor. (57023)
  • Swap Template: Show the right templates for the right post type. (57149)
  • Save Button: Fix the translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. of the Activate button. (57147)
  • SlotFill: Allow contextual SlotFillProviders. (56779)

Post Editor

  • Editor: Use visibility selector for PostTemplatePanel. (57224)
  • Fix: Code editor title width in classic theme. (56922)

Design Tools

  • Allow default duotone styles in classic themes. (57191)
  • StylesPreview: Fix endless 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. of ratio calculations when on the threshold of a scrollbar. (57090)

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.

  • Fix namespaces in nested interactive regions. (57029)
  • Fix Interactivity, not working on Classic Themes. (57396)

Collaborative Editing

  • Collab editing: Ensure block attributes are serializable. (57025)

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)

  • Font size picker: Fix Reset button focus loss. (57196)
  • 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): Apply focus style to revision items. (57039)
  • [a11y] Fix: Use spans instead of headings on data views table view page title. (56956)

Performance

Block Editor

  • Block: Combine store subscriptions. (56994)
  • Combine selectors in the ‘BackgroundImagePanelItem’ component. (57159)
  • InnerBlocks: overlay: Remove viewport size condition. (57135)
  • Prevent layout re-rendering when changing selected block. (57136)
  • Prevent re-rendering the 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 the selected block changes. (57140)
  • Rewrite moving animation for better load performance. (57133)
  • Rich text: Avoid block editor subscription if not selected. (57226)
  • Try removing extra memoization for individual style panels. (57160)
  • 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.: Manage save props in one place. (57043)

Block Library

  • Gallery: Combine useSelect calls. (57240)
  • Image: Reduce ‘block-editor’ store subscriptions. (57358)
  • List: Avoid useSelect in block render. (57077)
  • Blocks: Simplify/optimize isUnmodifiedBlock. (56919)
  • InnerBlocks: Combine store subscriptions. (57032)

Components

  • Navigator: Use CSS animations instead of framer-motion. (56909)
  • useSelect: Only invalidate on subscribe if store changed. (57108)

Experiments

Data Views

  • Add hover style to table rows. (57058)
  • Add: See revisions template action. (57175)
  • Code Quality: Update: Reuse view revisions action on templates and pages. (57208)
  • DataViews: Add list layout to templates. (57014)
  • DataViews: Align 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. implementations. (57059)
  • DataViews: Centralize control of filter visibility in the Filters component. (57056)
  • DataViews: Close actions menu upon switching layouts. (57015)
  • DataViews: Display column header when the field is only filterable. (57051)
  • DataViews: Fix bug on operators count for table layout. (57048)
  • DataViews: Improve naming for easy identification 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/. devtools. (57385)
  • DataViews: Improve preview. (57116)
  • DataViews: Make deferredRendering prop optional. (57334)
  • DataViews: Make getItemId optional. (57308)
  • DataViews: Make filters footprint more condensed. (56983)
  • DataViews: Mark the new Templates pages as stable. (57109)
  • DataViews: Memoize onSelectionChange callback. (57390)
  • DataViews: Remove paginationInfo prop from ViewComponent. (57306)
  • DataViews: Remove reference to edit site class. (57075)
  • DataViews: Rename operatorsFromField to sanitizeOperators. (57050)
  • DataViews: Update onChangeView memoization. (57393)
  • DataViews: Update documentation. (57305)
  • DataViews: Use SelectControl for selecting a page. (57215)
  • Dataviews: Simplify pagination. (57071)
  • Fix: Empty dropdown(s) on the grid view. (57316)
  • Fix: Template list title font styles. (57027)
  • Sort order: Use Unicode characters instead of SVG icons. (56833)
  • Update: Make secondary actions trigger always visible. (57174)
  • Use default variants for Filter and View buttons. (57057)

Patterns

  • Fix broken undo history stack for Pattern Overrides. (57088)
  • Fix unsaved pattern not reflecting on pattern overrides. (57148)
  • [Pattern Overrides] Use a single checkbox to turn on pattern overrides for all allowed attributes. (57009)

List View

  • Allow right-click to open block settings dropdown, add editor setting. (50273)

Documentation

  • Add new section on markup representation of a block. (57230)
  • Added additional explanations to attributes and supports sections. (57120)
  • Added documentation for the text-decoration-control component. (57184)
  • CardHeader used instead of CardFooter. (45585)
  • Components: Update TypeScript-related tips in Contributing Guide. (57267)
  • Doc: Block Wrapper – enclose HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 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.), use correct keyword supports not support. (56906)
  • Docs/getting started readme. (57223)
  • Docs: Add a new “Build your first block” tutorial to the Getting Started section of the BEH. (56931)
  • Docs: Fundamentals block development/block in the editor — add page to manifest (toc). (57179)
  • Docs: Fundamentals of Block Development – block in the editor. (56488)
  • Enforce heading sentence case throughout the BEH. (57143)
  • Fix grammar and typos in the Block Development Environment doc. (57123)
  • Fix incorrect links in ToggleGroupControl docs. (57236)
  • Fix: Typo on footnotes docs. (57348)
  • Fixes heading hierarchy in block filters. (57239)
  • Minor heading to improve readability and reference. (57102)
  • Platform Docs: Fix missing link. (57145)
  • Remove Radix UI-related documentation. (57336)
  • Remove links to excalidraw diagrams from images. (56980)
  • Remove the “How to use JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. in the Block Editor” documentation. (57166)
  • Remove unnecessary TOCs from documentation. (57087)
  • Restore descriptions for deprecated button props. (37690)
  • Small heading fix. (57098)
  • Snackbar: Remove __unstableHTML prop from TS. (57218)
  • Update block toolbar and settings sidebar image. (57203)
  • fix: Updated the link for “Building a custom block editor”. (57319)

Code Quality

  • Add missing block/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. $schema property. (57201)
  • Add missing period in block descriptions. (57131)
  • Fix code style in Gutenberg_HTML_Tag_Processor_6_5. (57030)
  • Font size picker: Use Button API for keeping focus on reset. (57221)
  • Mobile: Fix getPxFromCssUnit circular dependency. (57045)

Block Editor

  • Editor: Move the 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. panel to the editor package. (57096)
  • Refactor useCanContextualToolbarShow for simplicity and clarity. (56914)
  • Remove unnecessary isDisabled option on useShortcut for BlockToolbarPopover. (56907)
  • Replace block variation buttons with ToggleGroupControl. (45654)
  • Replace isSmall prop #53560. (53599)
  • Several little refactors. (57107)
  • useBlockTypesState: Divide useSelect call into two. (57163)
  • useInputRules: Remove unneeded check for inputRule. (57164)

Components

  • Adding unit tests for useCompositeState to Composite component. (56645)
  • Delete experimental radix-ui based DropdownMenu component. (55626)
  • GradientPicker: Use index while iterating over gradient entries to avoid React “duplicated key” warning. (57361)
  • TabPanel: Refactor unit tests to @ariakit/test. (57302)
  • Tabs: Update styling to more closely match previous implementation. (57275)
  • ToggleGroupControl: Fix snapshots. (57367)
  • Move kebabCase() function from block-editor package and mark it as a private API. (56758)

Block Library

  • Gallery Block: Remove unused attributes property in 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. transformation. (57356)
  • Remove cruft in Button block editor styles. (30950)
  • Tag Cloud: Replace ‘withSelect’ HoC with ‘useSelect’. (57194)

Global Styles

  • Global styles revisions: Refactor sticky pagination footer to use CSS. (57294)
  • Relocate revisions from fill to sidebar component. (57034)
  • Simplify the conditions in GlobalStylesEditorCanvasContainerLink. (57144)

List View

  • Editor: Move and unify the inserter and list view states. (57158)
  • Editor: Unify the list view shortcut registration and definition. (57200)
  • ListView: Replace prop drilldown by a stable ref in store. (57198)

Typography

  • Font Library: Consolidate existing API rest endpoints. (57282)
  • Quality: Replace wpKebabCase function with kebabCase function from components package. (57038)

Site Editor

  • Editor: Move the panel visibility state from the edit-post to the editor package. (57012)
  • Remove isResizing variable from layout component as it is always false. (57119)
  • Allow disabling and enabling comments. (57205)
  • Add basic test coverage for 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. editing mode. (56871)
  • Fix flaky Navigation focus mode test. (57016)

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

  • Implement proposal to remove the WordPress-Docs ruleset. (56982)
  • 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 menu and title labels in Gutenberg plugin translatable. (43500)

Modules API

  • Refactor, tests, and final dependencies array structure. (57231)

Tools

  • Dependency Extraction Webpack Plugin: Fix test issues. (57332)

Testing

  • Add an end-to-end test to check image upload working in site editor. (57086)
  • Components: Add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. __experimentalExpandOnFocus unit tests for FormTokenField. (57122)
  • Global styles revisions e2e: Tidy up selectors to open revisions panel. (57146)
  • Migrate ‘Comments Form’ end-to-end tests to Playwright. (57337)
  • Migrate Site Editor ‘settings sidebar’ end-to-end tests to Playwright. (57392)
  • Migrate remaining ‘block switcher’ end-to-end tests to Playwright. (57381)
  • e2e: Try to fix flaky font-library test. (57092)

Build Tooling

  • DependencyExtractionWebpackPlugin: Drop webpack4 and node<18. (57303)
  • Disable webpack perf hints when compiling packages. (57155)
  • Update to Node.js 20.x. (56331)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:@andrewhayward @andrewserong @anton-vlasenko @arthur791004 @atachibana @bacoords @BenjaminZekavica @brookewp @c4rl0sbr4v0 @chad1008 @ciampo @colorful-tones @DAreRodz @dcalhoun @ddryo @derekblank @desrosj @dotslashbit @ellatrix @fluiddot @geriux @getdave @glendaviesnz @gvgvgvijayan @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @koen12344 @kurudrive @luisherranz @Mamaduka @matiasbenedetto @mcsf @mhimon @mirka @ndiego @ntsekouras @oandregal @ockham @ramonjd @richtabor @SiobhyB @sirreal @stokesman @t-hamano @tellthemachines @TimBroddin @youknowriad @yuliyan


Props to @annezazu for co-writing, and @saxonfletcher for for designing assets for this post. 

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

What’s new in Gutenberg 17.3? (20 December)

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


Gutenberg 17.3 has been released and is available for download!

This update incorporates numerous enhancements, 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, improvements in performance and 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), and ongoing development of Phase 3 features.

  1. Summary of changes in global styles revision history
  2. Updated preferences panel
  3. Integration of Gravatar Service for Social Icons
  4. Other Notable Highlights
  5. Changelog
  6. First time contributors
  7. Contributors

Summary of changes in global styles revision history

A brief summary of the revision change set in the global styles and now offers a concise overview for enhanced visibility. (#56577)

Updated preferences panel

An improved organization of the preferences modal, with introduction of new panels for Appearance and Accessibility settings. (#56481)

Integration of GravatarGravatar Is an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com, and used within the WordPress software. https://gravatar.com/. Service for Social Icons

A new social icon for the Gravatar service in the social icons 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.. Gravatar, widely utilized across various WordPress platforms, provides profile pages that allow individuals to list their web presence. (#56544)

Other Notable Highlights

  • Introduces the ability to adjust the dimensions (margin and padding) of individual list-item blocks. #55874
  • Unified post editor with template and post-only editing modes. (#56671)
  • Start using modules in the interactive create-block template. (56694)

Changelog

Bug Fixes

  • (edit-site)(use-init-edited-entity-from-url) Safely access toString() on siteData‘s page_on_front. (57035)

Components

  • Fix form token field suggestion list reopening after blurring the input. (57002)

Contributors

The following contributors merged PRs in this release:

@fullofcaffeine @talldan
= 17.3.0-rc.1 =

Enhancements

  • Components: Replace TabPanel with Tabs in the editor’s ColorPanel. (56878)
  • Editor: Move the edit template blocks notification to editor package. (56901)
  • Editor: Unify the preview dropdown between post and site editors. (56921)
  • Editor: Use the same PostTemplatePanel between post and site editors. (56817)
  • Tabs: Replace id with new tabId prop. (56883)
  • Update main toolbar buttons to all be compact. (56635, 56729)
  • Update preferences organization. (56481)

Components

  • FocalPointPicker with __next40pxDefaultSize. (56021)
  • Font Library: Improve usability of font variant selection. (56158)
  • Tabs: Sync browser focus to selected tab in controlled mode. (56658)
  • Use consistent styling for duotone panels. (56801)
  • BorderControl: Fix button styles. (56730)
  • DimensionControl: Add __next40pxDefaultSize prop. (56805)
  • FontSizePicker: Add opt-in prop for 40px default size. (56804)
  • QueryControls: Add opt-in prop for 40px default size. (56576)

Block Library

  • Control dimensions (margin and padding) of the list-item block. (55874)
  • Consistent default typography controls across blocks. (55208)
  • Social Icons: Add Gravatar service. (56544)
  • Tweak table block placeholder with __next40pxDefaultSize props. (56935)

Site Editor

  • Merge the post only mode and the post editor. (56671)
  • Site Editor SidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.: Add “Areas” details panel to all templates and update icon. (55677)

Block Editor

  • Allow dragging between adjacent container blocks based on a threshold. (56466)
  • Components: Replace TabPanel with Tabs in the editor’s ColorGradientControl. (56351)

Data Views

  • Update data view layout. (56786)

Layout

  • Match the front end layout classname in the editor. (56774)

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.: Show change summary on selected item. (56577)

Icons

  • Another round of HiDPI icon tweaks. (56532)

Media

  • Update external images panel in post publish sidebar. (55524)

Post Editor

  • Implement Tabs in editor settings. (55360)

Bug Fixes

  • Create-block-interactive-template: Add all files to the generated 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 zip. (56943)
  • Create-block-interactive-template: Prevent crash when Gutenberg plugin is not installed. (56941)
  • Fix end-to-end test: Update how we find the template title to match markup changes. (56992)
  • Fix: Fatal php error if a template was created by an author that was deleted. (56990)
  • Fix: PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 deprecated warning strpos(). (56171)
  • Fix: Use span on template list titles. (56955)
  • Font Library: Add font family and font face preview keys to schema. (56793)
  • Remove unnecessary CSSCSS Cascading Style Sheets. for shrinking central 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. area. (56220)
  • Revert format types hook refactor. (56859)
  • Show template center UIUI User interface when no block is selected. (56217)
  • setImmutably: Don’t clone all objects. (56612)

Block Library

  • Fix error when using a navigation block that returns an empty fallback result. (56629)
  • Fixture Tests: Correctly generate fixture files for form-related blocks. (56719)
  • Image: Fix resetting behaviour for alt image text. (56809)
  • Social Links Block: Prevent Theme Styles Distorting Size. (56301)
  • Update image block save to only save align none class. (56449)

Components

  • DropdownMenuV2Ariakit: Prevent prefix collapsing if all radios or checkboxes are unselected. (56720)
  • FormToggle: Do not use “/” math operator. (56672)
  • PaletteEdit: Temporary custom gradient not saving. (56896)
  • ToggleGroupControl: ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. correctly to external controlled updates. (56678)

Block Editor

  • Apply __next40pxDefaultSize to TextControl and Button component in renaming UIs. (56933)
  • Pattern inserter: Fix Broken preview layout. (56814)
  • Patterns: Keep synced pattern when added via drag and drop. (56924)

Design Tools

  • Background image support: Fix duplicate output of styling rules. (56997)
  • Fix sticky position in classic themes with appearance tools support. (56743)

Post Editor

  • Editor Canvas: Fix animation when device type changes. (56970)
  • Editor: Fix display of edit template blocks notification. (56978)

Site Editor

  • Fix active edited post. (56863)
  • Show back button when editing navigation and template area in-place with no URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org params. (56741)

Typography

  • Fix order of typography sizes and families. (56659)
  • Font Library: Fix font uninstallation. (56762)
  • Navigation editor: Fix content mode. (56856)

Patterns

  • Fix top position and height of Pattern Modal Sidebar. (56787)

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.

  • Start using modules in the interactive create-block template. (56694)

Layout

  • Fix input not showing when switching to “Fixed” width. (56660)

Data Views

  • Align data view icon usage. (56602)

Block Styles

  • Consolidate and resolve display issues between InserterPreviewPanel and BlockStylesPreviewPanel. (56011)

Inspector Controls

  • Decode some characters if used in taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. name so it’s displayed correctly in 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. filters. (50376)

Accessibility

Data Views

  • Add scroll padding to dataviews container. (56946)
  • Adding aria-sort to table view headers. (56860)
  • Fix: Use span instead of heading for the template titles. (56785)

Post Editor

  • Avoid to show unnecessary Tooltip for the Post Schedule button. (56759)

Block Editor

  • Increase right padding of URL field to take the Submit button into account. (56685)

Site Editor

  • Shorter screen reader announcement after changing pages. (56339)

Components

  • Use tooltip for the Timezone only when necessary. (56214)

Performance

  • Block editor: Make all BlockEdit 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. pure. (56813)
  • Block editor: Remove 4 useSelect in favour of context. (56915)
  • Block editor: hooks: Avoid BlockEdit 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. for content locking UI. (56957)
  • Block editor: hooks: Share block settings. (56852)
  • Keycodes: Avoid regex for capital case. (56822)
  • Measure typing without inspector. (56753)
  • Media upload component: Lazy mount. (56958)
  • Paragraph: Store subscription for selected block only. (56967)
  • Perf: Reopen inspector for remaining tests. (56780)
  • useBlockProps: Combine store subscriptions. (56847)

Block Editor

  • Improve opening inserter in post editor. (57006)
  • hooks: Subscribe only to relevant attributes. (56783)

Site Editor

  • Fix typing performance by not rendering sidebar. (56927)

Components

  • ToolsPanel: Fix deregister/register on type. (56770)

Modules API

  • Load the import map polyfill only when there is an import map. (56699)

Post Editor

  • Editor: Avoid double parsing content in ‘getSuggestedPostFormat’ selelector. (56679)

Experiments

Data Views

  • DataViews: Add story. (56761)
  • DataViews: Add support for NOT IN operator in filter. (56479)
  • DataViews: Centralize the view definition and rename list to table. (