WordPress 6.7 Source of Truth

After quite a few rounds of sharing the Source of Truth on my personal site, Birgit Pauli-Haack, the wonderful creator and curator of Gutenberg Times, offered up this space for me to share this resource. Going forward, we’re going to experiment with it continuing to be shared here in hopes of reaching more content creators, educators, and general WordPress enthusiasts who want to know every detail of the latest & greatest of WordPress.

As always, I’d recommend staying up to date on the dev notes as those are rolling out along with reviewing the Field Guide when it comes out.

As a reminder, this is not meant to replace dev notes or the release-specific field guides, which serve important roles and are separate efforts. I mainly see it as for folks close to the WordPress release itself and educating others than I see it as something broadly helpful for the average WordPress user. It’s a foundational resource but, it’s so long and detailed, it needs to be repackaged to be useful in each space. Feedback is welcomed for improvements for this version and for future versions as I consider how best to share this information.

Big thank you to everyone who helped in big and small ways.

Changelog

Any changes will be catalogued here as the release goes on.

  • Oct 21, 2024: added links to published Dev Notes
  • Nov 19, 2024: added in notes to auto size for lazy load images due to a bug found.

Important Note/Guidelines

This is a public document so please be mindful of the fact that a wider audience than you might think can participate in what’s shared here 🙂 

Please do not copy and paste what is in this document since this will be shared with many people. This should be used to inspire your own content and to ensure that you have the best information about this release. If you do copy and paste, keep in mind that others might do the same, opening the door for some awkwardness around duplicated content out on the web. 

  • The document is shared publicly so be mindful of what you comment. The audience is large!
  • You will have Comment access but not edit access. This is intentional – please comment if you have any questions/concerns/feedback and I’ll follow up. 
  • If there are drastic changes, this document will be updated and you will be alerted.
  • Each item has been tagged using best guesses with different high level labels so that you can more readily see at a glance who is likely to be most impacted.
  • Each item has a high-level description, visuals (if relevant), adoption strategy (if relevant), and key resources if you want to learn more.

Overview 

Along with a new default theme, there are new features, like the ability to zoom out to compose content with patterns, and new APIs, like the Template Registration API. More than anything though, this release brings refinement to how everything connects together to create a more seamless WordPress experience.

Of note, this release includes Gutenberg 18.6 – 19.3 and, for the first time, I used AI to help offer rewrites to different sections. 

6.7 assets: 

To view all assets in this document, please review this drive folder

Tags

To make this document easier to navigate based on specific audiences, the following tags are used liberally: 

[end user]: end user focus. 

[theme author]: block or classic theme author. 

[plugin author]: plugin author, whether block or otherwise.

[developer]: catch-all term for more technical folks. 

[site admin]: this includes a “builder” type. 

[enterprise]: specific items that would be of interest to or particularly impact enterprise-level folks

If no tags are listed, it’s because the impact is broad enough to impact everyone equally. 

Priority Items for 6.7

New default theme: Twenty Twenty-Five

6.7 marks the next edition of a default WordPress theme, designed to showcase the latest in WordPress and set a new standard for block themers. This year’s theme aims to cater to a wide range of bloggers. It’s designed for simple personal blogs like ma.tt, photo blogs focused on photography or portfolios, and more complex blogs, such as news sites that require a broader set of blocks and more complex content. 

Visuals: demo walking through the theme including style variations, template layouts, and page patterns.
Key Make Posts/GitHub/Trac Issue(s): Follow the Twenty Twenty-Five GitHub repo and read the announcement post for more information. 

Refining Data Views 

Following the launch of Data Views in 6.5 and advancements in 6.6, this release is focused on refining the experience with a few new features planned. The aim is to make these views more flexible for customization and more functional to use. 

Enhancements

Expanded extensibility 

As part of enhancing Data Views extensibility and supporting the Admin Redesign efforts, an API was introduced to register and unregister dataview actions. The existing post actions were also moved to globally registered actions and typed actions (see examples in packages/editor/src/dataviews/actions). This enables third-party developers to manage actions as needed. This includes a way to register and unregister core actions around trashing, permanently deleting, and restoring posts. In staying with the idea, users of the component can also unregister actions to duplicate posts, patterns, or template parts

Developers can also remove the actions to view posts and post revisions or prevent users from renaming a post or reordering pages. These actions appear in both the Site Editor views and the sidebar in the Post or Site Editor.

Visuals: demo changing grid density, image of show/hide filters option.
Adoption approach: updated by default if using a block theme and opt in for extending with two guides to help Using Data Views to display and interact with data in plugins & Actions from Data Views: Adding images to the Media Library
Key Make Posts/GitHub/Trac Issue(s): Follow this tracking issue for more information.

Consolidating and expanding block supports

Several blocks now come with expanded support options, enabling even more design possibilities. Notably, the long-requested shadow support for Group blocks has been added, which is a big win for designers and theme developers:

  • Buttons: Add border, color, and padding block supports. (63538)
  • Categories: Add border support (63950)
  • Column: Enable border-radius support. (63924)
  • Comment Author Name: add border support (64550)
  • Comment Content: add border support (64230)
  • Comment Date: add border support (64210)
  • Comment Template: Add Border Block Support. (64238)
  • Comment Edit Link: Add Border Block Support. (64239)
  • Comment Reply Link: Add border support. (64271)
  • File: Add border block support (64509).
  • Gallery: Add border block support. (63428)
  • Group: Add block support for shadow. (63295)
  • Heading: Add border support. (63539)
  • Image: Adopt margin block support (63546)
  • Latest comments: Add color block support (63419)
  • List: add border support (63540)
  • List Item: Add color support (59892), add border support (63541).
  • Media & Text: Add border support (63542)
  • Paragraph: Add border support (63543)
  • Post Author Biography: Add border support  (64615)
  • Post Author Name: Add border support  (64530)
  • Post Author: Add border support  (64599)
  • Post Comments Form: Add Border Block Support. (64233)
  • Post Content: Add background image and padding support (62499)
  • Post Date: Add border support (64023)
  • Post Excerpt: Add border support (64022)
  • Post Terms: Add border support (64246)
  • Post Title: Add border support (64024)
  • Preformatted: Add border support (64302)
  • Query Title: Add border support  (64581)
  • Quote: Add border support (63544), add spacing supports (63545), add background image and minimum height support (62497), add align support (64188).
  • Search: Add margin support. (63547)
  • Site Tagline: Add border support (63778)
  • Site Title: Add border support (63631)
  • Social Links: Add border block support (63629)
  • Tag Cloud: Add border block support (63579)
  • Term Description: Add border block support (63630)
  • Verse block: Add background image and minimum height support (62498)
  • Text orientation controls have been added to more blocks (site-title, site-tagline, verse, and button block.) (#62727)

Visuals: image of shadow support in the Group block.

In Roster of design tools per block (WordPress 6.7 edition, you’ll find an overview table, updated with the most recent changes.

Block Bindings improvements, including UI to connect blocks and custom fields [developer] [plugin author] [enterprise]

The Block Bindings API launched in 6.5 and iterated upon in 6.6 allows you to bind dynamic data to block attributes, solving many use cases for custom blocks and powering other features, like overrides in synced patterns. The work for this release centered mainly on polishing and opening the underlying APIs that were deemed stable, improving the overall UX, and adding a user interface (UI) that allows users to connect attributes with custom fields to their binding sources, making it possible to create bindings through the UI instead of the Code Editor.

UI to connect blocks and custom fields

A quick note here, this is specific to post meta fields as the APIs to extend this UI weren’t considered stable yet. This means that other sources can’t use it yet.

This release comes with a new user interface (UI) that allows users to connect attributes with custom fields, making it possible to create bindings through the UI instead of the Code Editor. This UI is controlled by a new editor setting reading a new edit_block_binding capability, which is mapped to `edit_post` (if editing a post) or edit_theme_options (if editing a template). This means that by default admin and editor users can create and modify bindings, but this can be overridden with block_editor_settings_all or map_meta_cap filters.

New APIs to empower extenders

UX improvements

In terms of UX improvements, this includes everything from warnings when a block is connected to an invalid attribute to changing the placeholder text when a block is bound. Additionally, a new “label” property has been added to register_meta to be able to consume a human-readable text, which highly improves the UX, especially for non-developer users. When combined, these all seek to improve the experience of editing and interacting with bound blocks.

For this release, the possibility of extending this UI hasn’t been opened because the API wasn’t considered stable, but there are plans to do so in the future.

Visuals: demo of UI to connect blocks and custom fields. 
Adoption approach: opt-in by using block bindings UI with the ability to override which users have access to the UI with the `block_editor_settings_all` filter. To disable, you can use the same `block_editor_settings_all` filter and set $editor_settings['canUpdateBlockBindings']as false.
Key Make Posts/GitHub/Trac Issue(s): To read about every change in this release, review this iteration issue.

The Developer Note covers the details: Block Bindings: Improvements to the Editor Experience in 6.7

Polishing the Query Loop block with a focus on simplicity

WordPress 6.7 introduces significant improvements to the Query Loop block, focusing on simplicity and clarity. One of the most notable changes is the default settings, where the block now automatically inherits the query from the template, eliminating the need for users to enable this option manually. This ensures that posts display immediately both in the editor and on the front end, streamlining the process for most users who just want to see their content without extra configuration. This also applies when adding a Query Loop block to a single post or page, where the settings will be automatically configured to work in that context.

The Post List variation has been removed from the Inserter due to its confusing settings, which often caused posts to not appear. This change improves the overall user experience. 

In terms of customization, a new toggle allows users to easily switch between default and custom queries. If opting for a custom query, another toggle lets users choose between filtering for posts, pages, or custom post types. Additionally, commonly used settings like Posts Per Page, Offset, and Max Pages to Show have been moved from the toolbar to the sidebar settings panel, consolidating all key options into one central place for easier configuration.

The update also includes several refinements, such as a quick preview when selecting the Query Loop block in the Inserter and more intuitive help text, particularly for sticky posts, which are now clearly labeled to always appear first. Pagination controls have been enhanced and moved to the Advanced section for better organization. Another new feature is the introduction of a “format” parameter, which allows users to filter content by post format, offering more flexibility in creating tailored queries. Combined, these updates make the Query Loop block both easier to use for beginners and more powerful for advanced users.

Visuals: demo of some of the query loop block changes, image of post format support. 
Key Make Posts/GitHub/Trac Issue(s): Core Editor Improvement: Simplified Query Loop block with smarter defaults & intuitive settings.

Zoom out to compose with patterns

The Zoom Out view aims to simplify the process of composing content at the pattern level, rather than focusing on lower-level, individual blocks. This new feature, accessible as a toggle in the toolbar, introduces a high-level, streamlined approach to site building with several key benefits:

  • High-Level Overview of Content Structure: The Zoom Out View allows users to insert and manipulate patterns across a page or template, offering a clearer sense of the content structure. 
  • Efficient Pattern Manipulation: While zoomed out, users can easily move, delete, shuffle between, and edit patterns, powered by the usual block toolbar.
  • Toggle On/Off: This option can be turned on and off in various ways, including clicking the option in the toolbar and double-clicking to edit patterns. All of these options provide pathways in and out of zooming as you’d like.
  • Ability to style at a high level: As part of making zoom out more robust, you will still see options to style top level container blocks and any individual blocks that don’t exist within a container. This means you can stay zoomed out and still make quick changes, like changing the background color of a Group block.
  • Additional Enhancements: Other refinements include closing the inserter automatically when switching to block-level editing, showing top-level sections in List View, visual vertical displacement when dragging patterns, and an “Add pattern” prompt for the quick inserter.

This feature gives users a simplified, high-level interface to make design changes, ensuring more cohesive layouts with less granular block management.

Visuals: demo showing a template being built moving in and out of using zoom out.
Key Make Posts/GitHub/Trac Issue(s): Zoom out mode iteration issue for 6.7 for a full list of related changes (64197

Developer Notes for Zoom Out in WordPress 6.7

Media improvements

Adding and interacting with media is taking a big leap forward in this release with HEIC support, auto sizes for lazy loaded images, and more background image support at an individual block and global level:

Support for HEIC image uploads

“In WordPress 6.7, HEIC image uploads will be automatically converted to JPEG on the server when possible. This allows you to view HEIC images in WP Admin and use them in posts and pages regardless of whether a visitor’s browser supports HEIC. Automatic conversion of HEIC images to JPEG can be disabled using the image_editor_output_format filter.”

add_filter( 'image_editor_output_format', function( $output_format ) {

    unset( $output_format['image/heic'] );

    return $output_format;

} );

From the Automatic conversion of HEIC images to JPEG in WordPress 6.7

Auto Sizes for Lazy-loaded Images

“This implements the HTML spec for applying auto sizes to lazy-loaded images by prepending auto to the sizes attribute generated by WordPress if the image has a loading attribute set to lazy. For browsers that support this HTML spec, the image’s size value will be set to the concrete object size of the image. For browsers that don’t support the spec, the word “auto” will be ignored when parsing the sizesizes value.”

From the trac ticket that implemented this feature.

Developer Note: Auto Sizes for Lazy Loaded Images in WordPress 6.7

Adoption approach: Can opt out using wp_img_tag_add_auto_sizes filter, introduced in 6.7.1 to fix a bug.

Expanded and improved background image support

Recent updates to background image support bring new customization options for content blocks like Quote, Verse, and Post Content. Previously, background image functionality was restricted to container blocks such as Cover and Group, but with expanded support across multiple blocks, users now have more flexibility in design. This enhancement eliminates the need for nesting blocks, making it easier to achieve the desired look by adding a background image to individual blocks.

Another key improvement is the ability to set background images globally via Styles for block themes for all blocks with background support. For example, this means you can apply a background image across all Quote or Pull Quote blocks within a site, ensuring consistency in design. Additionally, when setting a background image globally or for an individual block, you can enable a fixed background directly from the block settings in Styles. Alternatively, you can define this setting in theme.json using the `background.backgroundAttachment` style property. Finally, a new popover interface has been introduced for background image controls, keeping them neatly hidden when not in use. 

In terms of technical updates, you can now use reference values for background images in theme.json, allowing for code reuse and avoiding potential bugs. For example, you can reference a background image defined via styles.background.backGroundImage by setting a value of { ref: 'styles.background.backgroundImage' } for another background image. Overall, these enhancements greatly improve the flexibility and user experience of adding background images across a site.

Visuals: images of Quote block and Verse block with background image support, demo of using background image tools in Styles.

Adoption approach: 

Opt out for HEIC support via the image_editor_output_format hook.

add_filter( 'image_editor_output_format', function( $output_format ) {

    unset( $output_format['image/heic'] );

    return $output_format;

} );

See examples of adding reference values to `theme.json` in the PR that implemented the feature

Key Make Posts/GitHub/Trac Issue(s): background image block support follow up tasks with a dedicated 6.7 section (54336)

View meta boxes in the iframed Post Editor [plugin author] [enterprise]

Previously, after an effort to iframe the post editor, metaboxes prevented the editor content from loading in an iframe, causing a fair amount of disruption and workarounds. To resolve this and ensure that both metaboxes and canvas content is visible when working on content, a split view option has been added to allow you to access both while editing when the editor is iframed. This change will provide a consistent WYSIWYG experience between the Editor and frontend views.

  • The editor running as an iframe will affect many plugin developers and may force you to modify your code (see this comment). Expect a dev note on this topic. Ideally, if you are building a plugin that extends the editor with custom data input, you would transition to one of the available SlotFills in the interface, creating a more integrated user experience.
  • This work makes the post editor canvas work as an iframe when there is a meta box.
  • The meta box area is resizable, and its height is saved as a user preference. If the browser height is low, the meta box switches to a toggleable details element.

For enterprise folks who often use plugins that add metaboxes, this is also a change to be aware of and plan for. 

Visuals: demo showing before and after this work with the Yoast plugin as an example. 
Adoption approach: Plugin developers may have to alter their code. Expect a dev note on this topic. Here’s an example from Yoast around adjustments that had to be made.
Key Make Posts/GitHub/Trac Issue(s):  Try split content view with open metaboxes (64351)

Developer Note: Post Editor iframing with meta boxes in WordPress 6.7

Font management updates [end user] [theme author]

Edit and apply font size presets 

An enhanced Styles interface allows for greater flexibility when creating, editing, removing, and applying font size presets. Users can now easily modify the presets provided by a theme or create their own custom options. A key feature is the ability to toggle fluid typography, which enables responsive font scaling, with the option to set custom fluid values for finer control over responsiveness. Of note, individual font sizes may opt out of fluid typography if it is turned on globally. Individual font size presets can opt in to fluid typography if it is not turned on globally, creating more possibilities. 

Consistent interfaces

In addition to these font-related enhancements, the Styles interface has been upgraded to offer more intuitive control over font size presets. These presets, along with color presets, are now available for selection from the Styles sidebar under the “Browse styles” option, aligning with the left sidebar Styles menu. This change creates a more streamlined and consistent user experience, making navigating and applying global styles across the site easier and making   the fonts management modal dialog more discoverable. (62129)

Font library enhancements

Fonts are now grouped by source (63211) helping users understand at a glance where each font comes from. A new “Select All” option (63531) allows for quick activation or deactivation of all fonts at once, streamlining font management. When no fonts are installed, a message now displays in the library tab (63740), improving user awareness. Additionally, enhancements have been made to the “No fonts installed” state (63533), clarifying situations when fonts are installed but not yet activated.

Visuals: demo showing editing font preset, creating a font preset, and font library improvements.
Key Make Posts/GitHub/Trac Issue(s): Core Editor Improvement post dedicated to these changes, efforts done across a number of PRs including add font size presets UI (63057), Font Library: group fonts by source (63211), and fluid typography: allow individual preset overrides (64790).

Developer Notes excerpt: New Font Size Presets UI

Additional Items for 6.7

Template Registration API [plugin author] [theme author] [developer]

A new API streamlines the process of registering templates and template parts for plugins, making it easier for developers to integrate custom templates. Previously, plugins had to rely on multiple filters to accomplish this, which created a barrier to entry and limited adoption. With this new API, developers now have a much simpler path to building block templates and aligning with the expectations of WordPress users.

One key feature of the new API is that plugin-registered templates can be overridden by themes, with fallback options that automatically revert to the plugin’s registered title and description when necessary. The API also empowers theme builders by offering customization options for these templates. Additionally, developers can unregister existing templates or create custom category templates to suit their needs.

Visuals: image of code showing how to register a template. 
Adoption approach: Opt in. The tutorial, Registering block templates via plugins in WordPress 6.7, walks you through an example of how to use the new API to provide single, archive, and custom templates for a Book custom post type. Here’s an example for now:

register_block_template( 'devblog-plugin-templates//example', [

'title'       => __( 'Example', 'devblog-plugin-templates' ),

'description' => __( 'An example block template from a plugin.', 'devblog-plugin-templates' ),

'content'     => '

<!-- wp:template-part {"slug":"header","area":"header","tagName":"header"} /-->

<!-- wp:group {"tagName":"main"} -->

<main class="wp-block-group">

<!-- wp:group {"layout":{"type":"constrained"}} -->

<div class="wp-block-group">

<!-- wp:paragraph -->

<p>This is a plugin-registered template.</p>

<!-- /wp:paragraph -->

</div>

<!-- /wp:group -->

</main>

<!-- /wp:group -->

<!-- wp:template-part {"slug":"footer","area":"footer","tagName":"footer"} /-->'

] );

Key Make Posts/GitHub/Trac Issue(s): Registering block templates via plugins in WordPress 6.7 developer blog post tutorial, Add plugin template registration API (61577).

Developer Note: New Plugin Template Registration API in WordPress 6.7

Preview Options API [developer] [plugin author] [enterprise]

The latest WordPress release enhances the Preview Options in the block editor, making it easier for developers to customize how content is previewed. A new API allows plugins and themes to add custom items to the preview dropdown menu, enabling users to see content in different formats or environments. This flexibility improves the editing experience while maintaining the existing structure of the Preview dropdown:

  • Introduces PreviewDropdownMenuItem component for adding custom items to the Preview dropdown
  • Allows plugins to add menu items with custom titles and click handlers
  • Maintains the existing Preview dropdown structure while allowing for extensibility

Visuals: image of an example of how a plugin could use this API. 
Adoption approach: opt in.
Key Make Posts/GitHub/Trac Issue(s): Add extensibility to PreviewOptions v2 (64644)

Developer Note: Extending the Preview Dropdown Menu in WordPress 6.7

Changes to Heartbeat API to lower minimum allowed time [enterprise] [plugin author] 

The WordPress Heartbeat script (used to set post locks, show logged-out warnings in wp-admin, etc.) has been updated to improve the cross-user collaboration experience. This update speeds up the “heartbeat” a bit, from 15 to 10 seconds, which means post locked notices (when somebody edits a post) will be set and cleared faster. It also allows extenders more flexibility in setting a precise heartbeat poll interval, rather than a fixed set of values, ranging from 1 to 3600 seconds (1 hour).

Adoption approach: opt in by making changes to wp.heartbeat.interval() which has been modified to allow theme and plugin authors to set the heartbeat interval to any value between one second and one hour rather than limiting them to a fixed set of values.
Key Make Posts/GitHub/Trac Issue(s): Heartbeat API: consider changing the min allowed time (61960)

Customize heading level curation [developer]

The levelOptions block attribute allows you to limit the available heading levels directly through block markup in patterns and templates. Additionally, you can customize the attribute using a filter for both PHP and JavaScript so the applications are broad. This attribute is now available for Core blocks that use heading elements, including Post Title, Query Title, Site Tagline, Site Title, and Comments Title.

Visuals: image of before/after heading curation.
Adoption approach: Opt in via block markup or filters. For examples, please review the PR that added this option to see both markup and filter examples. 
Key Make Posts/GitHub/Trac Issue(s): Enable heading level curation. (63535)

Developer Note excerpt: Heading level curation

General improvements

Updated order of editor actions for a clearer sidebar

The top toolbar in the editors is an important part of the publishing and saving flow, requiring careful consideration around the placement of each item. In this release, two enhancements come together to add clarity and streamline the experience of working across the editors:

  • Reorder the top bar actions to move Save/Publish buttons to the right of the Settings and Global Styles (pinned items) buttons. 
  • Swap the “Cancel” and “Publish” buttons in the pre-publish check panel, allowing users to publish without additional cursor movement.

Visuals: demo of streamlined pre-publish flow, image of before/after in the site editor of editor actions, image of before/after in the post editor of editor actions.
Key Make Posts/GitHub/Trac Issue(s): Editor topbar: Reorder the actions on the right (65163), Swap position of the Pre-publish checks buttons (65317).

Opt out preference for ‘Choose a Pattern’ modal when adding a new page

Based on feedback, a new preference was added to toggle on and off “Show starter patterns” to provide the ability to control whether starter patterns appear when creating a new page. 

Visuals: demo showing turning off this option.
Adoption approach: Opt in by turning preference on. 
Key Make Posts/GitHub/Trac Issue(s): Add opt out preference to the ‘Choose a Pattern’ modal when adding a page. (65026)

More robust saving

Imagine a situation where you are adding an image to your post and, before it finishes loading, you navigate away from the editor, without ever getting a warning that your image hasn’t yet been saved. In WordPress 6.7, work was done to ensure that doesn’t happen anymore with the introduction of temporary block attributes that ensure in-progress media items are eventually saved and shown:

  • Introduce “local” attributes and use it for the image block. (63076)
  • Video Block: Do not persist blob urls and fix undo. (63238)
  • Audio Block: Do not persist blob urls and fix undo. (63257)
  • File block: Do not persist blob urls and fix undo. (63282)

Iterating on pattern shuffling

To ensure that pattern shuffling behaves as expected and to minimize the risk of losing customizations made to patterns, several adjustments were made to limit its scope:

  • Shuffling now applies only to patterns added by the theme or the user.
  • Shuffling is only available in the zoomed-out view, and the option has been removed from the block toolbar.

Key Make Posts/GitHub/Trac Issue(s):  Remove the Shuffle block toolbar button (64954), limit pattern shuffling to theme and user patterns only (62677).

Writing flow improvements 

  • Allow dropping multiple images to the image block. (65030)
  • Drag and Drop: When dragging a mix of video, audio, and image blocks, create individual blocks as appropriate. (65144)
  • Inserter: When opening the block inserter, it will now stay open when interacting with the editor canvas. This makes it easier to move around the document while adding blocks. (63059)
  • LinkControl: Refined the display of the link preview title and URL when both are same. (61819)
  • Link Editing: Automatically add tel to phone number when linking URL. (64865)
  • Page editor: Double-click to edit template part. (65024)
  • Post Title: Fix pasting in Safari. (64671)
  • Post Title: Move selection at the end after pasting over the text. (64665)
  • Restore: Move to trash button in Document settings. (65087)
  • Slash Inserter: Restrict block list to allowed blocks only. (64413)
  • Writing flow: Split heading into default block. (61891)

Adding block examples and previews

The following adds previews and examples to blocks so that, when searching in the Inserter, you can quickly see how each might be used:

  • Excerpt block: Add example of the block. (63010)
  • Login/out block: Add example of the block. (62937)
  • Post author blocks: Add example and preview. (62978)
  • Post content block: Add example of the block. (62968)
  • Post title: Add example of the block. (62955)
  • Post date block: Add a block example. (63368)
  • Post featured image: Add example of the block. (63011)
  • Post terms block: Add an example. (63369)
  • Query loop block and Posts list: add example (63286)

Site Editor focused

  • Add colors and typography to the browse styles section. (63173)
  • Allow editing of description only for custom templates. (63664)
  • Add a typesets section to Typography. (62539)
  • Apply same styles to block previews on inserter and Styles. (63177)
  • Document bar is now displayed when viewing the Style book and Style revisions (#62669)
  • Move font directory into uploads to match WP 6.5. (60354)
  • Polish create template part modal. (63617)
  • Template parts now show the content panel in the editor settings. (#62034)
  • Use four color palette colors instead of five for useStylesPreviewColors. (64700)

Other

  • Automatically select group variation if there is only one available. (61871)
  • Categories List block: Add dropdown for taxonomies. (65272)
  • Cover Block: Move Clear Media button from Inspector Controls to Block Controls. (64630)
  • Flex dimensions: Rename “Fill” to “Grow”. (62779)
  • Format Library: Add alt edit field to inline image (64124)
  • Image lightbox: Remove duplicate image when lightbox is opened. (63381)
  • Image: Adds the block controls for uploading image. (64320)
  • Improve Social Icons setup and appending. (64877)
  • Make SiteLogoReplaceFlow always available in the Site Logo block toolbar. (63499)
  • Move gallery link controls to the block toolbar. (62762)
  • Post Date & Comment Date: Add relative date format. (62298) Both the Post Date and Comment Dates now let you set a relative date format (e.g., 00 hours ago).
  • Table Block: Add toolbar button to add a caption. (47984)
  • Toolbar justification controls for Group and Content blocks The justification controls for the Group and Content blocks are now exposed in the block toolbar. This makes it easier to quickly update these blocks to be left or right-aligned, using a similar interface to text and button blocks. (62924)

Interactivity API iteration: bug fixes, internal refactor, and new APIs [developer] [plugin author]

For WordPress 6.7, internal improvements and bug fixes were done to ensure that the Interactivity API’s code is as simple and stable as possible and to make the Interactivity API resilient when used asynchronously (e.g., adding directives or stores after initialization). This paves the way for future performance improvements such as directive code splitting or lazy loading of interactive blocks. 

New APIs: getServer State & getServerContext

Alongside this, two new APIs are available with getServerState and getServerContext, available from the @wordpress/interactivity package. These functions are required for subscribing to changes in state/context when the HTML is updated using navigate(). These functions return an object that is analogous to the state/context returned by store()/getContext(), with a couple of differences:

  • The object returned is read-only.
  • The object is updated after navigate() calls, using the values defined in the HTML.
  • Devs cannot directly use its properties in directives, but they can use callbacks to subscribe to changes in its properties and update the usual state/context.

Adoption approach: Opt in. For awareness, some new documentation is available for using the Interactivity API:

Key Make Posts/GitHub/Trac Issue(s):Follow this iteration issue for more information.

Developer Note: Subscribe to changes in the Interactivity API state and context on client-side navigation in 6.7

Updates for the HTML API [plugin author] [developer] 

The HTML Processor has a few upgrades and features:

  • Full HTML Support: HTML Processor can handle any HTML and in only the rarest situations will the HTML Processor now give up, and in none of these cases is it because the processor doesn’t know how to handle a given tag.
  • Ability to modify most text in a document: The first of a new set of modification methods has been added to the HTML API: set_modifiable_text()
  • Full parser mode: The create_full_parser() mode was introduced, which allows the HTML API to process entire HTML documents from start to finish, something that wasn’t possible before.
  • CSS behavior reviewed: The Tag Processor and fragment parser in the HTML Processor will assume a document is in standards mode (no-quirks mode) unless it determines otherwise. In response to this, all CSS-adjacent code has been audited and updated to ensure that the matching of things like class names behaves just as it would in a browser.

Adoption approach: opt in by using the HTML API
Key Make Posts/GitHub/Trac Issue(s): HTML API: Plans for 6.7 (60396

Developer Note: Updates to the HTML API in 6.7

Time input as a subcomponent of TimePicker [developer] [plugin author]

Sometimes users only need a way to enter time separate from the date for the TimePicker.component. Developers can now offer separateTimePicker.TimeInput fields in their plugins and apps. 

Adoption approach: Documentation is available via Storybook.
Key Make Posts/GitHub/Trac Issue(s): TimeInput: Expose as subcomponent of TimePicker (63145). 

Developer Note excerpt: TimePicker: Time input can be used in isolation

Define block variations via a PHP file [developer] [plugin author]

6.7 introduces support for referencing a PHP file in block.json for registering block variations. To do this, you must assign the file path as a value for the variations property:

{

"variations": "file:./variations.php"

}

Previously, you could only define a variations JSON object, but this change lets you register the variations on the server-side. The PHP file must return an array of variations to register.

Adoption approach: opt in. 
Key Make Posts/GitHub/Trac Issue(s): block.json: Allow passing filename as variations field (62092

Override styles dynamically [plugin author] [developer]

The hook `useStyleOverride` is now available for plugin developers so that styles can be added to the canvas by blocks. This can be especially useful when packaging a component library with custom styles rather than instructing developers to enqueue a separate stylesheet in all the correct locations. 

Adoption approach: opt in. 
Key Make Posts/GitHub/Trac Issue(s): Make useStyleOverride public (63656

Help text for RadioControl options [developer] [plugin author]

“Developers using the Radio Control component can now add help text for each of the listed options by adding an extra `options[].description` property. This becomes even more relevant when the component is used in the context of input forms for visitors and users via the new wp-admin.” – From What’s new for developers? (September 2024)

Key Make Posts/GitHub/Trac Issue(s): RadioControl: add support for option help text (63751).

Clearfix for the Post Content block [theme author] [end user]

A “clearfix” solution is now applied to the Post Content block. This is an old-school technique that ensures blocks after Post Content sit below the content itself, especially in cases where there is a right or left-aligned block at the end of the post. As this was an issue for quite a while, it’s expected that theme developers found other ways to solve this particular problem. Now that it’s solved for the core block, you might need to double-check your existing sites to make sure this doesn’t break any previous layouts. Content creators might have helped themselves by adding a spacer block after the aligned block in questions.” – From What’s new for developers? (September 2024)

Adoption approach: please double-check to ensure existing layouts continue to work. 
Key Make Posts/GitHub/Trac Issue(s): Post content: Add clearfix (63690)

Continuing to improve PHP 8.x support

To continue improving support for PHP 8.x, code specific to prior PHP versions that are no longer supported have been removed.

Key Make Posts/GitHub/Trac Issue(s): Remove PHP < 7.2 code (61574