WordPress 6.5 source of truth on a blue background in white writing.

Building off of both the public 6.2 Source of Truth6.3 Source of Truth, and 6.4 Source of Truth, I’m offering up the next edition for WordPress 6.5, set to launch March 26th, 2024.

Compared to prior times, I waited to share this version partially due to time off for my birthday and some hard decisions in the RC phase. As always, I’d recommend staying up to date on the dev notes as those are rolling out (tracking issue, Make Core tag) along with the eventual Field Guide.

Feedback is welcomed for improvements for this version and for future versions as I consider how best to share this information. I have had a rough start to 2024 so if there are mistakes I’d love help correcting them and to be aware of them.

I was asked previously in WordPress slack why this wasn’t done as a community driven effort and I wanted to highlight my answer here in case that question comes to mind for anyone reading this. 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.

Big thank you to everyone who helped along the way, from quick answers to technical questions to adding in detailed information around some of these changes.

Important Note/Guidelines

This is a more 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 is public. 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. 

  • If there are drastic changes, this document will be updated and it will be noted in a changelog.
  • 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.

Changelog

March 19th, 2024: Performance metrics updated in light of new data and this comment on one of the metrics
March 25th: Release delay and Font library updates in line with a change in schedule.

Overview 

WordPress 6.5, set to be released on April 2nd, 2024 following a 1 week delay, brings a ton to the table, including:

  • An early look at aspects of phase 3: Admin Redesign with data views in the Site Editor.
  • Exciting technical breakthroughs for developers with new APIs.
  • Brand new features like the Font Library.
  • Load of polish in the form of both smaller, powerful enhancements to current features and a dedicated focus on usability in key areas, like link editing, drag & drop, revisions, and performance. 

For developers in particular, this release sets an exciting stage for features you’re going to hear a lot more about in future versions of WordPress: Block Bindings API, Custom Fields, Data Views package, Interactivity API, improved Block Hooks, and more. As is the WordPress way, these advanced tools are being rolled out in early stages in order to get feedback and shape the future. Get involved! Use what’s in place and share where you want to see these go. Embrace these new, advanced tools in WordPress 6.5, knowing that they are designed to evolve and expand in capabilities in the releases to come.

Of note, this release includes Gutenberg 16.8 to 17.7. 

Table of Contents

  1. Important Note/Guidelines
  2. Changelog
  3. Overview 
    1. Important links:
    2. 6.5 assets:
  4. Tags
  5. Priority Items for 6.5
    1. Manage fonts with the Font Library & add your own collection 
    2. New powerful views for pages, patterns, templates, and template parts in the Site Editor
    3. Enable appearance tools for Classic Themes, unlocking more creative control [theme author] [enterprise]
    4. Robust revisions in the Site Editor
      1. Read a short summary of styling changes thanks to a new design
      2. View all style revisions thanks to pagination
      3. Toggle on the Style Book to get a different angle
      4. Rely on full revisions for everything 
      5. New functions for Core Data API [plugin author]
    5. Connect block attributes and Custom Fields with help from the Block Bindings API [theme author] [plugin author] [enterprise]
      1. Connect block attributes and custom fields
      2. Developers can add support for other dynamic data sources
    6. More intuitive link editing experience
    7. Drag & drop usability improvements
    8. Design tools
      1. Box shadow: add to block settings and add to more blocks [theme author]
      2. Group block: Adjust Background Size, set repeat options, and set focal point [theme author]
      3. Cover block: Set aspect ratio 
      4. Cover block: overlay color automatically set upon adding background image
      5. Other supports
    9. New Lightbox UX that aligns with overall image linking
    10. General Site Editor UX improvements
      1. Show template toggle when editing pages
      2. New UX for template editing in the post/page editor
      3. Templates grouped properly in the Site Editor
      4. See summary of styling changes when you save
      5. Streamlined workflow to change pattern sync status and make theme patterns your own
      6. Rename and delete pattern categories
      7. Patterns defined from the pattern directory are shown in Site Editor > Patterns
      8. Media pattern category split into audio and videos 
      9. Command Palette: improved contextual commands and new commands
      10. Post Featured Image: option to use first image from a post [site admin] [developer] [theme author] [enterprise]
      11. Show outlines around editable blocks to ensure folks know what’s editable 
      12. Scrolling Top Toolbar
      13. Unifying the Post Editor and Site Editor experiences
      14. Other
    11. Performance improvements
      1. Introducing a more performant localization library
      2. 5x faster typing processing, 2x faster editor loading, 60% reduction in pattern loading
      3. Improvements for registering block variations with callbacks
      4. Support for AVIF image format 
    12. Introducing Interactions powered by the Interactivity API [plugin author] [theme author] [developer] [enterprise]
    13. Plugin dependencies [plugin author] [enterprise]
    14. More powerful Block Hooks API [plugin author]
    15. Pattern management in Classic Themes
      1. New Appearance > Patterns link for easier access 
      2. Paving a future path for access to the Site Editor pattern experience
  6. Additional Items for 6.5
    1. New UX for editing synced patterns
    2. Footnotes: support for custom post types and ability to remove footnotes support
    3. Script Modules API [plugin author] [theme author] [enterprise]
    4. HTML API Updates [developer] [plugin author]
    5. Create Block package introduces transformer property [plugin author]
    6. Block.json: allowedBlocks field to specify allowed children [plugin author] [enterprise]
    7. Set site icon in General settings
    8. View stylesheet support for block.json [plugin author] [developer] [enterprise]
    9. Updated preferences panel
    10. List View improvements 
      1. Rename (almost) all blocks from the editor [theme author] [end user] [site admin] [enterprise]
      2. Right click to open up your block setting’s menu
      3. Enjoy new keyboard shortcuts
    11. Scrolling top toolbar for the Distraction-Free Mode
    12. General editor improvements and polish
    13. Separator: Remove border-bottom property [theme author] [plugin author]
    14. Gallery block: Random order setting
    15. Gallery block: Styled scrollbars for captions [end user] [theme author]
    16. Aspect ratios removed [theme author]
    17. Raising the minimum version of MySQL
    18. Theme.json changes  [theme author]
      1. Disallow custom content size controls [enterprise]
      2. CSS Level 4 viewport-relative units support
    19. Ensure all custom taxonomies/post types are available for the Navigation block [plugin author]
    20. Changing the order of block global styles [theme author] [plugin author]
    21. Taxonomy terms updated across REST API [plugin author] [developer]
    22. New hook to change the subject line of an email [developer] 
    23. Support for AVIF image format 
  7. Punted to a future release
    1. Override content in a synced pattern 
    2. Customize the Navigation block mobile overlay
    3. New theme.json tools: Style Sections & Color Sections
    4. PHP compatibility work 
    5. Rollbacks (for failures) during automatic updates

As the release cycle continues, please keep in mind that various dev notes will be shared on Make Core along with an overall Field Guide as is standard across each release cycle. These items are not yet ready at the time of initially publishing this in line with beta 1 but will be updated over time. 

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

Manage fonts with the Font Library & add your own collection 

