16.5.0
Changelog
Features
Interactivity API
- Allow passing optional
afterLoad
callbacks tostore
calls. (53363)
Enhancements
Commands
- Add block-related commands. (52509)
- Add support for registering commands without icons. (53647)
- Update the "Preview in a new tab" command to reuse the preview target tab when available. (53242)
- Update command palette styling. (53117)
- Improve command palette rendering on smaller viewports. (53661)
- Tweak existing commands to establish consistency with command language. (53496)
- End the command palette description with a period in the keyboard shortcut modal. (53635)
Components
- Button: Remove default border from the destructive button. (53607)
- LineHeightControl: Allow for more granular control of decimal places. (52902)
- Snackbar: Design and motion improvements. (53248)
- Modal:
- ProgressBar: Update colors, including gray 300 for track color (53349), theme system accent for indicator color (53347), and the theme accent color variable. (53632).
Block Library
- Column block:
- Classic block: Increase dimensions of modal and allow toggling fullscreen. (53449)
- Details block:
- File block: Add block spacing options. (45107)
- Image block: Add aspect ratio support to lightbox. (52765)
- Post Content block: Add color controls. (51326)
- Remove "post" from block titles. (53492)
Patterns
- Open detail view when duplicating a pattern. (53214)
- Prevent the "create pattern" modal from closing the block options menu when it is closed. (53707)
- Skip migration logs in the patterns screen. (53626)
- Add missing full stop to string. (53544)
Global Styles
- Add a reset to default global styles revision (52965) and reduce visibility check from two to one revision (53281).
Media
- Adjust size of image previews in list view. (53649)
- Add media previews to list view for gallery and image blocks. (53381)
Site Editor
- Expose
Theme
via private APIs (53262), which was necessary to use the progress bar component for the site editor loading screen (53032).
Block Editor
- Add
Opens in new Tab
control into Link Preview. (53566) - Dependencies: Bump
remove-accents
to 0.5.0. (53420) - Top-align Publish row in the post panel. (53573)
- Allow layout controls to be disabled per block from theme.json. (53378)
- Fluid typography: Add min and max viewport width configurable options. (53081)
New APIs
Extensibility
- Make
useBlockEditingMode()
public. (52094)
Bug Fixes
Commands
- Style tweaks to fix metrics for resting and no results view in command palette. (53497)
- Order template results in Site Editor, to fix some templates not displaying. (53286)
- Don't allow access to Styles-related pages via the command palette in the hybrid theme. (53123)
Block Library
- Button block: Avoid losing user changes when the
ButtonEdit
component re-renders. (53507) - Cover block: Fix flickering when inserted in templates and also fix
isDark
calculation bugs. (53253) - Footnotes block:
- Image block:
- Fix image stretching with only height. (53443)
- Don't render
DimensionsTool
if it is not resizable. (53181) - Fix stretched images constrained by max-width. (53274)
- Clear aspect ratio when wide aligned. (53439)
- Change the conditions under which we display the scale control. (53334)
- Reset height when selecting the original aspect ratio. (53339)
- Latest Posts block: Make categories handling more defensive to prevent multisite error. (53659)
- Media & Text block: Fix deprecation with
isStackOnMobile
default value changed. (49538) - Inject theme stylesheet value as template part theme attribute. (53423)
- Block serialization: Correctly compare default attribute values. (53521)
Block Editor
- LinkControl: Prevent overflow when the title is a URL. (53356)
- Fix broken flows on Safari, including
ArrowUp
functionality in an empty paragraph (53341) and multi-selection upon shift plus click (53440). - Restore focus after dragging out of the block repeatedly. (53429)
- Avoid merging paragraph into a Columns block. (53508)
- Prevent vertical arrow keys getting stuck in view. (53454)
- Set top toolbar size dynamically. (53526)
- Support container queries in editor CSS. (49915)
- Copy tag name on internal paste. (48254)
Site Editor
- Add missing i18n in
HomeTemplateDetails
. (53543) - Add buttons for block settings and styles in smaller viewport. (53412)
- Ensure canvas edit mode button occupies the entire frame canvas. (53730)
- Fix document actions label helper method. (52974)
- Fix document title alignment in command palette button. (53224)
Post Editor
- Address crash by moving editor style logic into a hook with
useMemo
. (53596) - Fix support of sticky position in non-iframed post editor. (53540)
- Correct typo when setting the preview device type to 'Desktop'. (53409)
- Avoid returning a different object on every call to
getInsertionPoint
. (53722) - Fix top toolbar in the post editor with custom fields in Safari. (53688)
- Improve metrics on post publish view buttons. (53245)
Page Content Focus
- Fix missing Replace button in content-locked Image blocks. (53410)
- Fix BlockPreview in Template panel when editing a page in the site editor. (53550)
- Use
template.blocks
in BlockPreview if it exists. (53611)
Navigation Menus
- Make all the 'Loading' strings consistent. (52901)
- Fix title not being copied correctly when duplicating navigation. (53610)
- Remove "go to" for terms and posts. (53408)
Typography
- Fallback to default max viewport if layout wide size is fluid. (53551)
- Fix typo and add tests for fonts install endpoint. (53644)
Patterns
- Fix Synced Patterns' color in quick inserter. (53327)
- Hide pattern previews on hover in inserter. (53331)
- Ensure it's possible to delete draft patterns. (53405)
- Fix pattern creation button in list view dropdown menu. (53562)
- Prevent sync status overlapping for some languages in patterns. (53243)
Global Styles
- Fix push-to-global-styles clearing of attributes, border fallbacks, link hover colors, and behaviors. (51621)
- Preserve block style variations when securing theme json. (53466)
Layout
- Don't add root padding to children of flex and grid layout blocks. (53259)
- Include namespace in layout classname for non-core blocks. (53404)
Interactivity API
- Add short-circuit to
useSignalEffect
. (53358) - Add support for underscores and leading dashes in the suffix part of the directive. (53337)
- Update deepsignal version. (53549)
Components
- Button: Add
:Disabled
selector to reset hover color for disabled buttons. (53411) - Preferences Modal: Insert path and query args to form before submitting. (53324)
Accessibility
- Type labels GH Action: Fix accessibility issues in error message. (53371)
- Add accessible description of current Navigation block state. (53469)
- Implement accessible version of Navigation overlay preview toggle control. (53462)
- Search Block: Fix unintended wrapping of button text in "Button only" style. (53373)
Performance
- Compute presets from
theme.json
: Skip those without classes or variables. (53574) - Switch performance tests to Playwright. (52022)
- Fix memory leaks in
<Iframe>
. (53406) get_root_layout_rules
: Remove unnecessary call tosanitize_title
. (53568)
Experiments
- Fonts Library: Backend. (52704)
- Add custom connections inspector control. (53241)
- Allow contents of Paragraph to be "connected" to a meta custom field. (53247)
- Bootstrap a minimal sync package. (52681)
Documentation
Project Docs
- Updating
lib/PHP
README.md. (53614) - Add documentation for keyboard shortcut selecting text across multiple blocks. (43164)
- Add keyboard shortcut selecting text across multiple blocks on Windows. (53625)
- Docs/Gutenberg release process - Better table of contents. (53394)
- Add the auto-generated commands store documentation. (52562)
Getting Started
- Developer Environment: Refer to Node 16 instead of 14. (53523)
- Create Block:
How To Guides
- Block Tutorial:
- Building a Custom Block Editor: Consolidate and update the guide. (53159)
- Curating the Editor Experience: Include starter patterns for templates. (53398)
Components
- Popover: Fix iframe story and add test. (53182)
- BlockCaption: Add README for component. (52535)
- useSetting: Add README for component. (53162)
- SelectControl: Update JSDoc. (53379)
- Card: Update Card component document. (53172)
- MenuGroup: Add Storybook stories. (53090)
- Edit Post: Update "PluginDocumentSettingPanel" documentation. (53393)
- Interface: Fix "complimentary" typo with "complementary". (53413)
Interactivity API
- Revamp of README to include API Reference among other indications. (53385)
- Add missing section in ToC and minor improvements to Getting Started Guide. (53362)
- Update Interactivity API package README with clear references to documentation. (53388)
- Add code requirements to Interactivity API documentation. (53342)
- Add JSDoc comments to the public API. (52469)
Packages
- Create Block: Update npx commands in README.md. (47150)
- Data: Add changelog entry for the latest
useSelect
enhancement. (53685) - Style Engine: Update documentation for css_var. (53710)
Code Quality
- Remove @types/classnames deprecated package. (53478)
- Remove
gutenberg_initialize_editor
. (53527) - Update package-lock.json to match 16.4.0 version number. (53499)
Block Library
- Button block: Replace the
isSmall
deprecated prop in theWidthPanel
. (53472) - Details block: Remove unnecessary comment attributes. (51610)
- Footnotes block:
- LinkControl/LinkUI: Remove unused
className
prop. (53348) - Remove unneeded block.json name-only imports. (53677)
- Template parts: Return a stable reference for the defined 'area'. (53675)
Components
- ESLint: Fix all
storybook/prefer-pascal-case
warnings. (53683) - Remove unused components from
/ui
. (52953) - MenuItem: Refactor to TypeScript. (53132)
- Move accent colors to theme context. (53631)
- Interface: Fix ESLint warnings. (53456)
- Plugins: Introduce the
usePluginContext
hook. (53291) - Remove effect dep in Link Control. (53421)
Data Layer
- Data: Warn if the
useSelect
hook returns different values when called with the same state and parameters. (53666)
Site Editor
- Remove unnecessary
as
prop fromSiteHub
component. (53372) - Create patterns package and share the create pattern modal between post editor and site editor. (53161)
Post Editor
- Migrate PostTypeSupportCheck usages from withSelect to hooks. (53330)
- UnsavedChangesWarning: Don't return a function from 'mapSelect'. (53672)
- Replace HoCs with hooks in:
- Replace
withPluginContext
inPluginPostPublishPanel
(53302) andPluginPrePublishPanel
(53304). - Block previews: Memoize example blocks. (53640)
Global Styles
- Try: Bundle
WP_REST_Global_Styles_Controller
class instead of inheriting per WordPress version. (53618) - Remove empty usages of
BlockPreviewPanel
. (53681)
Block Editor
- Remove Firefox work-around to type Space in RichText components inside button/summary. (53014)
- Rich text: Small perf improvement for selection syncing. (53583)
- Auto-inserting blocks: Minor fixes to address feedback. (53183)
Tools
Project Management
- Remove automation that checks-in ANY issue without activity in 180 days. (53390)
Build Tooling
- Update minimal node version to 16 and npm to 8. (53426)
- Update to TypeScript 5.1. (52621)
- Update Lerna to 7.1.4. (53515)
- Update Storybook to v7. (53520)
- Update
npm-package-json-lint
to v6. (53636) - Update
mkdirp
dependency. (53529) - ESLint Plugin: Bring JSDoc plugin to the latest version. (53629)
- Add Storybook TypesSript plugin for compatibility with TypeScript 5. (53445)
- Update the "update plugin version" workflow step so that it also updates the nested package version for Gutenberg. (53503)
- Fix wp-scripts watch mode failing when
block.json
contains malformed JSON. (51971) - Remove deprecated
stable
deep dependency. (53630) - Add some missing internal peer dependencies. (53275)
- Add some missing package dependencies. (41486)
Testing
- Migrate 'Block variations' end-to-end tests to Playwright. (53266)
- Interactivity API: Add missing tests for
body
,init
andon
directives. (52952) - Cover block: Add integration tests to check isDark settings. (53256)
- Writing flow: Add end-to-end tests for webkit and firefox. (53458)
- Add tests for fluid layout and typography. (53554)
- Block editor: Webkit e2e: Attempt to fix shift+click test. (53564)
- end-to-end Storybook: Fix for Storybook v7. (53658)
- Dependencies: Update
@testing-library/react
to v14. (53682) - Multi-select: Restore pre-Playwright migration test for failed selection attempt. (53418)
First time contributors
The following PRs were merged by first time contributors:
- @behoney: fix: Typo in finishing.md. (53609)
- @bengreeley: Add documentation for keyboard shortcut selecting text across multiple blocks. (43164)
- @doughamlin: Update npx commands in create-block README.md. (47150)
- @ducksblock: Fix: #52886 Make all the 'Loading' strings consistent. (52901)
- @rtro92: Adds import for internationalization. (53504)
Contributors
The following contributors merged PRs in this release:
@aaronrobertshaw @ajlende @alexstine @Aljullu @andrewserong @annezazu @anomiex @artemiomorales @atachibana @bangank36 @behoney @bengreeley @c4rl0sbr4v0 @carolinan @DAreRodz @dcalhoun @derekblank @doughamlin @draganescu @dsas @ducksblock @ellatrix @fabiankaegy @fluiddot @fullofcaffeine @geriux @getdave @glendaviesnz @gziolo @ingeniumed @jameskoster @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @luisherranz @Mamaduka @matiasbenedetto @mburridge @michalczaplinski @mikachan @mirka @ndiego @noahtallen @noisysocks @oandregal @ockham @pbking @priethor @ramonjd @richtabor @rtro92 @scruffian @SiobhyB @stokesman @swissspidy @t-hamano @tellthemachines @tjcafferkey @tomjn @tyxla @WunderBart @youknowriad