= 17.6.0 =
Changelog
Features
Interactivity API
- Add
wp-data-on-window
andwp-data-on-document
directives. (57931) - Add
wp-each
directive. (57859) - Add
wp-run
directive anduseInit
&useWatch
hooks. (57805) - Create
@wordpress/interactivity-router
module. (57924)
Typography
- Add defaultFontSizes option to theme.json. (56661)
Font Library
- Font Library: Add wp_get_font_dir() function. (57730)
Custom Fields
- Block Bindings: Disable editing of bound block attributes in editor UI. (58085)
Block Editor
- Add effects/box shadow tools to block inspector. (57654)
Enhancements
Components
- Add opt-in prop for 40px default size for
BoxControl
,BorderControl
, andBorderBoxControl
. (56185) - BorderControl: Replace style picker with ToggleGroupControl. (57562)
- ColorPicker: Store internal HSLA state for better slider UX. (57555)
- Migrate PaletteEdit and CircularOptionPicker tests from user-event to ariakit/test. (57809)
- Replace
TabPanel
withTabs
in the Editor Preferences Modal. (57293) - Theme: Set
color
on wrapper. (58095) - Tooltip: No-op when nested inside another Tooltip component. (57202)
BoxControl
: Update design. (56665)- Element: Start reexporting PureComponent. (58076)
Interactivity API
- Render the root interactive blocks. (57729)
- Interactivity Router: Replace
data-wp-navigation-id
withdata-wp-router-region
. (58191) - Interactivity: Export
withScope()
and allow to use it with asynchronous operations. (58013) - Prevent the use of components in
wp-text
. (57879) - Remove wp-data-navigation-link directive. (57853)
- Server Directive Processing Refactor. (58066)
- Update
preact
,@preact/signals
anddeepsignal
dependencies. (57891)
Block Editor
- Add copy link button to Link UI. (58170)
- Improve LinkControl preview. (57775)
- Keep Link UI open upon initial link creation when used in RichText. (57726)
- List View: Displace list view items when dragging (a bit more WYSIWYG). (56625)
- Show initial suggestions in rich text Link UI. (57743)
- Disable lock button if user cannot control lock state. (57274)
- Use ClipboardJS latest version and clean up focus loss workaround. (57156)
- Dimensions: Add Aspect Ratio block support. (56897)
Block Library
- Add more taxonomy options to the post navigation link. (48912)
- Add: Footnotes support for other CPT’s. (57353)
- Better navigation link variations for post types / taxonomies. (56100)
- Remove “blocks” from copy and delete labels. (57769)
- Pullquote Block: Add padding and margin support. (45731)
- Video Block: Add raw transformation from
video
html. (47159) - Aspect ratio: Remove support on the Group block for now. (58414)
- Image block: Move UI for lightbox from sidebar to the content toolbar alongside link settings. (57608)
Data Views
- DataViews: Enable grid layout for templates & parts by default. (58137)
- DataViews: Make dataviews powered page patterns stable. (58139)
- DataViews: Make the “Manage Pages” stable. (58166)
- Dataviews: Add Bulk actions to page. (57826)
Site Editor
- Group templates in sidebar list. (57711)
- Initial routing refactoring to separate preview from list view. (57938)
- Iterate on warning text for block removal for query/post template/post content. (58138)
- Site editor: Add global styles changes to save flow. (57470)
- Editor: Unify the Editor Mode preference. (57642)
- Live Preview: Show the current theme name on the theme activation modal. (57588)
- Unify the preferences modal UI between post and site editor. (57639)
- Remove right negative margin from pinned items. (57666)
- Update style revision top toolbar text. (58057)
Block API
- Block Bindings: Update source registration syntax and remove APIs that should be private. (58205)
- Block Hooks: Do not remove toggle if hooked block is present elsewhere. (57928)
Synced Patterns
- Add basic pattern overrides end-to-end tests. (57792)
- Use a patch format and support
linkTarget
ofcore/button
for Pattern Overrides. (58165)
Patterns
- Add image block support for pattern overrides. (57909)
- Outline editable blocks that are within a content-locked container. (57901)
- Change text on pattern reset button. (58286)
Post Editor
- Post Lock: Use the new modal size preset. (58197)
- Add description to the save panel header when nothing is checked. (57716)
Font Library
- Update the default collection data URL to the wordpress.org cdn. (58186)
- Font Library: Refactor stylesheet using CSS variables (58237)
- Font Library Modal: Reset the selected font when installing a new font. (57817)
- Font Library: Disable font library UI using a PHP filter. (57818)
- Font Library: Filter fonts upload directory. (57697)
- Font Library: Use data or src file to define font collection data. (57734)
- Improve font collection rest controller. (58222)
- Make notices more consistent. (58180)
- Updates Font Families and Font Faces endpoints context param. (58287)
Commands
- Minor command tweaks. (58148)
Extensibility
- Update Navigation block to render hooked inner blocks. (57754)
- Add gettext content when translating ‘Header’. (51066)
Template Editor
- Remove
template-only
mode from editor and edit-post packages. (57700)
New APIs
Block API
- Block Bindings API: Add block bindings PHP registration mechanisms and “Post meta” source under the experimental flag. (57249)
- Block Bindings API: Refactor logic into Block Bindings class and singleton pattern. (57742)
Bug Fixes
Block Library
- Avatar block: Fix broken aligments in the editor. (58114)
- Embed Block: Fix retry processing when embedding with trailing slash fails. (58007)
- Lightbox: Fix “Expand on click” control being disabled unintentionally. (56053)
- Modified Date Block: Don’t render change date tool. (57914)
- Only prioritise Quote transform where relevant. (57749)
- Query Loop: Fix posts list variation detection. (58194)
- Block Hooks API: Update Navigation block feature gate. (58388)
Components
- Button: Always render the Tooltip component even when a tooltip should not be shown. (56490)
- CustomSelect: Adjust
renderSelectedValue
to fix sizing. (57865) - ToggleGroupControl: Improve controlled value detection. (57770)
- Tooltip: Accept specific tooltip props. (58125)
- Tooltip: Forward and merge inner tooltip props correctly. (57878)
- Bring back the chevron. (57807)
- Preferences: Add a proxy to retrieve the deprecated preferences with a deprecation message. (58016)
Data Views
- DataViews: Default sort order in templates by title. (58175)
- DataViews: Don’t always display horizontal scrollbar. (58101)
- DataViews: Fix author sorting in templates and template parts. (58167)
- Remove unused argument from sprintf in pagination.js. (57823)
- DataViews: Fix safari grid row height issue. (58302)
- DataViews: Fix table view cell wrapper and BlockPreviews. (58062)
Patterns
- Add black border back when editing synced pattern in the post editor. (57631)
- Outline editable blocks when in a pattern that has locked children. (57991)
- Remove text align control for paragraph, heading, and button in contentOnly editing mode. (57906)
- Pattern Categories: Fix capitalization. (58112)
- Fix flaky “create a new pattern” test. (57747)
- Block Bindings: Fix bindings image placeholder showing in patterns overrides. (58252)
List View
- Image Block: Make block name affect list view. (57955)
- More Block: Make block name affect list view. (58160)
Block API
Global Styles
- Correctly decode border color values. (57876)
- Fix: Theme.json application of custom root selector for styles. (58050)
Data Layer
- Data: Allow binding registry selector to multiple registries. (57943)
- Data: Fix memoized createRegistrySelector. (57888)
Typography
- #56734 When there is no font, the border should not appear. Display further guidance text. (56825)
- Fluid typography: Do not calculate fluid font size when min and max viewport widths are equal. (57866)
Block Editor
- Fix regression: Content locking does not stops when an outside block is selected. (57737)
- LinkControl: Remove unnecessary right padding of input fields. (57784)
Custom Fields
- Block Bindings: Fix button popover not showing in patterns. (58219)
Font Library
Synced Patterns
- Fix losing overrides after detaching patterns. (58164)
Interactivity API
- Prevent
wp-data-on=""
from creatingonDefault
handlers. (57925) - Prevent usage of
gutenberg_url
in block-library (58242) - Interactivity API: Fix data-wp-on-document flaky test. (58008)
- Interactivity API: Fix flaky test on-window. (58134)
- Fix flaky test on-window, remove duplicate expect on-document. (58181)
- Interactivity: Fix broken react usage in published package. (58258)
CSS & Styling
- Styles revisions: Remove body padding. (57748)
Templates API
- Fix visual indication of switch to default template in the post editor. (57718)
Site Editor
- (editor)(fix) Append the
edit-post-header-toolbar
class in NavigableToolbar for backward compatibility with plugin GUI injections. (58154) - Fix site editor layout regressions. (58077)
Accessibility
Site Editor
- Fix font variants count color contrast ratio and l10n. (58117)
- Make the site hub View Site link always visible. (57423)
Block Editor
- Fix parent selector button focus style and metrics. (57728)
- Restore visual separator between mover buttons when show button label is on. (57640)
Widgets Editor
- Fix Widgets page Undo and Redo accessibility and keyboard interaction. (57677)
Performance
- Add patterns load test. (57828)
- Block editor: Avoid list re-rendering on select. (57188)
- Block editor: Don’t register shortcuts for preview editors. (57984)
- Block editor: Fix performance regression after #57950. (57971)
- Block editor: Use context for useBlockEditingMode. (57950)
- BlockSwitcher: Defer transform calculations until the Dropdown is open. (57892)
- Call variation through callback so it’s only loaded when needed – in support of trac 59969. (56952)
- Editor styles: Cache transform. (57810)
- Footnotes: Combine format store subscription. (58129)
- Iframe: Calc compat styles once per page load. (57798)
- Measure typing with the top toolbar enabled. (57709)
- Meta boxes: Don’t initialise if there are none. (57182)
- Patterns: Avoid fetching on load. (57999)
- Site editor: Avoid fetching themes on load. (57985)
- Site editor: Reduce artificial loading delay from 1s to 100ms. (57953)
- Site editor: Remove store subscription per block. (57995)
- Template Part & Query: Avoid server requests on mount. (57987)
- Template part block: Avoid parsing ALL patterns on mount. (57856)
Block Editor
- Revert “Block editor: Avoid list re-rendering on select”. (58147)
Post Editor
- Editor: Use hooks instead of HoCs for
EditorNotices
. (57772)
Experiments
Data Views
- Add: Bulk actions to dataviews with the new design. (57255)
- Data view list layout: Fix thumbnail dimensions. (57774)
- Data views table layout: Update cell vertical alignment. (57804)
- DataViews: Add description to pages. (57793)
- DataViews: Add front page to pages page sidebar. (57759)
- DataViews: Better management of
layout
param in templates. (58116) - DataViews: Make list layout the default for templates with the experiment enabled. (57933)
- DataViews: Revert list view as default for pages. (58081)
- DataViews: Revert list view as default for templates. (58079)
- DataViews: Set primary field styles. (57846)
- DataViews: Show loading / no result message for the list layout. (57764)
- DataViews: Update template parts view. (57952)
- DataViews: Use button for patterns, pages and templates preview field. (58071)
- DataViews: Use table layout for templates when experiment disabled. (57960)
- Stabilise view options button icon. (57964)
- Update Grid layout design. (57880)
- Update Pages preview field display. (57919)
- Update Templates table layout. (57930)
- Update: Show template sources on templates Dataviews sidebar. (58124)
Synced Patterns
- Add a control to reset pattern overrides. (57845)
- Allow heading and button in Pattern Overrides. (57789)
Typography
- Download then upload font face assets when installing from a collection. (57694)
- Use
slug
instead ofid
for Font Collection. (57735)
REST API
- Font Library Refactor. (57688)
Block Editor
- Allow drag and drop to create Rows and Galleries. (56186)
Documentation
- Add a video demonstration to the Quick Start Guide. (57834)
- Button: Improve
disabled
-related prop descriptions. (57864) - Components: Move CHANGELOG entries under the correct release. (57885)
- Docs: Fix typo in “The block wrapper” document. (58106)
- Docs: Use ‘key’ in ‘editor.BlockEdit’ filter code examples. (58119)
- Document files/directories requiring backmerging to WP Core for major release. (58064)
- Fix the iframe markup of the embed video in the Quick Start Guide. (57857)
- Fix: Link to the nodejs release page. (57816)
- Fix: Typo on BlockListBlock comments. (57814)
- Fix: Typos on __unstableSetTemporarilyEditingAsBlocks documentation. (57768)
- Font Library: Add font collection JSON schema. (57736)
- Prefixes all php filters with wpdocs_. (53914)
- Remove the unnecessary TOC and fix grammar/formatting in the Patterns doc. (57825)
- Remove the 👋 emoji from the Block Editor Handbook. (58023)
- Update versions-in-wordpress.md. (57916)
- [Type] Developer Documentation – Fix removeAllNotices dispatch on the removeAllNotices doc section of @wordpress/notices. (57436)
Code Quality
Components
- PaletteEdit: Improve unit tests. (57645)
- Tooltip and Button: Tidy up unit tests. (57975)
- Tooltip: Add test for classname leakage. (58182)
- Remove unneeded
margin: 0
override forNotice
component consumer. (57794) - Shadows: Prevent empty style object when removing shadow. (58155)
Block Editor
- Soft deprecate custom ‘pure’ HoC in favor of ‘React.memo’. (57173)
- Stabilise RecursionProvider and useHasRecursion APIs. (58120)
- Tidy up block patterns selectors. (57913)
- Shadow: Remove additional wrapper around getShadowClassesAndStyles. (58297)
Block Library
- Gallery Block: Remove duplicate return statement. (57746)
- Navigation: Move the renderer class to the main navigation file. (57979)
- Fix comments block. (57820)
- Rename __experimentalGetGlobalBlocksByName to getBlocksByName. (58156)
- Block Hooks API: Remove $post check from Navigation hooked blocks meta fn. (58379)
- Post navigation link: Coding standard fixes. (58380)
- Update docblock for render_block_core_pattern. (58382)
- Block Hooks API: Update doc block for block_core_navigation_insert_hooked_blocks. (58378)
Font Library
- Remove WP_Font_Family class that is no longer used. (58184)
- Font Library: Remove ‘version’ property from font collection schema. (58025)
- [Fonts API] removing files and files loading no longer needed. (57972)
- Remove unused utilities and rename class. (58342)
- Rename the slug of the google fonts collection from ‘default-font-collection’ to ‘google-fonts’. (58331)
- Refactored download/upload logic to support font faces with multiple src assets. (58216)
- Font Library: Addresses additional REST API feedback. (58333)
Block Directory
- DownloadableBlocksPanel: Remove withSelect in favor of useSelect. (58109)
Patterns
- Stabilize the pattern overrides block context. (58102)
- Remove pattern override experiment completely. (58105)
- Update pattern overrides to use a hard coded support array. (57912)
- Block Bindings: Change
core/pattern-attributes
source forcore/pattern-overrides
. (58434)
Block API
- Block Bindings: Remove the experimental flag. (58089)
- Block Renaming – move backported WP 6.5 code to 6.5 compat dir. (58126)
Post Editor
- Editor: Use hooks instead of HoCs in ‘PostScheduleCheck’. (57833)
Script Modules API
- Update the code and move it to the compat/wordpress-6.5 folder. (57778)
Data Views
- Remove obsolete check from dataviews modal actions title. (57753)
Interactivity API
- Remove
data-wp-slot
anddata-wp-fill
. (57854) - Remove unused
state
and renameprops
toattributes
ingetElement()
. (57974)
HTML API
- Backport updates from Core. (57022)
Custom Fields
- Block Bindings: Simplify block bindings object. (58337)
- Block Bindings: Adapt block bindings to wordpress code latest changes. (58383)
Tools
Testing
- Add
setGutenbergExperiments
torequestUtils
. (56663) - Add: End to end test to content locking stop editing as blocks behavior. (57812)
- Attempt to fix php unit tests (variations api change). (58090)
- Migrate ‘block grouping’ end-to-end tests to Playwright. (57684)
- Migrate ‘embedding’ end-to-end tests to Playwright. (57969)
- Migrate ‘typewriter’ end-to-end tests to Playwright. (57673)
- Remove unused Navigation block end-to-end test fixtures. (57848)
Build Tooling
- Update caniuse-lite package. (58087)
- Update the cherry pick script to work with the new version of gh. (57917)
- Scripts: Remove unused variable in bin/list-experimental-api-matches.sh. (57771)
- (chore) Revert bump to the v17.5.1 (draft) due to bug in the release found by manual testing. (58027)
- Fix misplaced ReactRefreshWebpackPlugin. (57777)
- Automate creation of Issue for major release PHP synchronisation. (57890)
- Remove check-latest-npm validation. (57797)
- core-js: Only polyfill stable features. (57674)
First time contributors
The following PRs were merged by first time contributors: