The issue tracks changes to PHP files that (might) need to be backported and merged to Core for the WordPress 6.5 release. The list is exhaustive so it may cover multiple PRs and experimental changes that won't be in 6.5.
Beta 1 is February 13, 2024
Tips 👀
- Check whether files in your PR really do need backporting - if they don't please leave a comment to that effect and apply strikethrough to the line item in question.
- Please open a new Core Trac ticket for each PR and link it next to the citation in this issue. 🙇
- For ease of cross-linking and tracking, you can submit your PRs to WordPress/wordpress-develop. Refer to docs on how to fork the repository and create a PR. Link any backport PR next to the citation in this issue. 🙇
- Try to limit PRs to one feature to make reviewing easier and the commit history clear. See why
Modifications/additions to PHP unit tests aren't listed: any unit tests introduced in the cited PRs should also be ported over where applicable. These are now listed 🎉
- Once your backport PR is up, add it to the WordPress 6.5 Editor Tasks project board so folks can review it. Thank you!
- PRs marked with ⚠️ may have previously been backported to WP Core. Please check these particularly carefully.
❗ This is a living document and will be constantly updated as we approach beta. Sorry if you were mistakenly pinged! If a file or files have already been backported, please tick them off and link to the backport PR/trac issue.
Or, if the changes are not slated for WordPress 6.5, you can strike them or make a comment in this issue. Thank you! 🙇
PRs to be backported will have the "Needs PHP backport" label applied.

📁 lib
📁 block-supports
📄 shadow.php
📄 pattern.php
(this file has now been removed in trunk)
📄 typography.php
📄 layout.php
📄 background.php
📄 behaviors.php
📄 elements.php
📄 dimensions.php
📁 compat
📁 wordpress-6.5
📁 plugin
📁 experimental
📁 block-bindings
The Block Bindings API will be merged in WordPress/wordpress-develop#5888.
📁 interactivity-api
📁 fonts
Note: the Fonts Library will be backported in 3 PRs:
📁 modules
📁 fonts-api
the Fonts API has been deprecated and the files related to it will be removed once the Font Library is merged into Core
📁 sync
📄 blocks.php
📄 editor-settings.php
📄 class-gutenberg-rest-template-revision-count.php
📄 data-views.php
📄 client-assets.php
📄 class-wp-theme-json-gutenberg.php
📄 blocks.php
📄 init.php
📄 global-styles-and-settings.php
📄 class-wp-theme-json-resolver-gutenberg.php
📄 class-wp-duotone-gutenberg.php
📁 phpunit
📁 packages
📁 style-engine
📄 class-wp-style-engine.php
The issue tracks changes to PHP files that (might) need to be backported and merged to Core for the WordPress 6.5 release. The list is exhaustive so it may cover multiple PRs and experimental changes that won't be in 6.5.
Beta 1 is February 13, 2024
Tips 👀
Modifications/additions to PHP unit tests aren't listed: any unit tests introduced in the cited PRs should also be ported over where applicable.These are now listed 🎉❗ This is a living document and will be constantly updated as we approach beta. Sorry if you were mistakenly pinged! If a file or files have already been backported, please tick them off and link to the backport PR/trac issue.
Or, if the changes are not slated for WordPress 6.5, you can
strikethem or make a comment in this issue. Thank you! 🙇PRs to be backported will have the "Needs PHP backport" label applied.

📁 lib
📁 block-supports
📄 shadow.php
📄 pattern.php
(this file has now been removed in trunk)
📄 typography.php
📄 layout.php
str_contains#58251 - @getdave | Trac ticket | Core backport PRUseis-layoutpattern on layout generated classname #57564 - @tellthemachines | Trac ticket | Core backport PRMake layout support compatible with enhanced pagination #55416 - @luisherranz | Trac ticket | Core backport PR (Already backported in WP 6.4)📄 background.php
Background support: Backport fix for undefined array key #54850 - @andrewserong | (already in core)Background image block support: Add tests, adjust injection logic slightly #54489 - @andrewserong | (already in core)📄 behaviors.php
Remove deprecatedbehaviorssyntax #57165 - @michalczaplinski | Trac ticket | Core backport PRFix PHP notice when an image with lightbox is deleted in the behaviors file #55385 - @afercia | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Fix Image block lightbox missing alt attribute and improve accessibility #55010 - @afercia | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Image: Fix layout shift when lightbox is opened and closed #53026 - @c4rl0sbr4v0 | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📄 elements.php
Block Supports: Backport optimization from Core for Elements Support #55228 - @dmsnell | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📄 dimensions.php
📁 compat
📁 wordpress-6.5
Core backportPR (N/A - diff attached to trac ticket)@wordpress/interactivity-routermodule #57924 - @DAreRodz | Trac ticket | Core backport PRBlock Bindings: Update source registration syntax and remove APIs that should be private #58205 - @michalczaplinski | Trac ticket | Core backport PRBlock Bindings: Remove the experimental flag #58089 - @michalczaplinski | Trac ticket | Core backport PRBlock Renaming - move backported WP 6.5 code to 6.5 compat dir #58126 - @getdave | Trac ticket | Core backport PRNavigation: Move the renderer class to the main navigation file #57979 - @scruffian | Trac ticket | Core backport PRPattern Categories: Fix capitalization #58112 - @youknowriad | Trac ticket | Core backport PRHTML API: Backport updates from Core #57022 - @dmsnell | Trac ticket | Core backport PRFix: Update Interactivity API Use of Private HTML API Classes to avoid Crash #56928 - @dmsnell | Trac ticket | Core backport PRCall variation through callback so it's only loaded when needed - in support of trac 59969 #56952 - @kt-12 | Trac ticket | Core backport PRNavigation: Refactor mobile overlay breakpoints to JS #57520 - @scruffian | Trac ticket | Core backport PRNavigation Block: Use dom.focus for focus control #57362 - @t-hamano | Trac ticket | Core backport PRFix error when using a navigation block that returns an empty fallback result #56629 - @talldan | Trac ticket | Core backport PRstore()API #55459 - @DAreRodz | Trac ticket | Core backport PRFix fatal error when calling undefined block library function. #56459 -@tellthemachines@scruffian | Trac ticket | Core backport PRNavigation: Refactor the PHP render function to make it easier to make changes in the future #55605 - @scruffian | Trac ticket | Core backport PR📁 plugin
Fix: Typo on footnotes docs. #57348 - @jorgefilipecosta | Trac ticket | Core backport PRFootnotes: use core’s meta revisioning if available #52988 - @adamsilverstein | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📁 experimental
📁 block-bindings
Block Bindings API: Refactor logic into Block Bindings class and singleton pattern #57742 | Block Bindings API: Add block bindings PHP registration mechanisms and "Post meta" source under the experimental flag #57249 - @artemiomorales @SantosGuillamot @michalczaplinski | Trac ticket | Core backport PRBlock Bindings: Remove the experimental flag #58089 - @michalczaplinski | Trac ticket | Core backport PRRemove pattern override experiment completely #58105 - @talldan | Trac ticket | Core backport PRUse a patch format and supportlinkTargetofcore/buttonfor Pattern Overrides #58165 - @kevin940726 | Trac ticket | Core backport PR📁 interactivity-api
wp_initial_state()#57556 - @DAreRodz | Trac ticket | Core backport PRFix: Update Interactivity API Use of Private HTML API Classes to avoid Crash #56928 - @dmsnell | Trac ticket | Core backport PRstore()API #55459 - @DAreRodz | Trac ticket | Core backport PRFix server processing of an empty(part of Interactivity API: Server Directive Processing wordpress-develop#5953)data-wp-contextdirective #55482 - @luisherranz | Trac ticket | Core backport PRFix server processing of(part of Interactivity API: Server Directive Processing wordpress-develop#5953)wp-contextgetting out of sync #55436 - @luisherranz | Trac ticket | Core backport PRModules: Fix import map polyfill not being copied on the generated plugin ZIP #56655 - @luisherranz | Trac ticket | Core backport PR(no need to backport)📁 fonts
sluginstead ofidfor Font Collection #57735 - @pbking | Trac ticket | Core backport PRMove mime-type collection generation to a function that can be tested… #54844 - @pbking | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📁 modules
📁 fonts-api
Fix fatal error in WP_Fonts_Resolver::get_settings() #56067 - @arthur791004 | Trac ticket | Core backport PRFix fatal error in WP_Fonts_Resolver::get_settings() #55981 - @anton-vlasenko | Trac ticket | Core backport PR📁 sync
Remove dangling comma causing PHPUnit failures #55494 - @noahtallen | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)[Try] HTTP based PHP signaling server for colaborative editing #53922 - @jorgefilipecosta | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📄 blocks.php
📄 editor-settings.php
Introduce experimental form & inputs blocks to allow building basic forms #44214 - @aristath | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)[Experimental]: First version of pages list in site editor #54966 - @ntsekouras | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📄 class-gutenberg-rest-template-revision-count.php
Remove compatibility layer for WP 6.2 #56464 - @tellthemachines | Trac ticket | Core backport PR📄 data-views.php
Fix: Don't register dataviews postype and taxonomy if experiment is disabled. #55743 - @jorgefilipecosta | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Add: Ability to persist dataviews on the database. #55465, DataViews: Make used taxonomy private #55918 - @jorgefilipecosta | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📄 client-assets.php
📄 class-wp-theme-json-gutenberg.php
Add defaultFontSizes option to theme.json #56661- @ajlende | Trac ticket | Core backport PRRemove deprecatedbehaviorssyntax #57165 - @michalczaplinski | Trac ticket | Core backport PRWP_Theme_JSON_Gutenberg Unit tests: fix phpunit warnings about set_spacing_sizes #55313 - @matiasbenedetto | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📄 blocks.php
Update: Improve footnotes sanitisation by removing unrequired keys. #55305 - @jorgefilipecosta | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Introduce experimental form & inputs blocks to allow building basic forms #44214 - @aristath | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📄 init.php
i18n: Make menu and title labels in Gutenberg plugin translatable #43500 - @mhimon | Trac ticket | Core backport PR📄 global-styles-and-settings.php
📄 class-wp-theme-json-resolver-gutenberg.php
📄 class-wp-duotone-gutenberg.php
Make duotone support compatible with enhanced pagination #55415 - @luisherranz | Trac ticket | Core backport PR (Already backported in WP 6.4)📁 phpunit
sluginstead ofidfor Font Collection #57735 - @pbking | Trac ticket | Core backport PRwp_initial_state()#57556 - @DAreRodz | Trac ticket | Core backport PRFix error when using a navigation block that returns an empty fallback result #56629 - @talldan | Trac ticket | Core backport PRstore()API #55459 - @DAreRodz | Trac ticket | Core backport PRRemove compatibility layer for WP 6.2 #56464 - @tellthemachines | Trac ticket | Core backport PRNavigation: Refactor the PHP render function to make it easier to make changes in the future #55605 - @scruffian | Trac ticket | Core backport PRHTML API: Backport updates from Core during the 6.4 release cycle #55703 - @dmsnell | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Fix server processing of an empty(part of Interactivity API: Server Directive Processing wordpress-develop#5953)data-wp-contextdirective #55482 - @luisherranz | Trac ticket | Core backport PRFix server processing of(part of Interactivity API: Server Directive Processing wordpress-develop#5953)wp-contextgetting out of sync #55436 - @luisherranz | Trac ticket | Core backport PRWP_Theme_JSON_Gutenberg Unit tests: fix phpunit warnings about set_spacing_sizes #55313 - @matiasbenedetto | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Introduce experimental form & inputs blocks to allow building basic forms #44214 - @aristath | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Move mime-type collection generation to a function that can be tested… #54844 - @pbking | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Better navigation link variations for post types / taxonomies #56100 - @gaambo | Trac ticket | Core backport PRFixture Tests: Correctly generate fixture files for form-related blocks #56719 - @t-hamano | Trac ticket | Core backport PRFixture unit tests are specific to the Gutenberg plugin and should not require backporting to core.Navigation Link block: register variations on post type / taxonomy registration #54801 - @gaambo | Trac ticket | Core backport PRAdd Unit testing for duotone enhanced pagination. #55542 - @c4rl0sbr4v0 | Trac ticket | Core backport PRQuery block enhanced pagination: Simplify test setup #55805 - @DAreRodz | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Query block enhanced pagination: Detect inner plugin blocks during render #55714 - @luisherranz | Trac ticket | Core backport PR (Already backported in WP 6.4)Elements: Add unit tests for class and style generation #55113 - @aaronrobertshaw | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)Global styles tests: fire hooks when updating post #54836 - @Mamaduka | Trac ticket | Core backport PR (⚠️ Check for existing WP Core backport)📁 packages
📁 style-engine
📄 class-wp-style-engine.php