The Font Library makes it easy for anyone to install, remove, and activate fonts across your site. It’s available globally similar to the Media Library. Any installed font, whether installed by a user or a theme, can then be selected across the editing experience. When fonts are installed, they are stored in wp-content/uploads/fonts (this can be changed).

As part of this new experience, Google Fonts is automatically included for folks to use, along with the option to upload fonts manually. The Font Library is accessible directly for Block Themes via the Site Editor. This new ability unlocks a powerful and expansive way to control a foundational piece of your site’s design without needing to touch any code. 

For anyone looking to add their own font collection, extenders can use the same approach for adding Google Fonts. Each font collection will then be displayed as a new tab in the font library modal, as shown in this screenshot with Google Fonts. To provide a font collection, you can do so via PHP by calling the wp_register_font_collection () function with your configuration as a parameter or with PHP and a JSON file. A Font Collection can be disabled by using the wp_unregister_font_collection function. Read more in these in progress docs or in the original proposal for examples

Visuals: YouTube video covering the feature, install and apply fonts demo.

Adoption approach: 

Key Make Posts/GitHub/Trac Issue(s): Unblocking 6.5 Make Core post with reference to the Font Library feature, Font Library: WordPress 6.5 Required Tasks, Font Library. Stage 1: Manage fonts and Local fonts upload, Font Library. Stage 2: Fonts Library extensions, Font Library. Font Library: Unregister font collection. (54701)

New powerful views for pages, patterns, templates, and template parts in the Site Editor

New, feature packed view of pages, patterns, templates, and template parts make exploring, filtering, and digging into the various pieces of site editing as easy or complex as you want it to be. The changes all come down to presentation of information and additional features to allow you to customize what you see to your liking, from different layouts to hiding/showing different fields. This feature-rich experience provides immediate value to the Site Editor and lays the groundwork for future Phase 3 work, including efforts around Workflows and Media Library. Right now, this is intentionally only available in the Site Editor to allow for iteration and exploration before considering how best to expand into other parts of the WordPress experience. 

  • Ability to display a table with specific fields, pagination, and quick actions.
  • Toggling fields and sorting and filtering data by field.
  • UI for selecting entries and performing bulk actions.
  • Support for different layouts, like classic table and grid view.
  • Support for primary filters for Pages and Patterns for ease of access around common filters. 

Here’s a brief run down of what’s expected where:

  • “Site Editor > Templates > Manage all templates”: table & grid layouts available.
  • “Site Editor > Patterns > Manage all template parts”: table & grid layouts available with bulk actions.
  • “Site Editor > Patterns”: only grid layout available with a default primary filter showing sync vs unsynced patterns. It does not currently show synced pattern with overrides
  • “Side Editor > Pages”: table & grid layouts available with bulk actions and default primary filters. 

Behind the scenes, a next version of the dropdown menu component is being used within this work via a private API. While extensibility isn’t possible today, everything is being done with extensibility in mind to help encourage the entire ecosystem to take advantage of what’s being created in the future. As a result, please give feedback and try out the feature with this in mind!

Visuals: YouTube video going in depth with a demo showing the new view in place for templates 

Key Make Posts/GitHub/Trac Issue(s): DataViews: Improve all the table and list views in the site editor and further (55083)

Enable appearance tools for Classic Themes, unlocking more creative control [theme author] [enterprise]

Over many of the more recent WordPress releases, an increasing number of design tools were added that, until now, Classic Themes couldn’t opt into. For example, adding a simple border to a Group block requires support for Appearance Tools. This new option means Classic Themes can add access to these tools safely, without breakage, unlocking more design options for more sites in a big way. These options include border color, radius and width, link color, margin, padding, line height, and more. To see a full list of what design options are added, check out this list

Note that default classic themes have not yet added support for this due to concerns around layout changes.

Adoption approach: 

  • Classic themes can opt in via functions.php with add_theme_support( ‘appearance-tools’ ); 
  • For those using a theme.json file, you can opt in by setting appearanceTools to true.

Key Make Posts/GitHub/Trac Issue(s): Enable appearance tools via theme_support (43337)

Robust revisions in the Site Editor

Read a short summary of styling changes thanks to a new design

Alongside a new design showing more granular information, like a more granular timestamp, a short summary of changes made in each revision is now available. Combined, this greatly simplifies understanding what’s in each revision rather than relying on spotting visual changes. 

Here’s a demo of what this looks like. 

View all style revisions thanks to pagination

Rather than showing just the last 100 revisions, all revisions are now available thanks to pagination. This both works around a technical limitation of 100 results per REST response and helps make navigating between revisions much easier than scrolling endlessly in the sidebar. 

Toggle on the Style Book to get a different angle

In the same way you might be used to using the Style Book when making changes to your site in the Site Editor, you can now do the same when looking at different revisions to see changes that might not otherwise be visible on the current template. Just as when you use the Style Book normally, you can toggle it on and off as you’d like. 

Rely on full revisions for everything 

While the undo and redo buttons have a role to play, having access to full revision history allows for a much greater understanding of changes, their impact, and actions one can take. While this was mentioned in a previous post, revisions for templates and template parts are finally slated for inclusion in Core for WordPress 6.5. This means out of the box folks can browse changes to templates, template parts, and styles providing a nice safety net. 

New functions for Core Data API [plugin author]

Two new functions to the Core Data API have been added for fetching post revisions of post types that support revisions:

Key Make Posts/GitHub/Trac Issue(s): Core Editor Improvement: Robust Revisions in the Site Editor which covers most of these changes visually. 

Connect block attributes and Custom Fields with help from the Block Bindings API [theme author] [plugin author] [enterprise]

In WordPress 6.5, it is finally possible to connect Core blocks like paragraphs and images to custom fields, removing the need for custom blocks in many cases when you want to use the value of a custom field. At a high level, two new projects intertwine to bring about these new features:

  • Block Bindings API: Internal API to connect block attributes and different sources, used for both Custom Fields and for the future ability to override synced pattern attributes (this feature was pushed to 6.6).
  • Using the Block Bindings API, support for the “meta_fields” source to connect block attributes and custom fields.

The main focus for 6.5 is to enable the bindings in the server without a UI in the editor first, allowing for the ability for theme developers to create bindings in the HTML and third party sources to experiment with bindings. More work is already planned for WordPress 6.6 to expand what you can do.

Connect block attributes and custom fields

Folks will be able to bind them by adding a “bindings” object in the block attributes like so:

<!-- wp:paragraph {"metadata":{"bindings":{"content":{"source":"core/post-meta","args":{"key":"my_custom_field"}}}}} -->

<p>Paragraph</p>

<!-- /wp:paragraph -->

After adding something like the above, the following will occur in both the editor and frontend: 

  • In the editor: It will show the value of the custom field if a post ID exists in the context, and it will lock the appropriate controls. For example, in the case of the paragraph or heading content, they become non-editable, while in the case of the image URL, it hides the controls to replace the media.
  • In the frontend: It will get the value of the custom field, and it will replace the appropriate HTML.

Right now, for this initial version, only the following block attributes can be connected with all types of registered sources:

  • Paragraph: content.
  • Heading: content.
  • Image: URL, alt, and title.
  • Button: text, URL, linkTarget, rel.

Of note, when users do run across a block that has a connected field, they are met with a read only interface, similar to when a block is locked. 

Developers can add support for other dynamic data sources

This work also means theme/pattern/plugin developers can add support for other dynamic data sources. The underlying code used to connect custom fields, the Block Bindings API, has been designed to be extensible enough so it is easier to connect block bindings and other dynamic data sources. This release includes a basic public API allowing developers/plugins to register their own sources. This is just the first step of a larger project that aims to simplify how custom fields and other dynamic data are managed in a compelling way. 

Adoption approach: While there are binding sources for handling post meta (custom fields), you can register your own binding sources for deeper customization. Check out this developer blog post to get started along with part 2 on the same topic.

Key Make Posts/GitHub/Trac Issue(s):  

  • Block Bindings API dev note
  • Block Bindings: Disable editing of bound block attributes in editor UI (58085).
  • Tracking issue: Connecting block attributes and custom fields (53300).

Adding and editing links needs to be both simple and powerful, ensuring you can do exactly what you want. A specific focus on link editing has led to a big step forward in this release including the following improvements:

  • A new UX means that the link UI is only shown when you explicitly click on a linked item, preventing the link UI from opening unnecessarily and thereby improving the experience for users of assistive technologies.
  • After adding a link, the modal remains open for any additional changes you want to make, like opening a link in a new tab, instead of closing out and requiring you to re-open the link editing UI. 
  • New Block and Home icons are added next to results related to the home and front pages respectively to make finding what you’re looking for quicker. 
  • A copy link button has been added to the link UI so you can easily snag whatever has been linked.
  • Suggestions to link to pages are shown when adding a new link in the link UI to make it faster to add links to items throughout your site. 
  • The link preview, what’s shown after adding a link, has been improved with a reduced view of the preview and a focus instead on the primary actions of editing and unlinking (and copying the link).
  • A new “Add Block” control has been included in the Link UI when adding links in the Navigation block, greatly improving both discoverability and usability for adding additional blocks to one’s menu.

All of these changes combined make for a tighter, clearer, and more robust link editing experience. 

Visuals: demo showing copy link, suggested pages, better link preview, and new UX for invoking link UI.

Key Make Posts/GitHub/Trac Issue(s):

  • Add a blog icon to the blog home page in LinkControl search results (55610).
  • Add a home icon to the front page in LinkControl results (55606).
  • Add “copy link” action to link preview (53655).
  • Keep Link UI open upon initial link creation when used in RichText (57726).
  • Improve LinkControl preview (57775).
  • Show initial suggestions in rich text Link UI (57743).
  • Implement new UX for invoking rich text link UI (57986). 
  • Add block UI for navigation LinkControl (57756).

Drag & drop usability improvements

Drag and drop is a basic and important aspect of creating with blocks, offering an easy way to quickly combine and add blocks as you’d like. To help make drag and drop more intuitive, a wide variety of enhancements are available in this release:

  • Allow dragging and dropping to the beginning or end of your content.
  • Improve dragging and dropping between adjacent container blocks (ex: Group and Cover blocks).
  • Allow dragging into template parts, like a site logo next to a site title, including from the Inserter or from desktop.
  • Show a visual indication when a block isn’t allowed to be dropped to help communicate where one can and can’t drag and drop.
  • Allow drag and drop to create rows and galleries. For example, placing an image next to another image will create a gallery automatically. 
  • In List View, expand any collapsed blocks if a block is dropped into it so the block that’s been dropped is visible.
  • In List View, items will now be displaced to help provide a more visual and tangible experience of dragging and dropping blocks. 
  • In List View, a drag cursor is shown for any draggable blocks.

Taken together, anyone using this next version of WordPress should find that dragging and dropping blocks to be more intuitive and powerful to use. 

Visuals: displacement when drag and dropping in list view demo & displacement, drag to start and end, drag handles, and creation of a gallery when placing an image next to another image demo

Key Make Posts/GitHub/Trac Issue(s):  

  • Block drag and drop tracking issue (33683).
  • Drag and drop: Allow dragging to the beginning and end of a document (56070).
  • Add drag cursor to draggable list items (57493).
  • Allow dragging between adjacent container blocks based on a threshold (56466).
  • Allow dragging into template parts (56182).
  • Hide drop indicator where block isn’t allowed to drop (56843). 
  • Allow drag and drop to create rows and galleries (56186).
  • List View: Displace items when dragging (a bit more WYSIWYG) (56625).
  • List view: Add drag cursor to draggable list items (57493).
  • List View: Expand state if a block is dragged to within a collapsed block in the editor canvas (56493).
  • Drag and drop: Allow dragging from inserter or desktop to template parts (58589).

Design tools

Box shadow: add to block settings and add to more blocks [theme author]

Box shadow support is now available on individual blocks when box shadow support is enabled under a Shadow panel in block settings under “Border & Shadow” or just “Shadow” if only shadows are enabled, making it easier to find and use. Along with buttons, Column, Columns, and Images have box shadow support added. The shadow presets from Core are disabled by default but there are five styles you can opt into as well as the option to add your own via theme.json.

Visuals: demo of setting different box shadow options for individual buttons

Adoption approach: Support needs to be opted into via theme.json.

{

    "settings": {

        "shadow": {

"defaultPresets": true,

        }

   }

}

Here’s information about how to add your own custom shadow styles. 

Key Make Posts/GitHub/Trac Issue(s): Shadow: enable shadow for more blocks (57103), Add effects/box shadow tools to block inspector (57654), Add shadow support for column, columns and image (57982).

Group block: Adjust Background Size, set repeat options, and set focal point [theme author]

With background image options added to the Group block in WordPress 6.4, this release adds controls to the background image to adjust size, toggle repetition, and set the focal point. These options allow 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. These controls are hidden by default but are powerful for any tinkerers, pattern creators, or designers. 

Visuals: demo of setting various sizing and repeat options.

Key Make Posts/GitHub/Trac Issue(s): Add backgroundSize and repeat features (57005)

Cover block: Set aspect ratio 

Aspect ratio support has been added to the Cover block, allowing you to go beyond minHeight support to easily set to pre-defined aspect ratios. You can control this option globally for all Cover blocks or set the control for each individual Cover block as you’d like. 

Visuals: demo of setting aspect ratio for cover block.

Key Make Posts/GitHub/Trac Issue(s): Dimensions: add aspect ratio block support (56897

Cover block: overlay color automatically set upon adding background image

The Cover Block got a bit smarter by setting an Overlay color based on the background image that’s been added. The Overlay color is extracted from the image via code magic and can be updated afterwards to your liking.

Visuals: demo showing the feature.

Key Make Posts/GitHub/Trac Issue(s): Set custom color when applying background image (54054)

Other supports

Here’s a list of more general and smaller design tools and additions that continue to unlock more possibilities:

  • Login/out: Add spacing support (45147).
  • Quote block: Add block gap support (56064).
  • List block: Adjust the dimensions (margin and padding) of individual list-item blocks (55874).
  • Pullquote Block: Add padding and margin support. (45731)

New Lightbox UX that aligns with overall image linking

As a refresher, lightbox controls were added to WordPress 6.4 that meant that when turned on, images upon being selected would take over the full screen for easier and more immersive viewing. To better align with prior image link controls, like link to attachment page, a new UX is in place showing all image linking options in the block toolbar with lightbox listed as an option as “Expand on click”.

Visuals: demo showing selecting and viewing expand on click option and selecting a different link option

Key Make Posts/GitHub/Trac Issue(s): Image block: Move UI for lightbox from sidebar to the content toolbar alongside link settings (57608)

General Site Editor UX improvements

Show template toggle when editing pages

Thanks to work to unify the post and site editor, a new option is now available in the Page/Post editor to preview templates directly in the Page/Post Editor experience. You can toggle this template preview on and off as you’d like and, similar to the experience in the Site Editor, if you select any part of the template you’ll be presented with a snackbar notification and pathway to edit the template directly.

Visuals: demo toggling template preview on/off and demo with a voice over showing in both editors.

Key Make Posts/GitHub/Trac Issue(s): Site Editor: Add ‘Show template’ toggle when editing pages (52674).

New UX for template editing in the post/page editor

Until now, when you edited templates from the Post/Page Editor, you could edit both the template and content together, without a strong distinction between the two. With this release thanks to work to unify the editors, if you go to Post/Page Editor > Templates > Edit Template, you’ll have the same editing experience as when you edit within Appearance > Editor > Pages. In this new flow, content editing is restricted, and placeholders appear for Content, Title, and other dynamic blocks. 

Key Make Posts/GitHub/Trac Issue(s): Site Editor: Add ‘Show template’ toggle when editing pages (52674).

Templates grouped properly in the Site Editor

To help provide clarity with templates, especially as extenders are adopting the Site Editor, templates are organized between theme templates, custom templates, and templates added by plugins. 

Visuals: screenshot showing different groupings. 

Key Make Posts/GitHub/Trac Issue(s): Group templates in sidebar list. (57711

See summary of styling changes when you save

Previously when saving styling changes in the Site Editor, everything was listed under one general “Custom Styles” option, making it hard to know what might be within those changes. When you save with 6.5, you’ll be met with a short and informative summary of any changes! This format also matches up with what you’ll see when looking through your style revisions, making it easy to cross compare too. 

Visuals: demo of making styling changes and seeing summary upon saving

Key Make Posts/GitHub/Trac Issue(s): Site editor: add global styles changes to save flow (57470)

Streamlined workflow to change pattern sync status and make theme patterns your own

To help streamline changing the sync status of patterns, when duplicating a pattern, a modal is now shown that includes the ability to keep or change the sync status of the pattern you’re duplicating from. This change addressed feedback that highlighted how cumbersome the prior process was and allows you to make theme patterns your own whereas before they were previously locked.

Visuals: demo of changing sync status of a pattern upon duplication

Key Make Posts/GitHub/Trac Issue(s): Patterns: Use modal for pattern duplication flow as workaround for changing sync status (54764).

Rename and delete pattern categories

Building on the ability to create and set pattern categories, the option has been added to rename or delete pattern categories so you can keep your patterns organized exactly as you want. Of note, when deleting a pattern category, the patterns will not be deleted and will be listed as “Uncategorized” if no other pattern category exists. 

Visuals: demo showing renaming and then deleting a pattern category

Key Make Posts/GitHub/Trac Issue(s): Add rename/delete options for pattern categories in site editor. (55035)

Patterns defined from the pattern directory are shown in Site Editor > Patterns

You can define patterns you want in use on your site or theme in theme.json via the patterns property. These patterns are then shown in the Inserter for folks on the site to use. For consistency and access, these same patterns will now also appear in the Patterns section in the Site Editor to help with consistency and to get a full sense of all design options on a site. 

Adoption approach: add patterns via theme.json

Key Make Posts/GitHub/Trac Issue(s): Patterns: show theme patterns from directory in site editor (55877)

Media pattern category split into audio and videos 

The media pattern category has been split into separate audio and videos categories to provide more nuanced search options for folks and better organization of featured patterns. 

Key Make Posts/GitHub/Trac Issue(s): Patterns: Register new media related categories (55236)

Command Palette: improved contextual commands and new commands

To help make the Command Palette more enjoyable and easy to use, various improvements have been made to help the Command Palette’s initial view reflect the context in which it’s being used. This means that when a block or a group of blocks are selected and you open the Command Palette, block actions will be shown immediately rather than needing to search for them. The same is true when editing patterns inside the Site Editor where new commands such as renaming and duplicating the pattern will be shown.

Visuals: demo of contextual block commands when selecting multiple blocks

Key Make Posts/GitHub/Trac Issue(s): Add duplicate pattern command, (55292) Add rename command (55188), Add block-specific commands as contextual suggestions (53974

Post Featured Image: option to use first image from a post [site admin] [developer] [theme author] [enterprise]

A new attribute called useFirstImageFromPost has been introduced that, when enabled, allows the Post Featured Image block to pull the first image from a post if one exists. This is especially helpful for folks with a lot of old posts without featured images as it allows a way to easily display images in the Query Loop block without having to manually add many featured images. It also is a useful option for theme authors who might want to bake this in automatically to their theme. Currently, this isn’t visible in the UI and must be adopted via code. 

Adoption approach: add support for useFirstImageFromPost attribute to the post featured image block. Here’s more information about attributes. 

Key Make Posts/GitHub/Trac Issue(s): Post Featured Image: Add a useFirstImageFromPost attribute (56573

Show outlines around editable blocks to ensure folks know what’s editable 

When creating or editing pages in the Site Editor, editable blocks now have a block outline that appears when you first enter the page before slowly fading. This is one part of a larger effort to address feedback that the current experience can be confusing to know what’s part of the template vs the page and how to ensure that what you are adding ends up where you want it to go. 

Visuals: demo showing the page editing experience in the Site Editor with the outlines of editable blocks 

Key Make Posts/GitHub/Trac Issue(s): Flash editable block outlines instead of always showing them (58159)

Scrolling Top Toolbar

Leveraging web-standards scrollbar properties, the top toolbar has been updated to show a visible and compact horizontal scrollbar, making it easier to see the breadth of settings on smaller screen sizes and a nice quality of life improvement. What was once cumbersome to use is now smooth and easy. 

Visuals: demo of top toolbar scrolling

Adoption approach: must be using the top toolbar setting.

Key Make Posts/GitHub/Trac Issue(s): Apply custom scroll style to fixed header block toolbar (57444)

Unifying the Post Editor and Site Editor experiences

Underpinning some of the above enhancements is an editor unification project that ultimately combined the Post Editor and the Site Editor into one unified editor behind the scenes. This work is worth calling out on its own as it’s led to the following improvements: 

  • One shared preferences panel for both editors. 
  • An additional sidebar panel in the Site Editor for managing page attributes, post taxonomies, featured image panel, and discussion panel. 
  • The ability to “View Link” in the Site Editor in the same way you would in the Post Editor.
  • The ability to see revisions for pages in the Site Editor.
  • The ability to edit page slug in the Site Editor.
  • The ability to change the author in the Site Editor.

Taken together, having a shared experience across both editors, simplifies future development for admin redesign efforts and creates a common editing experience to learn.

Key Make Posts/GitHub/Trac Issue(s): Unification of the site and post editors Dev note, Align page edit features in Site Editor and Post Editor (52632

Other

Alongside these larger updates, some smaller items are worth drawing attention to as part of a continual effort to improve the site editing experience: 

  • Process embeds in patterns so that the media is embedded rather than just outputting a URL (55979).
  • Display the theme name on the activate button when previewing a block theme (55752).
  • Add ‘View site’ action to ‘Site updated’ snackbar to make it easy to view the front end of your site after some changes are made (52693).
  • Fix focus loss after converting to a synced pattern (55473).
  • Shorter screen reader announcement after changing pages (56339).
  • Override all the labels of the pattern categories taxonomy to show “add new pattern category” instead of “add tag” when creating a pattern (57094).
  • The Post Navigation Link block has a new Taxonomy filter in the UI. If a taxonomy is chosen, the Next Post and Previous Post links will only link to posts that share the same term within that taxonomy.
  • Disable text selection for post content placeholder block to help communicate the placeholder state. (58169)
  • Improve the experience and availability of the “back” button (58710) (58528)

Performance improvements

Introducing a more performant localization library

6.5 introduces a more lightweight library for loading .mo translation files which offers increased speed and lower memory usage. It also supports loading multiple locales at the same time, which makes locale switching faster too. For plugins interacting with the $l10n global variable in core, a shim is added to retain backward compatibility with the existing pomo library. In addition to that, this library supports translations contained in PHP files, avoiding a binary file format and leveraging OPCache if available. If an .mo translation file has a corresponding .l10n.php file, the latter will be loaded instead. This behavior can be adjusted using the new translation_file_format and load_translation_file filters. PHP translation files will be typically created by downloading language packs, but can also be generated by plugins.

Key Make Posts/GitHub/Trac Issue(s): Merge performance translations (trac 59656). See this Make Core post on Merging Performance Translations into Core for more context and this dev note on the feature. 

5x faster typing processing, 2x faster editor loading, 60% reduction in pattern loading

Performance improvements impacting the editor experience are crucial for shaping a smooth creation flow, whether you’re writing a new post or navigating between templates in the Site Editor. They determine the difference between a jarring editing process, where the editor struggles to keep up, and a creative one, where adding content is effortless and flowing. While there are many different moments when editor performance is felt, WordPress 6.5 takes a big step forward for both the post and site editors with 5x faster typing processing, 2x faster editor loading, and 60% reduction in pattern loading. This means that editors will load sooner, any words you type will appear faster, and pattern selection will be speedier. 

For any performance nerds, here’s a chart with more specifics across various metrics.

Key Make Posts/GitHub/Trac Issue(s): performance tracking issue for 6.5 (57935

Improvements for registering block variations with callbacks

Block variations can now be registered using a new variations_callback property to avoid expensive operations to build block variations on every request. For example, registering template part variations using this method allows us to avoid calling build_template_part_block_variations on every request, which was measured as ~%5 of the total server response time during profiling (r57315) In addition to the template-part block, this was also applied to the navigation-link and post-terms blocks (Gutenberg #56952).

Key Make Posts/GitHub/Trac Issue(s)/Adoption Approach: Read more in this dev note

Support for AVIF image format 

Pulling from the dev note: 

“WordPress 6.5 supports AVIF, a modern image format that offers significant improvements in image quality and compression over previous formats like JPEG, PNG, and even WebP.  AVIF images can be up to 50% smaller than JPEGs while maintaining the same image quality. AVIF images also support a wide range of colors (including HDR) and produce sharper images than JPEGs, especially in areas with high detail.

From WordPress version 6.5 forward, you can upload and use AVIF images in WordPress just like you would a JPEG or PNG image today – as long as your hosting environment supports AVIF. Switching to the AVIF format for your images is likely to improve your site’s performance and your site visitor’s experience.” 

Key Make Posts/GitHub/Trac Issue(s): WordPress 6.5 adds AVIF support dev note. 

Introducing Interactions powered by the Interactivity API [plugin author] [theme author] [developer] [enterprise]

The Interactivity API aims to be a standard way to allow developers to add interactivity to the frontend of their blocks, like “hearting a post” or “add to cart” without page loads. Those effects are known as “Interactions” and you can see them in WordPress today in features like “Expand on click” added to Images and the ability for Query Loop blocks to automatically move to the next set of posts/pages without reloading the page (unless you disable this option). 

A standard makes it easier for developers to create rich, interactive user experiences, from simple cases like counters or popups to more complex features like instant page navigation, instant search, or carts and checkouts. This API processes the interactivity directives embedded within HTML content and transforms the markup in the server, seamlessly merging the server-rendered markup with the client-side interactivity to guarantee that:

  • Users view the correct HTML before the JavaScript loads.
  • There are no layout shifts when the JavaScript finally loads.

After various Core blocks were supercharged thanks to this larger project, the stage is now set for the release of this work out into the public rather than through private APIs. If you’re looking to create interactive experiences on your site, this API is made for you and feedback is most welcomed to ensure it remains as useful as possible. 

If you have a previous implementation with this work, please review the updated docs and migration guide to learn more.

Adoption approach: Read the initial proposal, follow the “Getting Started” resources, review the API reference, and join the Interactivity API discussions for questions.

Example of adoption: Check out this X post with some examples of early adoption efforts.

Listen: Explore the WordPress Podcast episode dedicated to the API.

Key Make Posts/GitHub/Trac Issue(s): Interactivity API Dev note, Merge Announcement: Interactivity API & Epic: Interactivity API – public 1.0 version

Plugin dependencies [plugin author] [enterprise]

After nearly 15 years of discussion, a new “Requires Plugins” plugin header has been introduced so that plugin authors can list the slugs of the plugins theirs depend on. This will inform users of the requirements upfront, and provide links to the WordPress.org Plugins Repository that they can click to install and activate the dependencies first. Plugins whose requirements are not met cannot be installed or activated, and they will be deactivated automatically if their requirements become unmet. Plugins that others rely on cannot be deactivated or deleted until their dependent plugins are deactivated or deleted.

Previously, any plugin that requires another plugin (i.e., a dependency) was on its own to make sure admins install the dependency. With this new plugin header, there is now a core first and consistent way plugin authors can make this clear, offering a better user and developer experience all in one. 

Key Make Posts/GitHub/Trac Issue(s): Merge proposal: Plugin Dependencies, Plugin Dependencies (22316) and Feature Project: Plugin Dependencies Make Core post. 

More powerful Block Hooks API [plugin author]

As a reminder, Block Hooks is an API that allows a dynamic block to attach itself to another given block. It was first introduced in WordPress 6.4 and various improvements are in place for this next release:

  • Added ability to insert hooked blocks into layout elements that do have user modifications, removing a prior restriction to using hooked blocks in unmodified templates, parts, and patterns.
  • Improved hooked block integration with the Navigation block, allowing you to add child blocks into navigation, like a Login/out block.
  • Fix for confusing Block Hooks toggles behavior when a hooked block is present outside of where it’s expected.
  • Introduced a new filter called hooked_block_{$block_type} that allows setting the hooked block’s attributes, or wrapping it in another block.

For this latter item, this new filter allows modifying a hooked block (in parsed block format) prior to insertion, while providing read access to its anchor block (in the same format). This makes the filter a lot more powerful for block authors as it allows you to set the hooked block’s attributes/inner blocks depending on information from the anchor block.

Adoption approach: opt in via blockHooks in the block.json file of your chosen dynamic block or use the hooked_block_types filter to add their block as a hooked block. For more information, here are the block editor handbook instructions.

Key Make Posts/GitHub/Trac Issue(s): Updates to Block Hooks, Block Hooks Feature for 6.5 (54904)

Pattern management in Classic Themes

A new item under Appearance > Patterns has been added for Classic Themes to make Patterns more readily accessible and visible as a feature. This will link to the current patterns interface already in Classic Themes aka /wp-admin/edit.php?post_type=wp_block

Key Make Posts/GitHub/Trac Issue(s): Expose the Patterns menu to the Classic theme (5201

Paving a future path for access to the Site Editor pattern experience

Thanks to some internal code changes, the path is being set for a future release to enable Classic Themes access to the new Patterns experience that the Site Editor provides. Access to the Site Editor’s improved pattern experience will not land in 6.5 due to backward compatibility concerns. 

Key Make Posts/GitHub/Trac Issue(s): Site Editor: Consider compatibility regarding non-block themes and the Library menu (52150

Additional Items for 6.5

New UX for editing synced patterns

To plan for the introduction of overrides in synced patterns in the future, a change in editing synced patterns has been implemented to work well with this upcoming functionality. Specifically, direct editing of a synced pattern within the block editor is no longer possible. Instead, the editing of a pattern’s content that causes global changes has been moved to a focus mode, similar to template editing. This will make it easier to indicate when you are editing just a section of the pattern for that instance of the pattern only, versus editing the global source pattern instance.

Visuals: demo of new “edit original” UX.

Key Make Posts/GitHub/Trac Issue(s): Patterns: edit source pattern in focus mode in post and site editors (57036)

Footnotes: support for custom post types and ability to remove footnotes support

After feedback that folks wanted to see support for custom post types for footnotes, work was done to do exactly that. Footnotes now work by default on all post types that support the editor and meet basic requirements (the post type must be public, appear in the REST API, and must support all of the following: editor, custom-fields, and revisions). To round out this work, extenders are also able to disable footnotes from any post type, including the default ones like posts and pages.  

Adoption approach: Here’s an example of how to remove footnotes support from pages using the following code:

function remove_footnotes_support_from_pages() {

unregister_post_meta( 'page', 'footnotes' );

}

add_action( 'init', 'remove_footnotes_support_from_pages', 100 );

Key Make Posts/GitHub/Trac Issue(s): Add: Footnotes support for other CPT’s (57353

Script Modules API [plugin author] [theme author] [enterprise]

A new API for WordPress has been introduced, designed to work with native ES Modules and Import Maps. It introduces functions such as wp_register_script_module (note the extra script word), and wp_enqueue_script_module. The API aims to provide a familiar experience to the existing WP_Scripts class, offering similar functionality. It’s not intended to duplicate the exact functionality of WP_Scripts; rather, it is carefully tailored to address the specific needs and capabilities of script modules.

For this initial version, the current proposal is intentionally simplistic, covering only the essential features needed to work with script modules. Other enhancements and optimizations can be added later as the community identifies additional requirements and use cases so please know feedback is welcomed to help shape this feature going forward.

Dependency Specification

With WP_Script_Modules, the array of dependencies supports not only strings but also arrays that include the dependency import type (static or dynamic). This design choice allows for future extensions of dependency properties, such as adding a version property to support “scopes” within import maps.

Module Identifier

Instead of a handle, WP_Script_Modules utilizes the script module identifier, aligning with the script module identifiers used in JavaScript files and import maps.

Deregistration

There is no equivalent of wp_deregister_script at this stage, but there are plans to work on it in future versions.

Important note

Modules are fully functional in both Block and Classic themes.

Adoption approach: Please read more in this dev note. WordPress packages are not currently available as script modules, with the exception of the @wordpress/interactivity package. Plans are in place to migrate these packages to be accessible both as scripts and script modules at the same time. Once this migration is complete, WordPress developers will have the option to use script modules for all their requirements instead of traditional scripts.

Key Make Posts/GitHub/Trac Issue(s):  Add the ability to handle ES Modules and Import Maps (56313), Exploration to Support Modules and Import Maps. Full list of associated PRs:

HTML API Updates [developer] [plugin author]

After launching in WordPress 6.2 and receiving enhancements in WordPress 6.4, the HTML API has some new features to dig into for this release. This release focuses on internal enhancements to the Tag Processor and expanded support for the HTML Processor:

  • The HTML API has been updated to add support for container elements, such as article, blockquote, details, summary, and more.
  • The HTML Processor can be used on almost all input HTML from blocks, other than those creating tables and forms.

Adoption approach: Review this developer blog post to get started using the HTML API.

Key Make Posts/GitHub/Trac Issue(s): Updates to the HTML API dev note, HTML API: Plans for 6.5 (54579

Create Block package introduces transformer property [plugin author]

The Create Block package now has a new transformer property. The change offloads customization to templates, providing nearly complete control over how they can be used to create plugins or blocks. As a reminder, The Create Block package generates a project with PHP, JS, and CSS code for registering a block with a WordPress plugin.

Adoption approach: review the create block package documentation to get started.

Key Make Posts/GitHub/Trac Issue(s): Introduce transformer property (55423

Block.json: allowedBlocks field to specify allowed children [plugin author] [enterprise]

Previously, there wasn’t a way to filter 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. This release introduces a new allowedBlocks field to block.json so you can easily include and specify allowed children for a block. 

For example, imagine you’ve just created an icon block to include in the Navigation block. Below demonstrates how you can simply allow it to be added using a filter (or any additional block): 

addFilter( 'blocks.registerBlockType', 'my-great-icon-block', ( settings, name ) => {

  if ( name === 'core/navigation ) {

    return {

      ...settings,

      allowedBlocks: [ ...settings.allowedBlocks ?? [], 'my-great-icon-block' ],

    }

  }

  return settings;

} );

This opens the door for custom mega menu building but places the responsibility in the hands of those using this feature to ensure things like accessibility. Keep in mind that this can be used with any block that accepts children too!

Adoption approach: used allowedBlocks within block.json as shown above. Check out this developer news post about building a mega menu partially using this feature.

Key Make Posts/GitHub/Trac Issue(s): Add allowedBlocks field to block.json to specify allowed children (58262).

Set site icon in General settings

For block themes, before this release, the only way to set a site icon was to add the Site Logo block and, in the settings, set that as the site icon. With this release, the option is now available in General Settings, allowing you to manage your site icon, whether you use the Site Logo block or not. 

Here are the steps to set a site icon with this new option:

  1. From your WordPress dashboard, head to Settings > General.
  2. Under “Site Icon”, upload an image.
  3. Hit “Save” to save changes. 

Visuals: image of new settings for site icon

Key Make Posts/GitHub/Trac Issue(s): Add an option to configure the site icon in general settings (57602)

View stylesheet support for block.json [plugin author] [developer] [enterprise]

In WordPress 6.5, you will be able to define a stylesheet for your blocks via the `viewStyle` property in `block.json`. It will work similarly to the existing `viewScript` property and only load on the front end of the site.

Key Make Posts/GitHub/Trac Issue(s): Editor: Add viewStyle property to block.json for frontend-only block styles (57493)

Updated preferences panel

The preferences modal has been iterated upon with the introduction of new panels for Appearance and Accessibility settings, updated copy for clarity and consistency, and with a few more settings. This helps improve personalizing your own experience of the editor to your liking.

Visuals: preferences visual

Key Make Posts/GitHub/Trac Issue(s): Update preferences organization (56481)

List View improvements 

Rename (almost) all blocks from the editor [theme author] [end user] [site admin] [enterprise]

Building on renaming group blocks in List View introduced in WordPress 6.4, you can now rename nearly every block, giving an opportunity for both better organization and personalization. For end users, it helps you see at a glance how you might have structured your content. For theme authors, it can help you offer a more intuitive experience of your theme and patterns within for anyone using your theme. 

Of note, there are a few blocks that cannot be renamed intentionally:

  • core/block
  • core/template-part
  • core/pattern
  • core/navigation
  • core/navigation-link

Whilst this feature is enabled by default, 3rd party extenders can disable support for their blocks by updating their block.json file as follows:

// block.json

{

"supports": {

"renaming": false // disables ability to rename block via the Editor UI

},

}

Visuals: demo of renaming various blocks. 

Key Make Posts/GitHub/Trac Issue(s): Enable Block Renaming support for (almost) all blocks (54426)

Right click to open up your block setting’s menu

A right click on List View opens up that block’s settings menu and gives fast access for making changes. As part of adding this feature, an editor setting has been added to Preferences so that you can disable the option if it doesn’t work with your workflow. 

Visuals: right click to show block settings visual

Adoption approach: disable in Preferences if you want to turn it off. 

Key Make Posts/GitHub/Trac Issue(s): List View: Allow right-click to open block settings dropdown, add editor setting (50273)

Enjoy new keyboard shortcuts

New keyboard shortcuts are available to bring some quality of life improvements to List View:

  • Copy, paste, and cut blocks using the keyboard shortcuts you’re used to when selecting blocks in List View (CMD+C and CMD+X to copy and cut blocks, and CMD+V to paste blocks).
  • Select all blocks within List View using CMD+A on Mac or CTRL+A on Windows.

Key Make Posts/GitHub/Trac Issue(s): List View: Add keyboard shortcut to select all blocks (54899), List View: Add keyboard clipboard events for cut, copy, paste (57838)

Scrolling top toolbar for the Distraction-Free Mode

The Block Toolbar will now slide into view by moving your mouse to the top of the editor when using Distraction Free mode, allowing you to make quick customizations while remaining focused. Before, the Block Toolbar wasn’t available, meaning you had to toggle off Distraction Free mode to access it again. 

Visuals: demo of using distraction free with the block toolbar available 

Key Make Posts/GitHub/Trac Issue(s): Add top toolbar to distraction free mode. (56295)

General editor improvements and polish

Improvements across the WordPress experience continue to land in each release. While each of the items below aren’t enough to highlight alone, they each play a role in making WordPress more delightful, powerful, and intuitive to use. 

While the following shows a longer list, here are a few in particular that stand out:

  • HTML in a post title is now shown, preventing any mistakes in copy/pasting titles from other sources and adding the ability to edit the HTML if you do want it when you switch into code view (54718).
  • Improvements to multi selecting blocks results in a smoother and more consistent experience (47525).
  • Copy and delete labels have been simplified by removing “blocks” to improve visual clarity (57769).
  • Enter twice on the last button to go to the next line and make it easier to break out of editing buttons (56134).
  • Use Escape to toggle between Select/Edit modes (58637)

General experience: 

  • Show a disabled lock button if a user cannot control lock state to help communicate visually that a block is locked (57274)
  • Improve dimensions design tool layout (55060).
  • Improve pre-publish checks naming consistency. (57019)
  • Paste: Fix MS Word list paste. (55127)
  • Font size picker: Fix Reset button focus loss. (57196)
  • Reduce specificity of block style variation selectors. (57659)
  • Writing flow: Fix selecting synced pattern when arrowing through blocks and patterns (55221).
  • Writing flow: Preserve block when merging into empty paragraph (55134).

Block specific:

  • Audio: Hide some controls when multi-editing blocks. (57376)
  • Gallery: Hide some controls when multi-editing blocks. (57378)
  • Gallery: Update order of controls (58407)
  • Image: Fix resetting behavior for alt image text (56809)
  • Image: Get lightbox trigger button ref via data-wp-init. (57089)
  • Image: Hide caption control when multi-editing images. (57357)
  • List: Fix forward merging of nested list. (55121)
  • Social: Add social icon for the Gravatar service (#56544).
  • Video: Add raw transformation from video html. (47159)
  • Video: Hide some controls when multi-editing blocks. (57375)

Visuals: writing flow improvements demo

Separator: Remove border-bottom property [theme author] [plugin author]

Previously, the Separator block was using a top and bottom border of 1px to create the horizontal line. This change removes the bottom border and increases the border-top to 2px to address an occasional visual gap happening between the top and bottom border within the editing experience. Please review your theme or plugin if it sets a height on the HR tag or Separator block. 

Key Make Posts/GitHub/Trac Issue(s):  Separator: Remove border-bottom property (55725)

A new setting has been added to the Gallery block which allows you to give your gallery images a random order. This feature was available in the Gallery shortcode, but not in the Gallery block. This is useful when you want to offer a new experience to folks viewing images on your site on each reload of the page or visit. This is only available for individual Gallery blocks and cannot be set for all Gallery blocks on a site. 

Visuals: demo of setting and displaying random order or view it live on a site https://nomad.blog/gallery/ 

Adoption approach: turn on in block settings for each individual gallery. 

Key Make Posts/GitHub/Trac Issue(s):  #57477 

Transparently styled scrollbars have been added to Image blocks nested inside of Gallery blocks, addressing a longstanding design issue with long captions that didn’t fit well into the small space allotted to them. This change adds new CSS with high specificity, targeting .wp-block-gallery.has-nested-images figure.wp-block-image figcaption. If you’ve added custom scrollbar handling in your themes, be sure to test that this new code does not break your custom styles.

Visuals: demo showing a long caption and styled scrollbars in use

Key Make Posts/GitHub/Trac Issue(s): Gallery block: add styled scrollbars (56252)

Aspect ratios removed [theme author]

For aspect ratio, all instances have been removed for the 10:16 and 16:10 aspect ratios. While this is not anticipated  to impact most themes, it’s recommended to check if you were using these aspect ratios in any patterns or templates for images.

Key Make Posts/GitHub/Trac Issue(s): Remove 16:10 from 10:16 options from AspectRatioDropdown (55053)

Raising the minimum version of MySQL

In WordPress 6.5, the minimum required version of MySQL has been raised from 5.0 to 5.5.5. (as of 57173). Using 5.5.5 also ensures two things:

  • The presence of utf8mb4 support (added in MySQL 5.5.3)
  • InnoDB is the default storage engine instead of MyISAM (added in 5.5.5).

While the minimum required version is changing in WordPress 6.5, WordPress continues to recommend using MySQL version 5.7 or greater OR MariaDB version 10.4 or greater.

Key Make Posts/GitHub/Trac Issue(s): Raising the minimum version of MySQL required in WordPress 6.5 Make Core post. 

Theme.json changes  [theme author]

Disallow custom content size controls [enterprise]

This release introduces a new theme.json layout setting for disabling custom content and wide sizes in the UI, globally or at a per-block level. This will give you more control over what your users or clients can do with design tools.

Adoption approach:The new layout.allowCustomContentAndWideSize setting can set globally or at the block level:

{

"$schema": "https://schemas.wp.org/trunk/theme.json",

"version": 2,

"settings": {

"layout": {

"allowCustomContentAndWideSize": false

}

}

}

Key Make Posts/GitHub/Trac Issue(s):  Add setting to disable custom content size controls (56236)

CSS Level 4 viewport-relative units support

While not exposed by default, support for viewport-relative CSS units has been added and can be enabled via the settings.spacing.units property in theme.json. Container-query units are still unsupported, despite nearly as much browser support (though they can be used when manually defining spacing and font-size presets).

Adoption approach: edit theme.json file to add in settings.spacing.units support for the unit you want.

Key Make Posts/GitHub/Trac Issue(s): Allow using CSS level 4 viewport-relative units (54415

Ensure all custom taxonomies/post types are available for the Navigation block [plugin author]

This fix ensures that all registered custom post types or taxonomies are automatically available as block variations of the Navigation Link block. This means you can register a custom post type, like Products, and then add a “Product Link” block to the Navigation block that is specifically preconfigured to search for Product posts.

Key Make Posts/GitHub/Trac Issue(s): Navigation Link block: register variations on post type / taxonomy registration (54801)  & Navigation Link Block: Variations for post types may not contain all post types (56100).

Changing the order of block global styles [theme author] [plugin author]

As part of setting the stage for future work with section styling and colorways, work was done so that the block global styles load after the base global styles. The order of loading is now:

  • Block library styles
  • Base global styles (element styles, etc)
  • Block-specific global styles

This order should be the same regardless of whether should_load_separate_core_block_assets is true or false.

Key Make Posts/GitHub/Trac Issue(s): Always output core block global styles after base global styles (6010)

Taxonomy terms updated across REST API [plugin author] [developer]

In WordPress 6.5, taxonomy terms are updated across the REST API. If a plugin or feature makes a REST API call to retrieve a list of templates, the payload now delivers the original source and author_text fields.

Key Make Posts/GitHub/Trac Issue(s): REST API: Support assigning terms when creating attachments (57380)

New hook to change the subject line of an email [developer] 

In WordPress 6.5, developers can change the subject line of the email that will go out when a user changes the admin email address via the `new_admin_email_subject` hook.

Key Make Posts/GitHub/Trac Issue(s): Administration: Introduce new_admin_email_subject filter (57283)

Support for AVIF image format 

Pulling from the dev note: 

“WordPress 6.5 supports AVIF, a modern image format that offers significant improvements in image quality and compression over previous formats like JPEG, PNG, and even WebP.  AVIF images can be up to 50% smaller than JPEGs while maintaining the same image quality. AVIF images also support a wide range of colors (including HDR) and produce sharper images than JPEGs, especially in areas with high detail.

From WordPress version 6.5 forward, you can upload and use AVIF images in WordPress just like you would a JPEG or PNG image today – as long as your hosting environment supports AVIF. Switching to the AVIF format for your images is likely to improve your site’s performance and your site visitor’s experience.” 

Key Make Posts/GitHub/Trac Issue(s): WordPress 6.5 adds AVIF support dev note. 

Punted to a future release

Override content in a synced pattern 

Originally planned for 6.5, this feature was removed after a change in UX due to an underlying technical requirement and change.

Key Make Posts/GitHub/Trac Issue(s): Patterns: Synced Pattern Overrides (53705) and Make Core post detailing removal.

Customize the Navigation block mobile overlay

After an effort to move the needle with responsive controls by adding the ability to fully customize what your overlay menu will look like, contributors made the hard decision to decide to punt this to a feature release. For context, the navigation overlay is the name for the menu that’s shown when you set and open a mobile menu. Having full control over this mobile menu would allow you to customize the colors, spacing, and blocks offering the option for a distinct menu experience across devices. This is now aimed for a future release with an eye towards how it might align with broader work around “states” in general

Key Make Posts/GitHub/Trac Issue(s): Navigation overlay customisation via template parts (43852)

New theme.json tools: Style Sections & Color Sections

This feature was punted due to technical blockers detailed here. It’s now planned for 6.6

Key Make Posts/GitHub/Trac Issue(s): Section Styling, Colorways, and Typesets for WP 6.6

PHP compatibility work 

Several compatibility fixes were scheduled to ship with 6.5, with work underway to improve compatibility with PHP 8.0, 8.1, and 8.2, but didn’t make the cut. 

Rollbacks (for failures) during automatic updates

Building on prior efforts released in WordPress 6.3, rollbacks for automatic updates to plugins was slated for 6.5 but didn’t make the cut due to lack of testing. 

Key Make Posts/GitHub/Trac Issue(s): Rollback autoupdate part three (58281)

5 responses

  1. […] blandade nyheter för utvecklare samt fler förändringar i blockredigeraren. Se med fördel Anne McCarthys mastodontgenomgång av nyheterna i […]

  2. […] you want to drink from the fire hose about updates in WordPress 6.5, Anne McCarthy has the ultimate WordPress 6.5 Source of Truth for you. In this over 10,000-word opus, you’ll find the updates tagged for each group of […]

  3. […] 6.5 is next week, here’s what’s new according to Courtney Robertson. Also see the WordPress 6.5 Source of Truth post by Anne […]

  4. […] für AVIF ist nur eine der Verbesserungen in Sachen Performance. Eine gute Übersicht über die Performance-Verbesserungen und sämtliche anderen Neuerungen findest du im Beitrag «WordPress 6.5 Source of Truth» von […]

  5. […] Anne McCarthy published the ultimate WordPress 6.5 Source of Truth for you. In this over 10,000-word opus, you’ll find the updates tagged for each group of […]

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

More details

Expect to read about travel, mental health, community, WordPress, surrogacy, and more.