From 39ed61df5b692fc54f3d119f8cb177ea9db47d6b Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Tue, 21 Jan 2025 10:27:33 +0900 Subject: [PATCH 001/153] wp-env: Add phpMyAdmin and multisite support to the documentation (#68125) * wp-env: Added phpMyAdmin and multisite support to the documentation * Fix double periods Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Improve description of phpmyadminPort Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Clarify explanation about phpMyAdmin and mysql ports Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Add a line break * Updated the description of phpMyAdmin --------- Co-authored-by: t-hamano Co-authored-by: mcsf Co-authored-by: spacedmonkey Co-authored-by: fabiankaegy --- .../getting-started-with-code-contribution.md | 4 ++- packages/env/README.md | 34 ++++++++++++------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/docs/contributors/code/getting-started-with-code-contribution.md b/docs/contributors/code/getting-started-with-code-contribution.md index df6b305f35983e..9afcc3e46ca1bd 100644 --- a/docs/contributors/code/getting-started-with-code-contribution.md +++ b/docs/contributors/code/getting-started-with-code-contribution.md @@ -104,7 +104,9 @@ You can access the Dashboard at: `http://localhost:8888/wp-admin/` using **Usern #### Accessing the MySQL Database -To access the MySQL database on the `wp-env` instance you will first need the connection details. To do this: +phpMyAdmin is available by default for the Gutenberg project. You can access the MySQL Database at: `http://localhost:9000/`. + +If you want to access the database through another tool, you will first need the connection details. To do this: 1. In a terminal, navigate to your local Gutenberg repo. 2. Run `npm run wp-env start` - various information about the `wp-env` environment should be logged into the terminal. diff --git a/packages/env/README.md b/packages/env/README.md index af037f5ee80ab6..467e8d44e7135d 100644 --- a/packages/env/README.md +++ b/packages/env/README.md @@ -479,17 +479,19 @@ You can customize the WordPress installation, plugins and themes that the develo `.wp-env.json` supports fields for options applicable to both the tests and development instances. -| Field | Type | Default | Description | -|----------------|----------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| -| `"core"` | `string\|null` | `null` | The WordPress installation to use. If `null` is specified, `wp-env` will use the latest production release of WordPress. | -| `"phpVersion"` | `string\|null` | `null` | The PHP version to use. If `null` is specified, `wp-env` will use the default version used with production release of WordPress. | -| `"plugins"` | `string[]` | `[]` | A list of plugins to install and activate in the environment. | -| `"themes"` | `string[]` | `[]` | A list of themes to install in the environment. | -| `"port"` | `integer` | `8888` (`8889` for the tests instance) | The primary port number to use for the installation. You'll access the instance through the port: 'http://localhost:8888'. | -| `"testsPort"` | `integer` | `8889` | The port number for the test site. You'll access the instance through the port: 'http://localhost:8889'. | -| `"config"` | `Object` | See below. | Mapping of wp-config.php constants to their desired values. | -| `"mappings"` | `Object` | `"{}"` | Mapping of WordPress directories to local directories to be mounted in the WordPress instance. | -| `"mysqlPort"` | `integer` | `null` (randomly assigned) | The MySQL port number to expose. The setting is only available in the `env.development` and `env.tests` objects. | +| Field | Type | Default | Description | +|--------------------|----------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| +| `"core"` | `string\|null` | `null` | The WordPress installation to use. If `null` is specified, `wp-env` will use the latest production release of WordPress. | +| `"phpVersion"` | `string\|null` | `null` | The PHP version to use. If `null` is specified, `wp-env` will use the default version used with production release of WordPress. | +| `"plugins"` | `string[]` | `[]` | A list of plugins to install and activate in the environment. | +| `"themes"` | `string[]` | `[]` | A list of themes to install in the environment. | +| `"port"` | `integer` | `8888` (`8889` for the tests instance) | The primary port number to use for the installation. You'll access the instance through the port: 'http://localhost:8888'. | +| `"testsPort"` | `integer` | `8889` | The port number for the test site. You'll access the instance through the port: 'http://localhost:8889'. | +| `"config"` | `Object` | See below. | Mapping of wp-config.php constants to their desired values. | +| `"mappings"` | `Object` | `"{}"` | Mapping of WordPress directories to local directories to be mounted in the WordPress instance. | +| `"mysqlPort"` | `integer` | `null` (randomly assigned) | The MySQL port number to expose. The setting is only available in the `env.development` and `env.tests` objects. | +| `"phpmyadminPort"` | `integer` | `null` | The port number for phpMyAdmin. If provided, you'll access phpMyAdmin through: http://localhost: | +| `"multisite"` | `boolean` | `false` | Whether to set up a multisite installation. | _Note: the port number environment variables (`WP_ENV_PORT` and `WP_ENV_TESTS_PORT`) take precedent over the .wp-env.json values._ @@ -523,7 +525,8 @@ Additionally, the key `env` is available to override any of the above options on "KEY_1": false }, "port": 3000, - "mysqlPort": 13306 + "mysqlPort": 13306, + "phpmyadminPort": 9001 } } } @@ -688,7 +691,12 @@ You can tell `wp-env` to use a custom port number so that your instance does not } ``` -These can also be set via the environment variables `WP_ENV_PORT`, `WP_ENV_TESTS_PORT`, `WP_ENV_MYSQL_PORT` and `WP_ENV_TESTS_MYSQL_PORT`. +These can also be set via environment variables: + +- `WP_ENV_PORT` to override the development environment's web server's port. +- `WP_ENV_TESTS_PORT` to override the testing environment's web server's port. +- phpMyAdmin is not enabled by default, but its port can also be overridden for the development and testing environments via `WP_ENV_PHPMYADMIN_PORT` and `WP_ENV_TESTS_PHPMYADMIN_PORT`, respectively. +- By default, MySQL aren't exposed to the host, which means no chance of port conflicts. But these can also be overridden for the development and testing environments via `WP_ENV_MYSQL_PORT` and `WP_ENV_TESTS_MYSQL_PORT`, respectively. ### Specific PHP Version From e68767fc1334958ecceb7efbc78bb39076a49f3f Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:17:32 +0900 Subject: [PATCH 002/153] Fix: Linked featured image block cannot be selected correctly (#68775) Co-authored-by: t-hamano Co-authored-by: carolinan --- .../src/post-featured-image/edit.js | 17 ++--------------- .../src/post-featured-image/editor.scss | 4 ++-- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/packages/block-library/src/post-featured-image/edit.js b/packages/block-library/src/post-featured-image/edit.js index 05888c41fecf23..6afe2c29e25045 100644 --- a/packages/block-library/src/post-featured-image/edit.js +++ b/packages/block-library/src/post-featured-image/edit.js @@ -49,11 +49,6 @@ function getMediaSourceUrlBySizeSlug( media, slug ) { ); } -const disabledClickProps = { - onClick: ( event ) => event.preventDefault(), - 'aria-disabled': true, -}; - export default function PostFeaturedImageEdit( { clientId, attributes, @@ -318,11 +313,7 @@ export default function PostFeaturedImageEdit( { { controls }
{ !! isLink ? ( - + { placeholder() } ) : ( @@ -430,11 +421,7 @@ export default function PostFeaturedImageEdit( {
{ /* If the featured image is linked, wrap in an tag to trigger any inherited link element styles */ } { !! isLink ? ( - + { image } ) : ( diff --git a/packages/block-library/src/post-featured-image/editor.scss b/packages/block-library/src/post-featured-image/editor.scss index 5fab62c571b1cf..3295fe14e62ac2 100644 --- a/packages/block-library/src/post-featured-image/editor.scss +++ b/packages/block-library/src/post-featured-image/editor.scss @@ -100,9 +100,9 @@ // When the Post Featured Image block is linked, // it's wrapped with a disabled tag. - // Restore cursor style so it doesn't appear 'clickable'. + // Ensure that the link is not clickable. > a { - cursor: default; + pointer-events: none; } // When the Post Featured Image block is linked, From 129587828d6f2908ddf7e1027ecb14f115e095e0 Mon Sep 17 00:00:00 2001 From: Himanshu Pathak Date: Tue, 21 Jan 2025 13:03:40 +0530 Subject: [PATCH 003/153] Gallery: Remove unused inline menu styles (#68776) * Gallery: Remove unused inline menu transition * Base Styles: Remove unused styles entirely Co-authored-by: himanshupathak95 Co-authored-by: t-hamano --- packages/base-styles/_z-index.scss | 1 - .../block-library/src/gallery/editor.scss | 56 ------------------- 2 files changed, 57 deletions(-) diff --git a/packages/base-styles/_z-index.scss b/packages/base-styles/_z-index.scss index af679edb910642..6f7e3f2f13c309 100644 --- a/packages/base-styles/_z-index.scss +++ b/packages/base-styles/_z-index.scss @@ -25,7 +25,6 @@ $z-layers: ( ".components-popover__close": 5, ".block-editor-block-list__insertion-point": 6, ".block-editor-warning": 5, - ".block-library-gallery-item__inline-menu": 20, ".block-editor-url-input__suggestions": 30, ".edit-post-layout__footer": 30, ".interface-interface-skeleton__header": 30, diff --git a/packages/block-library/src/gallery/editor.scss b/packages/block-library/src/gallery/editor.scss index d204d0347d8eb4..62c0eff788746d 100644 --- a/packages/block-library/src/gallery/editor.scss +++ b/packages/block-library/src/gallery/editor.scss @@ -117,10 +117,6 @@ opacity: 0.3; } - .is-selected .block-library-gallery-item__inline-menu { - display: inline-flex; - } - .block-editor-media-placeholder { margin: 0; height: 100%; @@ -131,58 +127,6 @@ } } -.block-library-gallery-item__inline-menu { - display: none; - position: absolute; - top: -2px; - margin: $grid-unit-10; - z-index: z-index(".block-library-gallery-item__inline-menu"); - border-radius: $radius-small; - background: $white; - border: $border-width solid $gray-900; - - @media not (prefers-reduced-motion) { - transition: box-shadow 0.2s ease-out; - } - - &:hover { - box-shadow: $elevation-x-small; - } - - @include break-small() { - // Use smaller buttons to fit when there are many columns. - .columns-7 &, - .columns-8 & { - padding: $grid-unit-05 * 0.5; - } - } - - .components-button.has-icon { - &:not(:focus) { - border: none; - box-shadow: none; - } - - @include break-small() { - // Use smaller buttons to fit when there are many columns. - .columns-7 &, - .columns-8 & { - padding: 0; - width: inherit; - height: inherit; - } - } - } - - &.is-left { - left: -2px; - } - - &.is-right { - right: -2px; - } -} - .wp-block-gallery ul.blocks-gallery-grid { padding: 0; // Some themes give all
    default margin instead of padding. From 34f09ca486a12bde60fd9de770dadfd6792fca93 Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Tue, 21 Jan 2025 13:48:02 +0530 Subject: [PATCH 004/153] Position: Refactor "Position" controls panel to use `ToolsPanel` instead of `PanelBody` (#67967) * Refactor "Position" controls panel to use `ToolsPanel` instead of `PanelBody` * Refactor imports * Refactor `position-controls-panel` to reset multiple selected blocks * Refactor `PositionControlsPanel` to simplify block attribute retrieval * Refactor: Simplify the logic * Refactor `PositionControlsPanel` to improve block attribute handling and reset logic * Refactor `PositionControlsPanel` to clean up empty style properties for selected blocks Co-authored-by: yogeshbhutkar Co-authored-by: fabiankaegy Co-authored-by: t-hamano --- .../position-controls-panel.js | 89 +++++++++++++------ 1 file changed, 62 insertions(+), 27 deletions(-) diff --git a/packages/block-editor/src/components/inspector-controls-tabs/position-controls-panel.js b/packages/block-editor/src/components/inspector-controls-tabs/position-controls-panel.js index 42a8597227dee9..17f65d58b8f74b 100644 --- a/packages/block-editor/src/components/inspector-controls-tabs/position-controls-panel.js +++ b/packages/block-editor/src/components/inspector-controls-tabs/position-controls-panel.js @@ -2,11 +2,11 @@ * WordPress dependencies */ import { - PanelBody, __experimentalUseSlotFills as useSlotFills, + __experimentalToolsPanel as ToolsPanel, + __experimentalToolsPanelItem as ToolsPanelItem, } from '@wordpress/components'; -import { useSelect } from '@wordpress/data'; -import { useLayoutEffect, useState } from '@wordpress/element'; +import { useDispatch, useSelect } from '@wordpress/data'; import { __ } from '@wordpress/i18n'; /** @@ -15,40 +15,75 @@ import { __ } from '@wordpress/i18n'; import InspectorControlsGroups from '../inspector-controls/groups'; import { default as InspectorControls } from '../inspector-controls'; import { store as blockEditorStore } from '../../store'; +import { useToolsPanelDropdownMenuProps } from '../global-styles/utils'; +import { cleanEmptyObject } from '../../hooks/utils'; const PositionControlsPanel = () => { - const [ initialOpen, setInitialOpen ] = useState(); + const { selectedClientIds, selectedBlocks, hasPositionAttribute } = + useSelect( ( select ) => { + const { getBlocksByClientId, getSelectedBlockClientIds } = + select( blockEditorStore ); - // Determine whether the panel should be expanded. - const { multiSelectedBlocks } = useSelect( ( select ) => { - const { getBlocksByClientId, getSelectedBlockClientIds } = - select( blockEditorStore ); - const clientIds = getSelectedBlockClientIds(); - return { - multiSelectedBlocks: getBlocksByClientId( clientIds ), - }; - }, [] ); + const selectedBlockClientIds = getSelectedBlockClientIds(); + const _selectedBlocks = getBlocksByClientId( + selectedBlockClientIds + ); - useLayoutEffect( () => { - // If any selected block has a position set, open the panel by default. - // The first block's value will still be used within the control though. - if ( initialOpen === undefined ) { - setInitialOpen( - multiSelectedBlocks.some( + return { + selectedClientIds: selectedBlockClientIds, + selectedBlocks: _selectedBlocks, + hasPositionAttribute: _selectedBlocks?.some( ( { attributes } ) => !! attributes?.style?.position?.type - ) - ); + ), + }; + }, [] ); + + const { updateBlockAttributes } = useDispatch( blockEditorStore ); + const dropdownMenuProps = useToolsPanelDropdownMenuProps(); + + function resetPosition() { + if ( ! selectedClientIds?.length || ! selectedBlocks?.length ) { + return; } - }, [ initialOpen, multiSelectedBlocks, setInitialOpen ] ); + + const attributesByClientId = Object.fromEntries( + selectedBlocks?.map( ( { clientId, attributes } ) => [ + clientId, + { + style: cleanEmptyObject( { + ...attributes?.style, + position: { + ...attributes?.style?.position, + type: undefined, + top: undefined, + right: undefined, + bottom: undefined, + left: undefined, + }, + } ), + }, + ] ) + ); + + updateBlockAttributes( selectedClientIds, attributesByClientId, true ); + } return ( - - - + hasPositionAttribute } + onDeselect={ resetPosition } + > + + + ); }; From 5b7f7ec473542d863a40291b2513d7cdfb6c712c Mon Sep 17 00:00:00 2001 From: Karthick M <97787966+karthick-murugan@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:59:17 +0530 Subject: [PATCH 005/153] Latest Post Block: Refactor settings panel to use ToolsPanel (#67956) * Image size fix in lightbox * Revert "Image size fix in lightbox" This reverts commit 63f81c1e9cbb3b0513abca2b8cb579fef374ed7b. * Update toolspanel to latest posts block * Design changes * feedback changes * Feedback changes * Feedback updates * Feedback changes * Feedback changes Co-authored-by: karthick-murugan Co-authored-by: fabiankaegy Co-authored-by: t-hamano --- .../src/latest-posts/constants.js | 1 + .../block-library/src/latest-posts/edit.js | 163 +++++++++++++----- 2 files changed, 120 insertions(+), 44 deletions(-) diff --git a/packages/block-library/src/latest-posts/constants.js b/packages/block-library/src/latest-posts/constants.js index 70c34448a3bff6..bcb367ce9d7448 100644 --- a/packages/block-library/src/latest-posts/constants.js +++ b/packages/block-library/src/latest-posts/constants.js @@ -1,3 +1,4 @@ export const MIN_EXCERPT_LENGTH = 10; export const MAX_EXCERPT_LENGTH = 100; export const MAX_POSTS_COLUMNS = 6; +export const DEFAULT_EXCERPT_LENGTH = 55; diff --git a/packages/block-library/src/latest-posts/edit.js b/packages/block-library/src/latest-posts/edit.js index 82f0661d04e40f..95c72ea538b0ef 100644 --- a/packages/block-library/src/latest-posts/edit.js +++ b/packages/block-library/src/latest-posts/edit.js @@ -17,6 +17,8 @@ import { ToolbarGroup, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, + __experimentalToolsPanel as ToolsPanel, + __experimentalToolsPanelItem as ToolsPanelItem, } from '@wordpress/components'; import { __, _x, sprintf } from '@wordpress/i18n'; import { dateI18n, format, getSettings } from '@wordpress/date'; @@ -49,7 +51,9 @@ import { MIN_EXCERPT_LENGTH, MAX_EXCERPT_LENGTH, MAX_POSTS_COLUMNS, + DEFAULT_EXCERPT_LENGTH, } from './constants'; +import { useToolsPanelDropdownMenuProps } from '../utils/hooks'; /** * Module Constants @@ -77,6 +81,8 @@ function getFeaturedImageDetails( post, size ) { export default function LatestPostsEdit( { attributes, setAttributes } ) { const instanceId = useInstanceId( LatestPostsEdit ); + const dropdownMenuProps = useToolsPanelDropdownMenuProps(); + const { postsToShow, order, @@ -227,68 +233,137 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) { const hasPosts = !! latestPosts?.length; const inspectorControls = ( - - + setAttributes( { + displayPostContent: false, + displayPostContentRadio: 'excerpt', + excerptLength: DEFAULT_EXCERPT_LENGTH, + } ) + } + dropdownMenuProps={ dropdownMenuProps } + > + !! displayPostContent } label={ __( 'Post content' ) } - checked={ displayPostContent } - onChange={ ( value ) => - setAttributes( { displayPostContent: value } ) + onDeselect={ () => + setAttributes( { displayPostContent: false } ) } - /> + isShownByDefault + > + + setAttributes( { displayPostContent: value } ) + } + /> + { displayPostContent && ( - displayPostContentRadio !== 'excerpt' } label={ __( 'Show' ) } - selected={ displayPostContentRadio } - options={ [ - { label: __( 'Excerpt' ), value: 'excerpt' }, - { - label: __( 'Full post' ), - value: 'full_post', - }, - ] } - onChange={ ( value ) => + onDeselect={ () => setAttributes( { - displayPostContentRadio: value, + displayPostContentRadio: 'excerpt', } ) } - /> + isShownByDefault + > + + setAttributes( { + displayPostContentRadio: value, + } ) + } + /> + ) } { displayPostContent && displayPostContentRadio === 'excerpt' && ( - + excerptLength !== DEFAULT_EXCERPT_LENGTH + } label={ __( 'Max number of words' ) } - value={ excerptLength } - onChange={ ( value ) => - setAttributes( { excerptLength: value } ) + onDeselect={ () => + setAttributes( { + excerptLength: DEFAULT_EXCERPT_LENGTH, + } ) } - min={ MIN_EXCERPT_LENGTH } - max={ MAX_EXCERPT_LENGTH } - /> + isShownByDefault + > + + setAttributes( { excerptLength: value } ) + } + min={ MIN_EXCERPT_LENGTH } + max={ MAX_EXCERPT_LENGTH } + /> + ) } - + - - + setAttributes( { + displayAuthor: false, + displayPostDate: false, + } ) + } + dropdownMenuProps={ dropdownMenuProps } + > + !! displayAuthor } label={ __( 'Display author name' ) } - checked={ displayAuthor } - onChange={ ( value ) => - setAttributes( { displayAuthor: value } ) + onDeselect={ () => + setAttributes( { displayAuthor: false } ) } - /> - + + setAttributes( { displayAuthor: value } ) + } + /> + + !! displayPostDate } label={ __( 'Display post date' ) } - checked={ displayPostDate } - onChange={ ( value ) => - setAttributes( { displayPostDate: value } ) + onDeselect={ () => + setAttributes( { displayPostDate: false } ) } - /> - - + isShownByDefault + > + + setAttributes( { displayPostDate: value } ) + } + /> + + Date: Tue, 21 Jan 2025 10:56:54 -0500 Subject: [PATCH 006/153] Bump the github-actions group across 1 directory with 2 updates (#68809) Bumps the github-actions group with 2 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/stale](https://github.com/actions/stale). Updates `ruby/setup-ruby` from 1.209.0 to 1.213.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/7a6302104fbeea3c6aaa43b1b91e08f7d6623279...28c4deda893d5a96a6b2d958c5b47fc18d65c9d3) Updates `actions/stale` from 9.0.0 to 9.1.0 - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/28ca1036281a5e5922ead5184a1bbf96e5fc984e...5bef64f19d7facfb25b37b414482c7164d639639) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: actions/stale dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: desrosj --- .github/workflows/rnmobile-ios-runner.yml | 2 +- .github/workflows/stale-issue-gardening.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rnmobile-ios-runner.yml b/.github/workflows/rnmobile-ios-runner.yml index b6d796b1108ff0..a7dc66063e4bb7 100644 --- a/.github/workflows/rnmobile-ios-runner.yml +++ b/.github/workflows/rnmobile-ios-runner.yml @@ -28,7 +28,7 @@ jobs: with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} - - uses: ruby/setup-ruby@7a6302104fbeea3c6aaa43b1b91e08f7d6623279 # v1.209.0 + - uses: ruby/setup-ruby@28c4deda893d5a96a6b2d958c5b47fc18d65c9d3 # v1.213.0 with: # `.ruby-version` file location working-directory: packages/react-native-editor/ios diff --git a/.github/workflows/stale-issue-gardening.yml b/.github/workflows/stale-issue-gardening.yml index c73fe7a19b24b3..6b8c7e82d1ca7b 100644 --- a/.github/workflows/stale-issue-gardening.yml +++ b/.github/workflows/stale-issue-gardening.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Update issues - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0 + uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: ${{ matrix.message }} From 06ee5e14d06beecdf26e07afaae6b4a5d47eaef8 Mon Sep 17 00:00:00 2001 From: Mayank Tripathi <70465598+Mayank-Tripathi32@users.noreply.github.com> Date: Wed, 22 Jan 2025 13:29:22 +0530 Subject: [PATCH 007/153] Spacer: Fix flex layout unit reset (#68815) Co-authored-by: Mayank-Tripathi32 Co-authored-by: carolinan Co-authored-by: Mamaduka Co-authored-by: ndiego Co-authored-by: stokesman Co-authored-by: hanneslsm --- packages/block-library/src/spacer/edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/block-library/src/spacer/edit.js b/packages/block-library/src/spacer/edit.js index 1e0ffb9700d685..af84edf7baf657 100644 --- a/packages/block-library/src/spacer/edit.js +++ b/packages/block-library/src/spacer/edit.js @@ -260,7 +260,7 @@ const SpacerEdit = ( { isFlexLayout && selfStretch !== 'fill' && selfStretch !== 'fit' && - ! flexSize + flexSize === undefined ) { if ( inheritedOrientation === 'horizontal' ) { // If spacer is moving from a vertical container to a horizontal container, From eba2d71676e808750946630fe14ba198e09d7d87 Mon Sep 17 00:00:00 2001 From: Jonny Harris Date: Wed, 22 Jan 2025 09:15:20 -0500 Subject: [PATCH 008/153] Add WP_ENV_MULTISITE envoriment variable. (#68792) * Add WP_ENV_MULTISITE envoriment variable. Introduce a new `multisite` option in `wp-env` to enable multisite setups. This can be specified via the `WP_ENV_MULTISITE` environment variable or in the configuration file. Updated documentation to include usage instructions. * Apply suggestions from code review * Apply suggestions from code review * Update packages/env/README.md Co-authored-by: Pascal Birchler * Add `WP_ENV_MULTISITE` environment variable to override multisite This enhancement allows overriding the `multisite` option using the `WP_ENV_MULTISITE` variable. It provides greater flexibility for customizing environment configurations. * Fix type annotation and format multisite environment logic Corrected the JSDoc type annotation for the multisite property from `bool` to `boolean` for consistency. Added a minor formatting adjustment to the multisite environment variable processing logic. --------- Co-authored-by: Pascal Birchler --- packages/env/CHANGELOG.md | 4 ++++ packages/env/README.md | 11 +++++++++++ .../lib/config/get-config-from-environment-vars.js | 5 +++++ 3 files changed, 20 insertions(+) diff --git a/packages/env/CHANGELOG.md b/packages/env/CHANGELOG.md index f972ba1355755c..396e0167f1e921 100644 --- a/packages/env/CHANGELOG.md +++ b/packages/env/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Enhancements + +- Add a `WP_ENV_MULTISITE` environment variable to override the `multisite` option ([#68792](https://github.com/WordPress/gutenberg/pull/68792)). + ## 10.16.0 (2025-01-15) ## 10.15.0 (2025-01-02) diff --git a/packages/env/README.md b/packages/env/README.md index 467e8d44e7135d..16bba5cba20c07 100644 --- a/packages/env/README.md +++ b/packages/env/README.md @@ -709,6 +709,17 @@ You can tell `wp-env` to use a specific PHP version for compatibility and testin } ``` +### Multisite support + +You can tell `wp-env` if the site should be multisite enabled. This can also be set via the environment variable `WP_ENV_MULTISITE`. + +```json +{ + "multisite": true, + "plugins": [ "." ] +} +``` + ### Node Lifecycle Script This is useful for performing some actions after setting up the environment, such as bootstrapping an E2E test environment. diff --git a/packages/env/lib/config/get-config-from-environment-vars.js b/packages/env/lib/config/get-config-from-environment-vars.js index 618b5fff257920..30c7b3e58eece4 100644 --- a/packages/env/lib/config/get-config-from-environment-vars.js +++ b/packages/env/lib/config/get-config-from-environment-vars.js @@ -23,6 +23,7 @@ const { checkPort, checkVersion, checkString } = require( './validate-config' ); * @property {?number} phpmyadminPort An override for the development environment's phpMyAdmin port. * @property {?WPSource} coreSource An override for all environment's coreSource. * @property {?string} phpVersion An override for all environment's PHP version. + * @property {?boolean} multisite An override for if environmen should be multisite. * @property {?Object.} lifecycleScripts An override for various lifecycle scripts. */ @@ -68,6 +69,10 @@ module.exports = function getConfigFromEnvironmentVars( cacheDirectoryPath ) { environmentConfig.phpVersion = process.env.WP_ENV_PHP_VERSION; } + if ( process.env.WP_ENV_MULTISITE ) { + environmentConfig.multisite = !! process.env.WP_ENV_MULTISITE; + } + return environmentConfig; }; From 35e99d41b6182c44f2e074bf29ad8e5b80d25ac5 Mon Sep 17 00:00:00 2001 From: Mitchell Austin Date: Wed, 22 Jan 2025 06:46:07 -0800 Subject: [PATCH 009/153] Clean up unused utils of spacing sizes control (#68794) * Remove `getAllRawValue` and unit tests * Remove `isValuesMixed` and unit tests * Remove `isValuesDefined` and unit tests * Remove `getSupportedMenuItems` and unit tests Co-authored-by: stokesman Co-authored-by: tyxla Co-authored-by: Mamaduka --- .../spacing-sizes-control/test/utils.js | 151 ------------------ .../components/spacing-sizes-control/utils.js | 106 ------------ 2 files changed, 257 deletions(-) diff --git a/packages/block-editor/src/components/spacing-sizes-control/test/utils.js b/packages/block-editor/src/components/spacing-sizes-control/test/utils.js index a8440bb5be8caf..3692a1ea4c4453 100644 --- a/packages/block-editor/src/components/spacing-sizes-control/test/utils.js +++ b/packages/block-editor/src/components/spacing-sizes-control/test/utils.js @@ -3,20 +3,15 @@ */ import { ALL_SIDES, - getAllRawValue, getCustomValueFromPreset, getInitialView, getPresetValueFromCustomValue, getSliderValueFromPreset, getSpacingPresetCssVar, getSpacingPresetSlug, - getSupportedMenuItems, hasAxisSupport, hasBalancedSidesSupport, - isValuesDefined, - isValuesMixed, isValueSpacingPreset, - LABELS, VIEWS, } from '../utils'; @@ -114,88 +109,6 @@ describe( 'getSliderValueFromPreset', () => { } ); } ); -describe( 'getAllRawValue', () => { - const customValues = { - top: '5px', - bottom: '5px', - left: '6px', - right: '2px', - }; - it( 'should return the most common custom value from the values object', () => { - expect( getAllRawValue( customValues ) ).toBe( '5px' ); - } ); - const presetValues = { - top: 'var:preset|spacing|30', - bottom: 'var:preset|spacing|20', - left: 'var:preset|spacing|10', - right: 'var:preset|spacing|30', - }; - it( 'should return the most common preset value from the values object', () => { - expect( getAllRawValue( presetValues ) ).toBe( - 'var:preset|spacing|30' - ); - } ); -} ); - -describe( 'isValuesMixed', () => { - const unmixedValues = { - top: '5px', - bottom: '5px', - left: '5px', - right: '5px', - }; - it( 'should return false if all values are the same', () => { - expect( isValuesMixed( unmixedValues ) ).toBe( false ); - } ); - const mixedValues = { - top: 'var:preset|spacing|30', - bottom: 'var:preset|spacing|20', - left: 'var:preset|spacing|10', - right: 'var:preset|spacing|30', - }; - it( 'should return true if all the values are not the same', () => { - expect( isValuesMixed( mixedValues ) ).toBe( true ); - } ); - const singleValue = { - top: 'var:preset|spacing|30', - }; - it( 'should return true if only one side set', () => { - expect( isValuesMixed( singleValue ) ).toBe( true ); - } ); - const incompleteValues = { - top: 'var:preset|spacing|30', - bottom: 'var:preset|spacing|30', - left: 'var:preset|spacing|30', - }; - it( 'should return true if all sides not set', () => { - expect( isValuesMixed( incompleteValues ) ).toBe( true ); - } ); -} ); - -describe( 'isValuesDefined', () => { - const undefinedValues = { - top: undefined, - bottom: undefined, - left: undefined, - right: undefined, - }; - it( 'should return false if values are not defined', () => { - expect( isValuesDefined( undefinedValues ) ).toBe( false ); - } ); - it( 'should return false if values is passed in as null', () => { - expect( isValuesDefined( null ) ).toBe( false ); - } ); - const definedValues = { - top: 'var:preset|spacing|30', - bottom: 'var:preset|spacing|20', - left: 'var:preset|spacing|10', - right: 'var:preset|spacing|30', - }; - it( 'should return true if all the values are not the same', () => { - expect( isValuesDefined( definedValues ) ).toBe( true ); - } ); -} ); - describe( 'hasAxisSupport', () => { it( 'should return true for horizontal support if it is in sides', () => { expect( hasAxisSupport( [ 'horizontal' ], 'horizontal' ) ).toBe( true ); @@ -228,70 +141,6 @@ describe( 'hasAxisSupport', () => { } ); } ); -describe( 'getSupportedMenuItems', () => { - it( 'returns no items when sides are not configured', () => { - expect( getSupportedMenuItems( [] ) ).toEqual( {} ); - expect( getSupportedMenuItems() ).toEqual( {} ); - } ); - - const sideConfigs = [ - [ LABELS.axial, [ 'horizontal', 'vertical' ] ], - [ LABELS.axial, [ 'top', 'right', 'bottom', 'left' ] ], - [ LABELS.horizontal, [ 'horizontal' ] ], - [ LABELS.horizontal, [ 'left', 'right' ] ], - [ LABELS.vertical, [ 'vertical' ] ], - [ LABELS.vertical, [ 'top', 'bottom' ] ], - [ LABELS.horizontal, [ 'horizontal' ] ], - ]; - - test.each( sideConfigs )( - 'should include %s axial menu with %s sides', - ( label, sides ) => { - expect( getSupportedMenuItems( sides ) ).toHaveProperty( - 'axial.label', - label - ); - } - ); - - it( 'returns no axial item when not not supported', () => { - expect( getSupportedMenuItems( [ 'left', 'top' ] ) ).not.toHaveProperty( - 'axial' - ); - } ); - - it( 'should include the correct individual side options', () => { - expect( getSupportedMenuItems( [ 'top' ] ) ).toHaveProperty( - 'top.label', - LABELS.top - ); - expect( getSupportedMenuItems( [ 'right' ] ) ).toHaveProperty( - 'right.label', - LABELS.right - ); - expect( getSupportedMenuItems( [ 'bottom' ] ) ).toHaveProperty( - 'bottom.label', - LABELS.bottom - ); - expect( getSupportedMenuItems( [ 'left' ] ) ).toHaveProperty( - 'left.label', - LABELS.left - ); - } ); - it( 'should include the custom option only when applicable', () => { - expect( getSupportedMenuItems( [ 'top', 'left' ] ) ).toHaveProperty( - 'custom.label', - LABELS.custom - ); - expect( getSupportedMenuItems( [ 'top' ] ) ).not.toHaveProperty( - 'custom' - ); - expect( - getSupportedMenuItems( [ 'horizontal', 'vertical' ] ) - ).not.toHaveProperty( 'custom.label' ); - } ); -} ); - describe( 'hasBalancedSidesSupport', () => { it( 'should determine balanced sides', () => { expect( hasBalancedSidesSupport( ALL_SIDES ) ).toBe( true ); diff --git a/packages/block-editor/src/components/spacing-sizes-control/utils.js b/packages/block-editor/src/components/spacing-sizes-control/utils.js index 046bee98761bf2..9c803c0bef1ab1 100644 --- a/packages/block-editor/src/components/spacing-sizes-control/utils.js +++ b/packages/block-editor/src/components/spacing-sizes-control/utils.js @@ -184,64 +184,6 @@ export function getSliderValueFromPreset( presetValue, spacingSizes ) { return sliderValue !== -1 ? sliderValue : NaN; } -/** - * Gets an items with the most occurrence within an array - * https://stackoverflow.com/a/20762713 - * - * @param {Array} arr Array of items to check. - * @return {any} The item with the most occurrences. - */ -function mode( arr ) { - return arr - .sort( - ( a, b ) => - arr.filter( ( v ) => v === a ).length - - arr.filter( ( v ) => v === b ).length - ) - .pop(); -} - -/** - * Gets the 'all' input value from values data. - * - * @param {Object} values Box spacing values - * - * @return {string} The most common value from all sides of box. - */ -export function getAllRawValue( values = {} ) { - return mode( Object.values( values ) ); -} - -/** - * Checks to determine if values are mixed. - * - * @param {Object} values Box values. - * @param {Array} sides Sides that values relate to. - * - * @return {boolean} Whether values are mixed. - */ -export function isValuesMixed( values = {}, sides = ALL_SIDES ) { - return ( - ( Object.values( values ).length >= 1 && - Object.values( values ).length < sides.length ) || - new Set( Object.values( values ) ).size > 1 - ); -} - -/** - * Checks to determine if values are defined. - * - * @param {Object} values Box values. - * - * @return {boolean} Whether values are defined. - */ -export function isValuesDefined( values ) { - if ( values === undefined || values === null ) { - return false; - } - return Object.values( values ).filter( ( value ) => !! value ).length > 0; -} - /** * Determines whether a particular axis has support. If no axis is * specified, this function checks if either axis is supported. @@ -275,54 +217,6 @@ export function hasAxisSupport( sides, axis ) { return hasHorizontalSupport || hasVerticalSupport; } -/** - * Determines which menu options should be included in the SidePicker. - * - * @param {Array} sides Supported sides. - * - * @return {Object} Menu options with each option containing label & icon. - */ -export function getSupportedMenuItems( sides ) { - if ( ! sides || ! sides.length ) { - return {}; - } - - const menuItems = {}; - - // Determine the primary "side" menu options. - const hasHorizontalSupport = hasAxisSupport( sides, 'horizontal' ); - const hasVerticalSupport = hasAxisSupport( sides, 'vertical' ); - - if ( hasHorizontalSupport && hasVerticalSupport ) { - menuItems.axial = { label: LABELS.axial, icon: ICONS.axial }; - } else if ( hasHorizontalSupport ) { - menuItems.axial = { label: LABELS.horizontal, icon: ICONS.horizontal }; - } else if ( hasVerticalSupport ) { - menuItems.axial = { label: LABELS.vertical, icon: ICONS.vertical }; - } - - // Track whether we have any individual sides so we can omit the custom - // option if required. - let numberOfIndividualSides = 0; - - ALL_SIDES.forEach( ( side ) => { - if ( sides.includes( side ) ) { - numberOfIndividualSides += 1; - menuItems[ side ] = { - label: LABELS[ side ], - icon: ICONS[ side ], - }; - } - } ); - - // Add custom item if there are enough sides to warrant a separated view. - if ( numberOfIndividualSides > 1 ) { - menuItems.custom = { label: LABELS.custom, icon: ICONS.custom }; - } - - return menuItems; -} - /** * Checks if the supported sides are balanced for each axis. * - Horizontal - both left and right sides are supported. From abe10cfa869cbec58f82a6421f5ad27e3988dbe1 Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Wed, 22 Jan 2025 16:04:43 +0000 Subject: [PATCH 010/153] Bump plugin version to 20.1.0 --- gutenberg.php | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gutenberg.php b/gutenberg.php index e3f4c81ef808f3..12a7c54cb1e4b6 100644 --- a/gutenberg.php +++ b/gutenberg.php @@ -5,7 +5,7 @@ * Description: Printing since 1440. This is the development plugin for the block editor, site editor, and other future WordPress core functionality. * Requires at least: 6.6 * Requires PHP: 7.2 - * Version: 20.1.0-rc.1 + * Version: 20.1.0 * Author: Gutenberg Team * Text Domain: gutenberg * diff --git a/package-lock.json b/package-lock.json index 56fc08877bfa0e..ea578eb67ca0d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gutenberg", - "version": "20.1.0-rc.1", + "version": "20.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gutenberg", - "version": "20.1.0-rc.1", + "version": "20.1.0", "hasInstallScript": true, "license": "GPL-2.0-or-later", "workspaces": [ diff --git a/package.json b/package.json index 1dbf7d44df4055..7816ecb7215721 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gutenberg", - "version": "20.1.0-rc.1", + "version": "20.1.0", "private": true, "description": "A new WordPress editor experience.", "author": "The WordPress Contributors", From d7593aee403b90d63cbb383aef608076cd6fab69 Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Wed, 22 Jan 2025 16:19:12 +0000 Subject: [PATCH 011/153] Update Changelog for 20.1.0 --- changelog.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/changelog.txt b/changelog.txt index fa1e1cdcb6a0c7..97dcf757a1ef8e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,7 +1,6 @@ == Changelog == -= 20.1.0-rc.1 = - += 20.1.0 = ## Changelog @@ -205,6 +204,8 @@ The following contributors merged PRs in this release: @afercia @AhmarZaidi @atachibana @benazeer-ben @carolinan @ciampo @dhananjaykuber @ellatrix @geriux @himanipanchal @himanshupathak95 @im3dabasia @Infinite-Null @jeryj @jorgefilipecosta @juanfra @justlevine @karthick-murugan @luisherranz @Mamaduka @manzoorwanijk @mirka @ramonjd @SainathPoojary @shail-mehta @shimotmk @sirreal @stokesman @Sukhendu2002 @szepeviktor @t-hamano @vipul0425 @Vrishabhsk @yogeshbhutkar + + = 20.0.0 = ## Changelog From b771bddb91ad74a7a03ee21b1ef311117efd815c Mon Sep 17 00:00:00 2001 From: Eshaan Dabasiya <76681468+im3dabasia@users.noreply.github.com> Date: Wed, 22 Jan 2025 22:13:11 +0530 Subject: [PATCH 012/153] Box Control: Add Runtime Check & Conditional Types for `presets` and `presetKey` Props (#68385) * feat: Improve developer experience for presets * fix: change Warning error message * fix: Enforce runtime check for presets, and presetKey * doc: Add log for runtime check * doc: Add in unreleased section --- Co-authored-by: im3dabasia Co-authored-by: ciampo --- packages/components/CHANGELOG.md | 4 ++ packages/components/src/box-control/index.tsx | 9 +++++ .../components/src/box-control/test/index.tsx | 11 +++++- packages/components/src/box-control/types.ts | 37 +++++++++++++------ 4 files changed, 48 insertions(+), 13 deletions(-) diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index db1778ee625b18..6adec34a18b786 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Internal + +- `BoxControl`: Add runtime check for presets and presetKey ([#68385](https://github.com/WordPress/gutenberg/pull/68385)). + ## 29.2.0 (2025-01-15) ### Internal diff --git a/packages/components/src/box-control/index.tsx b/packages/components/src/box-control/index.tsx index d4d4b03f893036..c5bf28a13de3ad 100644 --- a/packages/components/src/box-control/index.tsx +++ b/packages/components/src/box-control/index.tsx @@ -4,6 +4,7 @@ import { useInstanceId } from '@wordpress/compose'; import { useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; +import warning from '@wordpress/warning'; /** * Internal dependencies @@ -166,6 +167,14 @@ function BoxControl( { } ); const sidesToRender = getAllowedSides( sides ); + if ( ( presets && ! presetKey ) || ( ! presets && presetKey ) ) { + const definedProp = presets ? 'presets' : 'presetKey'; + const missingProp = presets ? 'presetKey' : 'presets'; + warning( + `wp.components.BoxControl: the '${ missingProp }' prop is required when the '${ definedProp }' prop is defined.` + ); + } + return ( = T extends any + ? Omit< T, K > + : never; + const ControlledBoxControl = ( - extraProps: Omit< BoxControlProps, 'onChange' > + extraProps: DistributiveOmit< BoxControlProps, 'onChange' > ) => { const [ state, setState ] = useState< BoxControlValue >(); @@ -33,7 +40,7 @@ const ControlledBoxControl = ( const UncontrolledBoxControl = ( { onChange = () => {}, ...props -}: Omit< BoxControlProps, 'onChange' > & { +}: DistributiveOmit< BoxControlProps, 'onChange' > & { onChange?: BoxControlProps[ 'onChange' ]; } ) => ; diff --git a/packages/components/src/box-control/types.ts b/packages/components/src/box-control/types.ts index 43629e09258a58..8c763f6ccb4d7c 100644 --- a/packages/components/src/box-control/types.ts +++ b/packages/components/src/box-control/types.ts @@ -100,17 +100,32 @@ export type BoxControlProps = Pick< UnitControlProps, 'units' > & * @default false */ __next40pxDefaultSize?: boolean; - /** - * Available presets to pick from. - */ - presets?: Preset[]; - /** - * The key of the preset to apply. - * If you provide a list of presets, you must provide a preset key to use. - * The format of preset selected values is going to be `var:preset|${ presetKey }|${ presetSlug }` - */ - presetKey?: string; - }; + } & ( + | { + /** + * Available presets to pick from. + */ + presets?: never; + /** + * The key of the preset to apply. + * If you provide a list of presets, you must provide a preset key to use. + * The format of preset selected values is going to be `var:preset|${ presetKey }|${ presetSlug }` + */ + presetKey?: never; + } + | { + /** + * Available presets to pick from. + */ + presets: Preset[]; + /** + * The key of the preset to apply. + * If you provide a list of presets, you must provide a preset key to use. + * The format of preset selected values is going to be `var:preset|${ presetKey }|${ presetSlug }` + */ + presetKey: string; + } + ); export type BoxControlInputControlProps = UnitControlPassthroughProps & { onChange?: ( nextValues: BoxControlValue ) => void; From 0d35e9f7009cb3e5dc4ff573d7a444e9ec3871f8 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Thu, 23 Jan 2025 09:02:42 +0400 Subject: [PATCH 013/153] Release Workflow: Install Subversion (#68837) Co-authored-by: Mamaduka Co-authored-by: joemcgill Co-authored-by: desrosj --- .github/workflows/upload-release-to-plugin-repo.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/upload-release-to-plugin-repo.yml b/.github/workflows/upload-release-to-plugin-repo.yml index 4d2b0a66a7e7d6..8f823a543b826e 100644 --- a/.github/workflows/upload-release-to-plugin-repo.yml +++ b/.github/workflows/upload-release-to-plugin-repo.yml @@ -167,6 +167,10 @@ jobs: VERSION: ${{ github.event.release.name }} steps: + - name: Install Subversion + run: | + apt-get update -y && apt-get install -y subversion + - name: Check out Gutenberg trunk from WP.org plugin repo run: | svn checkout "$PLUGIN_REPO_URL/trunk" --username "$SVN_USERNAME" --password "$SVN_PASSWORD" @@ -222,6 +226,10 @@ jobs: VERSION: ${{ github.event.release.name }} steps: + - name: Install Subversion + run: | + apt-get update -y && apt-get install -y subversion + - name: Download and unzip Gutenberg plugin asset into tags folder env: PLUGIN_URL: ${{ github.event.release.assets[0].browser_download_url }} From c0939718aec399f05bcfb1b9156debd008db46bb Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Thu, 23 Jan 2025 18:00:50 +0400 Subject: [PATCH 014/153] Block Editor: Fix block color contrast checker (#68799) * Block Editor: Fix block color contrast checker * Use reducer hook * Add comment Co-authored-by: Mamaduka Co-authored-by: juanfra Co-authored-by: jsnajdr Co-authored-by: afercia --- .../src/hooks/contrast-checker.js | 94 +++++++++++++------ 1 file changed, 64 insertions(+), 30 deletions(-) diff --git a/packages/block-editor/src/hooks/contrast-checker.js b/packages/block-editor/src/hooks/contrast-checker.js index 368e2e75264858..7cb231110401d4 100644 --- a/packages/block-editor/src/hooks/contrast-checker.js +++ b/packages/block-editor/src/hooks/contrast-checker.js @@ -1,7 +1,7 @@ /** * WordPress dependencies */ -import { useState, useEffect } from '@wordpress/element'; +import { useLayoutEffect, useReducer } from '@wordpress/element'; /** * Internal dependencies @@ -9,52 +9,86 @@ import { useState, useEffect } from '@wordpress/element'; import ContrastChecker from '../components/contrast-checker'; import { useBlockElement } from '../components/block-list/use-block-props/use-block-refs'; -function getComputedStyle( node ) { - return node.ownerDocument.defaultView.getComputedStyle( node ); +function getComputedValue( node, property ) { + return node.ownerDocument.defaultView + .getComputedStyle( node ) + .getPropertyValue( property ); +} + +function getBlockElementColors( blockEl ) { + if ( ! blockEl ) { + return {}; + } + + const firstLinkElement = blockEl.querySelector( 'a' ); + const linkColor = !! firstLinkElement?.innerText + ? getComputedValue( firstLinkElement, 'color' ) + : undefined; + + const textColor = getComputedValue( blockEl, 'color' ); + + let backgroundColorNode = blockEl; + let backgroundColor = getComputedValue( + backgroundColorNode, + 'background-color' + ); + while ( + backgroundColor === 'rgba(0, 0, 0, 0)' && + backgroundColorNode.parentNode && + backgroundColorNode.parentNode.nodeType === + backgroundColorNode.parentNode.ELEMENT_NODE + ) { + backgroundColorNode = backgroundColorNode.parentNode; + backgroundColor = getComputedValue( + backgroundColorNode, + 'background-color' + ); + } + + return { + textColor, + backgroundColor, + linkColor, + }; +} + +function reducer( prevColors, newColors ) { + const hasChanged = Object.keys( newColors ).some( + ( key ) => prevColors[ key ] !== newColors[ key ] + ); + + // Do not re-render if the colors have not changed. + return hasChanged ? newColors : prevColors; } export default function BlockColorContrastChecker( { clientId } ) { - const [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState(); - const [ detectedColor, setDetectedColor ] = useState(); - const [ detectedLinkColor, setDetectedLinkColor ] = useState(); const blockEl = useBlockElement( clientId ); + const [ colors, setColors ] = useReducer( reducer, {} ); // There are so many things that can change the color of a block // So we perform this check on every render. - useEffect( () => { + useLayoutEffect( () => { if ( ! blockEl ) { return; } - setDetectedColor( getComputedStyle( blockEl ).color ); - - const firstLinkElement = blockEl.querySelector( 'a' ); - if ( firstLinkElement && !! firstLinkElement.innerText ) { - setDetectedLinkColor( getComputedStyle( firstLinkElement ).color ); - } - let backgroundColorNode = blockEl; - let backgroundColor = - getComputedStyle( backgroundColorNode ).backgroundColor; - while ( - backgroundColor === 'rgba(0, 0, 0, 0)' && - backgroundColorNode.parentNode && - backgroundColorNode.parentNode.nodeType === - backgroundColorNode.parentNode.ELEMENT_NODE - ) { - backgroundColorNode = backgroundColorNode.parentNode; - backgroundColor = - getComputedStyle( backgroundColorNode ).backgroundColor; + function updateColors() { + setColors( getBlockElementColors( blockEl ) ); } - setDetectedBackgroundColor( backgroundColor ); - }, [ blockEl ] ); + // Combine `useLayoutEffect` and two rAF calls to ensure that values are read + // after the current paint but before the next paint. + window.requestAnimationFrame( () => + window.requestAnimationFrame( updateColors ) + ); + } ); return ( ); } From 3c1bbccd16f51459d1b734c3a6923abc6411bb18 Mon Sep 17 00:00:00 2001 From: Karthick M <97787966+karthick-murugan@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:39:52 +0530 Subject: [PATCH 015/153] Update text description of the "Contain text cursor inside block" preference (#68132) * Image size fix in lightbox * Revert "Image size fix in lightbox" This reverts commit 63f81c1e9cbb3b0513abca2b8cb579fef374ed7b. * Update text description * Description update * Update index.js Minor text revision --------- Co-authored-by: karthick-murugan Co-authored-by: joedolson --- packages/editor/src/components/preferences-modal/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/editor/src/components/preferences-modal/index.js b/packages/editor/src/components/preferences-modal/index.js index fba60405e7e4b5..fcca1b00e9bb2d 100644 --- a/packages/editor/src/components/preferences-modal/index.js +++ b/packages/editor/src/components/preferences-modal/index.js @@ -250,7 +250,7 @@ function PreferencesModalContents( { extraSections = {} } ) { scope="core" featureName="keepCaretInsideBlock" help={ __( - 'Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.' + 'Keeps the text cursor within blocks while navigating with arrow keys, preventing it from moving to other blocks and enhancing accessibility for keyboard users.' ) } label={ __( 'Contain text cursor inside block' From 654bace6e3c7269dfdf99d78b0e08ea8e63376f8 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Fri, 24 Jan 2025 02:06:19 +0400 Subject: [PATCH 016/153] Inline Commenting: Change the PHP compat directory (#68846) Relocates the backport log file for block comments to the experimental feature directory. The feature is currently experimental and will not be included in WordPress 6.8. Co-authored-by: Mamaduka Co-authored-by: shail-mehta --- backport-changelog/6.8/7488.md | 3 --- backport-changelog/6.8/7498.md | 3 --- .../block-comments.php | 8 +++---- ...ass-gutenberg-rest-comment-controller.php} | 22 +++++++++---------- lib/load.php | 8 +++++-- 5 files changed, 21 insertions(+), 23 deletions(-) delete mode 100644 backport-changelog/6.8/7488.md delete mode 100644 backport-changelog/6.8/7498.md rename lib/{compat/wordpress-6.8 => experimental}/block-comments.php (85%) rename lib/{compat/wordpress-6.8/class-gutenberg-rest-comment-controller-6-8.php => experimental/class-gutenberg-rest-comment-controller.php} (87%) diff --git a/backport-changelog/6.8/7488.md b/backport-changelog/6.8/7488.md deleted file mode 100644 index a588bef0e01796..00000000000000 --- a/backport-changelog/6.8/7488.md +++ /dev/null @@ -1,3 +0,0 @@ -https://github.com/WordPress/wordpress-develop/pull/7488 - -* https://github.com/WordPress/gutenberg/pull/60622 \ No newline at end of file diff --git a/backport-changelog/6.8/7498.md b/backport-changelog/6.8/7498.md deleted file mode 100644 index 6c903246166b64..00000000000000 --- a/backport-changelog/6.8/7498.md +++ /dev/null @@ -1,3 +0,0 @@ -https://github.com/WordPress/wordpress-develop/pull/7498 - -* https://github.com/WordPress/gutenberg/pull/60622 \ No newline at end of file diff --git a/lib/compat/wordpress-6.8/block-comments.php b/lib/experimental/block-comments.php similarity index 85% rename from lib/compat/wordpress-6.8/block-comments.php rename to lib/experimental/block-comments.php index ff9f03b69aa1c3..3381882589ef6d 100644 --- a/lib/compat/wordpress-6.8/block-comments.php +++ b/lib/experimental/block-comments.php @@ -1,6 +1,6 @@ query_vars['type'] ) && '' === $query->query_vars['type'] ) { diff --git a/lib/compat/wordpress-6.8/class-gutenberg-rest-comment-controller-6-8.php b/lib/experimental/class-gutenberg-rest-comment-controller.php similarity index 87% rename from lib/compat/wordpress-6.8/class-gutenberg-rest-comment-controller-6-8.php rename to lib/experimental/class-gutenberg-rest-comment-controller.php index 60b45b1a63adef..8409c595032961 100644 --- a/lib/compat/wordpress-6.8/class-gutenberg-rest-comment-controller-6-8.php +++ b/lib/experimental/class-gutenberg-rest-comment-controller.php @@ -7,7 +7,7 @@ */ // Create a new class that extends WP_REST_Comments_Controller -class Gutenberg_REST_Comment_Controller_6_8 extends WP_REST_Comments_Controller { +class Gutenberg_REST_Comment_Controller extends WP_REST_Comments_Controller { public function create_item_permissions_check( $request ) { if ( empty( $request['comment_type'] ) || 'comment' === $request['comment_type'] ) { @@ -18,7 +18,7 @@ public function create_item_permissions_check( $request ) { if ( get_option( 'comment_registration' ) ) { return new WP_Error( 'rest_comment_login_required', - __( 'Sorry, you must be logged in to comment.' ), + __( 'Sorry, you must be logged in to comment.', 'gutenberg' ), array( 'status' => 401 ) ); } @@ -40,7 +40,7 @@ public function create_item_permissions_check( $request ) { if ( ! $allow_anonymous ) { return new WP_Error( 'rest_comment_login_required', - __( 'Sorry, you must be logged in to comment.' ), + __( 'Sorry, you must be logged in to comment.', 'gutenberg' ), array( 'status' => 401 ) ); } @@ -51,7 +51,7 @@ public function create_item_permissions_check( $request ) { return new WP_Error( 'rest_comment_invalid_author', /* translators: %s: Request parameter. */ - sprintf( __( "Sorry, you are not allowed to edit '%s' for comments." ), 'author' ), + sprintf( __( "Sorry, you are not allowed to edit '%s' for comments.", 'gutenberg' ), 'author' ), array( 'status' => rest_authorization_required_code() ) ); } @@ -61,7 +61,7 @@ public function create_item_permissions_check( $request ) { return new WP_Error( 'rest_comment_invalid_author_ip', /* translators: %s: Request parameter. */ - sprintf( __( "Sorry, you are not allowed to edit '%s' for comments." ), 'author_ip' ), + sprintf( __( "Sorry, you are not allowed to edit '%s' for comments.", 'gutenberg' ), 'author_ip' ), array( 'status' => rest_authorization_required_code() ) ); } @@ -71,7 +71,7 @@ public function create_item_permissions_check( $request ) { return new WP_Error( 'rest_comment_invalid_status', /* translators: %s: Request parameter. */ - sprintf( __( "Sorry, you are not allowed to edit '%s' for comments." ), 'status' ), + sprintf( __( "Sorry, you are not allowed to edit '%s' for comments.", 'gutenberg' ), 'status' ), array( 'status' => rest_authorization_required_code() ) ); } @@ -79,7 +79,7 @@ public function create_item_permissions_check( $request ) { if ( empty( $request['post'] ) ) { return new WP_Error( 'rest_comment_invalid_post_id', - __( 'Sorry, you are not allowed to create this comment without a post.' ), + __( 'Sorry, you are not allowed to create this comment without a post.', 'gutenberg' ), array( 'status' => 403 ) ); } @@ -89,7 +89,7 @@ public function create_item_permissions_check( $request ) { if ( ! $post ) { return new WP_Error( 'rest_comment_invalid_post_id', - __( 'Sorry, you are not allowed to create this comment without a post.' ), + __( 'Sorry, you are not allowed to create this comment without a post.', 'gutenberg' ), array( 'status' => 403 ) ); } @@ -97,7 +97,7 @@ public function create_item_permissions_check( $request ) { if ( 'trash' === $post->post_status ) { return new WP_Error( 'rest_comment_trash_post', - __( 'Sorry, you are not allowed to create a comment on this post.' ), + __( 'Sorry, you are not allowed to create a comment on this post.', 'gutenberg' ), array( 'status' => 403 ) ); } @@ -105,7 +105,7 @@ public function create_item_permissions_check( $request ) { if ( ! $this->check_read_post_permission( $post, $request ) ) { return new WP_Error( 'rest_cannot_read_post', - __( 'Sorry, you are not allowed to read the post for this comment.' ), + __( 'Sorry, you are not allowed to read the post for this comment.', 'gutenberg' ), array( 'status' => rest_authorization_required_code() ) ); } @@ -117,7 +117,7 @@ public function create_item_permissions_check( $request ) { add_action( 'rest_api_init', function () { - $controller = new Gutenberg_REST_Comment_Controller_6_8(); + $controller = new Gutenberg_REST_Comment_Controller(); $controller->register_routes(); } ); diff --git a/lib/load.php b/lib/load.php index 69ba59e3718842..789c9f9980e9a3 100644 --- a/lib/load.php +++ b/lib/load.php @@ -42,8 +42,6 @@ function gutenberg_is_experiment_enabled( $name ) { require __DIR__ . '/compat/wordpress-6.7/rest-api.php'; // WordPress 6.8 compat. - require __DIR__ . '/compat/wordpress-6.8/block-comments.php'; - require __DIR__ . '/compat/wordpress-6.8/class-gutenberg-rest-comment-controller-6-8.php'; require __DIR__ . '/compat/wordpress-6.8/class-gutenberg-hierarchical-sort.php'; require __DIR__ . '/compat/wordpress-6.8/rest-api.php'; @@ -54,6 +52,12 @@ function gutenberg_is_experiment_enabled( $name ) { require_once __DIR__ . '/experimental/rest-api.php'; require_once __DIR__ . '/experimental/kses-allowed-html.php'; + + // Block Comments. + if ( gutenberg_is_experiment_enabled( 'gutenberg-block-comment' ) ) { + require __DIR__ . '/experimental/block-comments.php'; + require __DIR__ . '/experimental/class-gutenberg-rest-comment-controller.php'; + } } // Experimental signaling server. From a97b3dfa0780b2986d5bce01fc65913de89aa4fc Mon Sep 17 00:00:00 2001 From: Himanshu Pathak Date: Fri, 24 Jan 2025 09:57:19 +0530 Subject: [PATCH 017/153] Editor: Standardize reduced motion handling using media queries (#68424) * Editor: Standardize reduced motion handling using media queries * Remove redundant mixin * Editor: Fix Post Publish Panel animation sliding in reduced motion mode Co-authored-by: himanshupathak95 Co-authored-by: t-hamano --- packages/editor/src/components/document-bar/style.scss | 6 ++++-- packages/editor/src/components/document-tools/style.scss | 5 +++-- .../editor/src/components/post-featured-image/style.scss | 6 ++++-- .../editor/src/components/post-publish-panel/style.scss | 8 +++++--- .../editor/src/components/post-text-editor/style.scss | 6 ++++-- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/packages/editor/src/components/document-bar/style.scss b/packages/editor/src/components/document-bar/style.scss index 749da6ec8c9837..4b84d8b44d39f3 100644 --- a/packages/editor/src/components/document-bar/style.scss +++ b/packages/editor/src/components/document-bar/style.scss @@ -18,8 +18,10 @@ .components-button { border-radius: $grid-unit-05; - transition: all 0.1s ease-out; - @include reduce-motion("transition"); + + @media not (prefers-reduced-motion) { + transition: all 0.1s ease-out; + } &:hover { background: $gray-200; diff --git a/packages/editor/src/components/document-tools/style.scss b/packages/editor/src/components/document-tools/style.scss index dfafff2126d66d..7f70d02a6eaca0 100644 --- a/packages/editor/src/components/document-tools/style.scss +++ b/packages/editor/src/components/document-tools/style.scss @@ -16,8 +16,9 @@ display: inline-flex; svg { - transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s; - @include reduce-motion("transition"); + @media not (prefers-reduced-motion) { + transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s; + } } &.is-pressed { diff --git a/packages/editor/src/components/post-featured-image/style.scss b/packages/editor/src/components/post-featured-image/style.scss index bf9433faa662d4..cca45c61adaf8c 100644 --- a/packages/editor/src/components/post-featured-image/style.scss +++ b/packages/editor/src/components/post-featured-image/style.scss @@ -78,12 +78,14 @@ .editor-post-featured-image__actions { &:not(.editor-post-featured-image__actions-missing-image) { - @include reduce-motion("transition"); bottom: 0; opacity: 0; // Use opacity instead of visibility so that the buttons remain in the tab order. padding: $grid-unit-10; position: absolute; - transition: opacity 50ms ease-out; + + @media not (prefers-reduced-motion) { + transition: opacity 50ms ease-out; + } .editor-post-featured-image__action { backdrop-filter: blur(16px) saturate(180%); diff --git a/packages/editor/src/components/post-publish-panel/style.scss b/packages/editor/src/components/post-publish-panel/style.scss index 7b075717651781..6221eaef52767b 100644 --- a/packages/editor/src/components/post-publish-panel/style.scss +++ b/packages/editor/src/components/post-publish-panel/style.scss @@ -210,9 +210,11 @@ left: auto; width: $sidebar-width + $border-width; border-left: $border-width solid $gray-300; - transform: translateX(+100%); - animation: editor-post-publish-panel__slide-in-animation 0.1s forwards; - @include reduce-motion("animation"); + + @media not (prefers-reduced-motion) { + transform: translateX(+100%); + animation: editor-post-publish-panel__slide-in-animation 0.1s forwards; + } body.is-fullscreen-mode & { top: 0; diff --git a/packages/editor/src/components/post-text-editor/style.scss b/packages/editor/src/components/post-text-editor/style.scss index f3b9b65007df75..5391588d906d8d 100644 --- a/packages/editor/src/components/post-text-editor/style.scss +++ b/packages/editor/src/components/post-text-editor/style.scss @@ -10,8 +10,10 @@ textarea.editor-post-text-editor { font-family: $editor-html-font; line-height: 2.4; min-height: 200px; - transition: border 0.1s ease-out, box-shadow 0.1s linear; - @include reduce-motion("transition"); + + @media not (prefers-reduced-motion) { + transition: border 0.1s ease-out, box-shadow 0.1s linear; + } // Same padding as title. padding: $grid-unit-20; From f14a977248dfabbb15460ffab7b03d64e528a682 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Shah Date: Fri, 24 Jan 2025 10:29:45 +0530 Subject: [PATCH 018/153] Comments Pagination: Add example Co-authored-by: Infinite-Null Co-authored-by: carolinan --- packages/block-library/src/comments-pagination/block.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/block-library/src/comments-pagination/block.json b/packages/block-library/src/comments-pagination/block.json index 28f6c9fdfdb5d9..b29d95bc4f1c9a 100644 --- a/packages/block-library/src/comments-pagination/block.json +++ b/packages/block-library/src/comments-pagination/block.json @@ -18,6 +18,11 @@ "default": "none" } }, + "example": { + "attributes": { + "paginationArrow": "none" + } + }, "providesContext": { "comments/paginationArrow": "paginationArrow" }, From a411f333ae717961749714064b35c373f2f0b6c1 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Fri, 24 Jan 2025 10:29:16 +0400 Subject: [PATCH 019/153] Style Book: Disable the device preview button in the header (#68841) Co-authored-by: Mamaduka Co-authored-by: t-hamano Co-authored-by: shimotmk --- packages/editor/src/components/header/index.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/editor/src/components/header/index.js b/packages/editor/src/components/header/index.js index b32fda6d031b14..3a3e231259a57b 100644 --- a/packages/editor/src/components/header/index.js +++ b/packages/editor/src/components/header/index.js @@ -95,11 +95,12 @@ function Header( { [ 'post', 'page', 'wp_template' ].includes( postType ) && hasSectionRootClientId; - const disablePreviewOption = [ - NAVIGATION_POST_TYPE, - TEMPLATE_PART_POST_TYPE, - PATTERN_POST_TYPE, - ].includes( postType ); + const disablePreviewOption = + [ + NAVIGATION_POST_TYPE, + TEMPLATE_PART_POST_TYPE, + PATTERN_POST_TYPE, + ].includes( postType ) || forceDisableBlockTools; const [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] = useState( true ); From 2eaed205440306986a34ec7ec98bd8d6dc524a5d Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:43:10 +0900 Subject: [PATCH 020/153] e2e:fix WP Editor Meta Boxes test (#68872) Co-authored-by: t-hamano --- test/e2e/specs/editor/plugins/wp-editor-meta-box.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/specs/editor/plugins/wp-editor-meta-box.spec.js b/test/e2e/specs/editor/plugins/wp-editor-meta-box.spec.js index c5eafdafe918db..86c08fe1cd43e3 100644 --- a/test/e2e/specs/editor/plugins/wp-editor-meta-box.spec.js +++ b/test/e2e/specs/editor/plugins/wp-editor-meta-box.spec.js @@ -27,7 +27,7 @@ test.describe( 'WP Editor Meta Boxes', () => { // Switch tinymce to Text mode, first waiting for it to initialize // because otherwise it will flip back to Visual mode once initialized. await page.locator( '#test_tinymce_id_ifr' ).waitFor(); - await page.locator( 'role=button[name="Text"i]' ).click(); + await page.locator( 'role=button[name="Code"i]' ).click(); // Type something in the tinymce Text mode textarea. const metaBoxField = page.locator( '#test_tinymce_id' ); From d516b2350df88ccdb4ad10e00608b13c6ff7c6d8 Mon Sep 17 00:00:00 2001 From: Eshaan Dabasiya <76681468+im3dabasia@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:32:31 +0530 Subject: [PATCH 021/153] Components: Remove unnecessary `Tooltip` component from linked `button` (#68498) * fix: Removed extra tooltips component in button component * fix: label name * fix: Removed view component * doc: Update changelog for unreleased section * Add heading before new changelog entry --------- Co-authored-by: im3dabasia Co-authored-by: afercia Co-authored-by: ciampo --- .../spacing-sizes-control/linked-button.js | 18 +++++++-------- packages/components/CHANGELOG.md | 4 ++++ .../component.tsx | 23 ++++++++----------- .../src/box-control/linked-button.tsx | 19 +++++++-------- 4 files changed, 29 insertions(+), 35 deletions(-) diff --git a/packages/block-editor/src/components/spacing-sizes-control/linked-button.js b/packages/block-editor/src/components/spacing-sizes-control/linked-button.js index f6d56be66072ad..413dc88a52e9b9 100644 --- a/packages/block-editor/src/components/spacing-sizes-control/linked-button.js +++ b/packages/block-editor/src/components/spacing-sizes-control/linked-button.js @@ -1,7 +1,7 @@ /** * WordPress dependencies */ -import { Button, Tooltip } from '@wordpress/components'; +import { Button } from '@wordpress/components'; import { link, linkOff } from '@wordpress/icons'; import { __ } from '@wordpress/i18n'; @@ -9,14 +9,12 @@ export default function LinkedButton( { isLinked, ...props } ) { const label = isLinked ? __( 'Unlink sides' ) : __( 'Link sides' ); return ( - -
) } diff --git a/packages/edit-site/src/components/pagination/index.js b/packages/edit-site/src/components/pagination/index.js index 5d6ce852d5a4c4..c49182d7b0c714 100644 --- a/packages/edit-site/src/components/pagination/index.js +++ b/packages/edit-site/src/components/pagination/index.js @@ -22,7 +22,7 @@ export default function Pagination( { className, disabled = false, buttonVariant = 'tertiary', - label = __( 'Pagination Navigation' ), + label = __( 'Pagination' ), } ) { return ( { } await userGlobalStylesRevisions.openStylesPanel(); await page.getByRole( 'button', { name: 'Revisions' } ).click(); - const pagination = page.getByLabel( - 'Global Styles pagination navigation' - ); + const pagination = page.getByLabel( 'Global Styles pagination' ); await expect( pagination ).toContainText( '1 of 2' ); await pagination.getByRole( 'button', { name: 'Next page' } ).click(); await expect( pagination ).toContainText( '2 of 2' ); From 183f671258824a6b32b881c0ab8f739ae081812f Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Tue, 28 Jan 2025 16:13:25 +0400 Subject: [PATCH 035/153] Block Editor: Fix 'isBlockVisibleInTheInserter' selector helper performance (#68898) * Block Editor: Fix 'isBlockVisibleInTheInserter' selector helper performance * Use the loop, Luke! Unlinked contributors: ktmn. Co-authored-by: Mamaduka Co-authored-by: youknowriad Co-authored-by: mmtr --- packages/block-editor/src/store/selectors.js | 22 +++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/block-editor/src/store/selectors.js b/packages/block-editor/src/store/selectors.js index 22d725bbcd65de..e2e2ef6b655564 100644 --- a/packages/block-editor/src/store/selectors.js +++ b/packages/block-editor/src/store/selectors.js @@ -1626,15 +1626,23 @@ const isBlockVisibleInTheInserter = ( Array.isArray( blockType.parent ) ? blockType.parent : [] ).concat( Array.isArray( blockType.ancestor ) ? blockType.ancestor : [] ); if ( parents.length > 0 ) { - const rootBlockName = getBlockName( state, rootClientId ); // This is an exception to the rule that says that all blocks are visible in the inserter. // Blocks that require a given parent or ancestor are only visible if we're within that parent. - return ( - parents.includes( 'core/post-content' ) || - parents.includes( rootBlockName ) || - getBlockParentsByBlockName( state, rootClientId, parents ).length > - 0 - ); + if ( parents.includes( 'core/post-content' ) ) { + return true; + } + + let current = rootClientId; + let hasParent = false; + do { + if ( parents.includes( getBlockName( state, current ) ) ) { + hasParent = true; + break; + } + current = state.blocks.parents.get( current ); + } while ( current ); + + return hasParent; } return true; From bf32d27b4d666e82860bf426076ec3cb9400407c Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Tue, 28 Jan 2025 23:47:24 +0530 Subject: [PATCH 036/153] Spacer Block: Fix broken editing history due to effect (#68869) * `Spacer`: Fix changes being marked as persistent to `undo` * Spacer: Remove unnecessary line breaks in edit.js * `Spacer`: Simplify the usage of `__unstableMarkNextChangeAsNotPersistent` * Refactor: Add comments to clarify the purpose of `__unstableMarkNextChangeAsNotPersistent` * `Spacer`: Ensure changes are marked as not persistent in multiple conditions * Spacer: Refactor `setAttributes` calls to avoid persistent changes during undo/redo operations Co-authored-by: yogeshbhutkar Co-authored-by: stokesman --- packages/block-library/src/spacer/edit.js | 46 ++++++++++++----------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/packages/block-library/src/spacer/edit.js b/packages/block-library/src/spacer/edit.js index af84edf7baf657..b2de69ad9a6a80 100644 --- a/packages/block-library/src/spacer/edit.js +++ b/packages/block-library/src/spacer/edit.js @@ -16,7 +16,7 @@ import { import { ResizableBox } from '@wordpress/components'; import { useState, useEffect } from '@wordpress/element'; import { View } from '@wordpress/primitives'; -import { useSelect } from '@wordpress/data'; +import { useSelect, useDispatch } from '@wordpress/data'; /** * Internal dependencies @@ -124,6 +124,9 @@ const SpacerEdit = ( { const onResizeStart = () => toggleSelection( false ); const onResizeStop = () => toggleSelection( true ); + const { __unstableMarkNextChangeAsNotPersistent } = + useDispatch( blockEditorStore ); + const handleOnVerticalResizeStop = ( newHeight ) => { onResizeStop(); @@ -256,6 +259,14 @@ const SpacerEdit = ( { }; useEffect( () => { + // To avoid interfering with undo/redo operations any changes in this + // effect must not make history and should be preceded by + // `__unstableMarkNextChangeAsNotPersistent()`. + const setAttributesCovertly = ( nextAttributes ) => { + __unstableMarkNextChangeAsNotPersistent(); + setAttributes( nextAttributes ); + }; + if ( isFlexLayout && selfStretch !== 'fill' && @@ -269,7 +280,7 @@ const SpacerEdit = ( { getCustomValueFromPreset( width, spacingSizes ) || getCustomValueFromPreset( height, spacingSizes ) || '100px'; - setAttributes( { + setAttributesCovertly( { width: '0px', style: { ...blockStyle, @@ -285,7 +296,7 @@ const SpacerEdit = ( { getCustomValueFromPreset( height, spacingSizes ) || getCustomValueFromPreset( width, spacingSizes ) || '100px'; - setAttributes( { + setAttributesCovertly( { height: '0px', style: { ...blockStyle, @@ -301,26 +312,16 @@ const SpacerEdit = ( { isFlexLayout && ( selfStretch === 'fill' || selfStretch === 'fit' ) ) { - if ( inheritedOrientation === 'horizontal' ) { - setAttributes( { - width: undefined, - } ); - } else { - setAttributes( { - height: undefined, - } ); - } + setAttributesCovertly( + inheritedOrientation === 'horizontal' + ? { width: undefined } + : { height: undefined } + ); } else if ( ! isFlexLayout && ( selfStretch || flexSize ) ) { - if ( inheritedOrientation === 'horizontal' ) { - setAttributes( { - width: flexSize, - } ); - } else { - setAttributes( { - height: flexSize, - } ); - } - setAttributes( { + setAttributesCovertly( { + ...( inheritedOrientation === 'horizontal' + ? { width: flexSize } + : { height: flexSize } ), style: { ...blockStyle, layout: { @@ -342,6 +343,7 @@ const SpacerEdit = ( { setAttributes, spacingSizes, width, + __unstableMarkNextChangeAsNotPersistent, ] ); return ( From 73b8e2cbda0e457584e9e1a5c13cd81d9bdc0825 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Shah Date: Wed, 29 Jan 2025 09:15:19 +0530 Subject: [PATCH 037/153] Block Editor: Add documentation for SpacingSizesControl component (#68581) * Block Editor: Add documentation for SpacingSizesControl component * Refactor `SpacingSizesControl` to use individual side values * Simplify component example and documentation - Removed unnecessary props and wrappers - Added proper state management with useState hook - Ensured consistent documentation between the component and README - Replaced SpacerBlock with Example component - Added proper imports for SpacingSizesControl and useState - Removed unnecessary View wrapper and optional props - Updated README to match the new implementation * Consolidate README and update import examples - Removed redundant description section in README - Consolidated component description into a single paragraph - Updated import examples to use `__experimentalSpacingSizesControl` alias - Removed screenshot reference - Standardized prop descriptions Co-authored-by: Infinite-Null Co-authored-by: stokesman Co-authored-by: glendaviesnz Co-authored-by: mburridge --- .../spacing-sizes-control/README.md | 93 +++++++++++++++++++ .../components/spacing-sizes-control/index.js | 45 ++++++++- 2 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 packages/block-editor/src/components/spacing-sizes-control/README.md diff --git a/packages/block-editor/src/components/spacing-sizes-control/README.md b/packages/block-editor/src/components/spacing-sizes-control/README.md new file mode 100644 index 00000000000000..c8e280c6807120 --- /dev/null +++ b/packages/block-editor/src/components/spacing-sizes-control/README.md @@ -0,0 +1,93 @@ +# Spacing Sizes Control + +The SpacingSizesControl component provides a flexible user interface for controlling spacing values in blocks, allowing users to modify values for different sides. It supports three viewing modes: + +1. Single: Control one side at a time. +2. Axial: Control horizontal and vertical sides together. +3. Custom: Control each side separately. + +## Usage + +```jsx +import { __experimentalSpacingSizesControl as SpacingSizesControl } from '@wordpress/block-editor'; +import { useState } from '@wordpress/element'; + +function Example() { + const [ sides, setSides ] = useState( { + top: '0px', + right: '0px', + bottom: '0px', + left: '0px', + } ); + + return ( + + ); +} +``` + +## Props + +### `inputProps` + +- Type: `Object` +- Required: No +- Description: Additional props to pass to the input controls. + +### `label` + +- Type: `String` +- Required: Yes +- Description: Label for the control. + +### `minimumCustomValue` + +- Type: `Number` +- Default: 0 +- Description: Minimum value allowed for custom input. + +### `onChange` + +- Type: `Function` +- Required: Yes +- Description: Callback function called when spacing values change. Receives an object containing the updated values. + +### `onMouseOut` + +- Type: `Function` +- Required: No +- Description: Callback function called when mouse leaves the control. + +### `onMouseOver` + +- Type: `Function` +- Required: No +- Description: Callback function called when mouse enters the control. + +### `showSideInLabel` + +- Type: `Boolean` +- Default: true +- Description: Whether to show the side (top, right, etc.) in the control label. + +### `sides` + +- Type: `Array` +- Default: ALL_SIDES (top, right, bottom, left) +- Description: Array of sides that can be controlled. + +### `useSelect` + +- Type: `Boolean` +- Required: No +- Description: Whether to use a select control for predefined values. + +### `values` + +- Type: `Object` +- Required: No +- Description: Object containing the current spacing values for each side. diff --git a/packages/block-editor/src/components/spacing-sizes-control/index.js b/packages/block-editor/src/components/spacing-sizes-control/index.js index 458b0abee60f2e..5adbe5548556ff 100644 --- a/packages/block-editor/src/components/spacing-sizes-control/index.js +++ b/packages/block-editor/src/components/spacing-sizes-control/index.js @@ -12,11 +12,11 @@ import { _x, sprintf } from '@wordpress/i18n'; /** * Internal dependencies */ +import useSpacingSizes from './hooks/use-spacing-sizes'; import AxialInputControls from './input-controls/axial'; import SeparatedInputControls from './input-controls/separated'; import SingleInputControl from './input-controls/single'; import LinkedButton from './linked-button'; -import useSpacingSizes from './hooks/use-spacing-sizes'; import { ALL_SIDES, DEFAULT_VALUES, @@ -25,6 +25,49 @@ import { getInitialView, } from './utils'; +/** + * A flexible control for managing spacing values in the block editor. Supports single, axial, + * and separated input controls for different spacing configurations with automatic view selection + * based on current values and available sides. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/spacing-sizes-control/README.md + * + * @example + * ```jsx + * import { __experimentalSpacingSizesControl as SpacingSizesControl } from '@wordpress/block-editor'; + * import { useState } from '@wordpress/element'; + * + * function Example() { + * const [ sides, setSides ] = useState( { + * top: '0px', + * right: '0px', + * bottom: '0px', + * left: '0px', + * } ); + * + * return ( + * + * ); + * } + * ``` + * + * @param {Object} props Component props. + * @param {Object} props.inputProps Additional props for input controls. + * @param {string} props.label Label for the control. + * @param {number} props.minimumCustomValue Minimum value for custom input. + * @param {Function} props.onChange Called when spacing values change. + * @param {Function} props.onMouseOut Called when mouse leaves the control. + * @param {Function} props.onMouseOver Called when mouse enters the control. + * @param {boolean} props.showSideInLabel Show side in control label. + * @param {Array} props.sides Available sides for control. + * @param {boolean} props.useSelect Use select control for predefined values. + * @param {Object} props.values Current spacing values. + * @return {Element} Spacing sizes control component. + */ export default function SpacingSizesControl( { inputProps, label: labelProp, From 35ba7ef259ac51fcdde9e53091fa05208da50dfd Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Wed, 29 Jan 2025 10:31:55 +0400 Subject: [PATCH 038/153] Editor: Improve conditions for displaying new page assembler (#68852) * Editor: Improve conditions for displaying new page assembler * Add note as inline comment Co-authored-by: Mamaduka Co-authored-by: carolinan --- .../components/start-page-options/index.js | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/packages/editor/src/components/start-page-options/index.js b/packages/editor/src/components/start-page-options/index.js index d7874000ffc420..54d956ff06e7c3 100644 --- a/packages/editor/src/components/start-page-options/index.js +++ b/packages/editor/src/components/start-page-options/index.js @@ -12,13 +12,8 @@ import { store as interfaceStore } from '@wordpress/interface'; import { store as editorStore } from '../../store'; export default function StartPageOptions() { - const { postId, shouldEnable } = useSelect( ( select ) => { - const { - isEditedPostDirty, - isEditedPostEmpty, - getCurrentPostId, - getCurrentPostType, - } = select( editorStore ); + const { postId, enabled } = useSelect( ( select ) => { + const { getCurrentPostId, getCurrentPostType } = select( editorStore ); const preferencesModalActive = select( interfaceStore ).isModalActive( 'editor/preferences' ); const choosePatternModalEnabled = select( preferencesStore ).get( @@ -27,24 +22,37 @@ export default function StartPageOptions() { ); return { postId: getCurrentPostId(), - shouldEnable: + enabled: choosePatternModalEnabled && ! preferencesModalActive && - ! isEditedPostDirty() && - isEditedPostEmpty() && 'page' === getCurrentPostType(), }; }, [] ); + const { isEditedPostDirty, isEditedPostEmpty } = useSelect( editorStore ); const { setIsInserterOpened } = useDispatch( editorStore ); useEffect( () => { - if ( shouldEnable ) { + if ( ! enabled ) { + return; + } + + const isFreshPage = ! isEditedPostDirty() && isEditedPostEmpty(); + if ( isFreshPage ) { setIsInserterOpened( { tab: 'patterns', category: 'core/starter-content', } ); } - }, [ postId, shouldEnable, setIsInserterOpened ] ); + + // Note: The `postId` ensures the effect re-runs when pages are switched without remounting the component. + // Examples: changing pages in the List View, creating a new page via Command Palette. + }, [ + postId, + enabled, + setIsInserterOpened, + isEditedPostDirty, + isEditedPostEmpty, + ] ); return null; } From 6beab84cd4e45c11143b427b1d64a98fbac562fb Mon Sep 17 00:00:00 2001 From: Himanshu Pathak Date: Wed, 29 Jan 2025 16:19:14 +0530 Subject: [PATCH 039/153] Navigation Link: Improve accessibility by removing non-interactive tooltips (#68628) * Navigation Link: Replace missing link tooltip with ARIA label * Navigation Link: Improve accessibility by removing tooltip in favor of visual states * Navigation Link Block: Remove redundant aria-labels * Navigation Link Block: Change the draft underline color from amber to red * Restore original markup and span element. * Adjust CSS. * Remove extra line. --------- Co-authored-by: himanshupathak95 Co-authored-by: afercia --- .../block-library/src/navigation-link/edit.js | 54 +++++++++---------- .../src/navigation-link/editor.scss | 45 +++++++++------- 2 files changed, 52 insertions(+), 47 deletions(-) diff --git a/packages/block-library/src/navigation-link/edit.js b/packages/block-library/src/navigation-link/edit.js index 8ff438dc20abef..11a281a44a76d7 100644 --- a/packages/block-library/src/navigation-link/edit.js +++ b/packages/block-library/src/navigation-link/edit.js @@ -14,7 +14,6 @@ import { TextControl, TextareaControl, ToolbarButton, - Tooltip, ToolbarGroup, } from '@wordpress/components'; import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes'; @@ -490,10 +489,6 @@ export default function NavigationLinkEdit( { const placeholderText = `(${ isInvalid ? __( 'Invalid' ) : __( 'Draft' ) })`; - const tooltipText = - isInvalid || isDraft - ? __( 'This item has been deleted, or is a draft' ) - : __( 'This item is missing a link' ); return ( <> @@ -533,9 +528,7 @@ export default function NavigationLinkEdit( { { /* eslint-enable */ } { ! url ? (
- - { missingText } - + { missingText }
) : ( <> @@ -578,27 +571,30 @@ export default function NavigationLinkEdit( { { ( isInvalid || isDraft || isLabelFieldFocused ) && ( -
- - - { - // Some attributes are stored in an escaped form. It's a legacy issue. - // Ideally they would be stored in a raw, unescaped form. - // Unescape is used here to "recover" the escaped characters - // so they display without encoding. - // See `updateAttributes` for more details. - `${ decodeEntities( label ) } ${ - isInvalid || isDraft - ? placeholderText - : '' - }`.trim() - } - - +
+ + { + // Some attributes are stored in an escaped form. It's a legacy issue. + // Ideally they would be stored in a raw, unescaped form. + // Unescape is used here to "recover" the escaped characters + // so they display without encoding. + // See `updateAttributes` for more details. + `${ decodeEntities( label ) } ${ + isInvalid || isDraft + ? placeholderText + : '' + }`.trim() + } +
) } diff --git a/packages/block-library/src/navigation-link/editor.scss b/packages/block-library/src/navigation-link/editor.scss index 84cd6f6d4ee363..c48af79385c47f 100644 --- a/packages/block-library/src/navigation-link/editor.scss +++ b/packages/block-library/src/navigation-link/editor.scss @@ -80,24 +80,33 @@ background-image: none !important; // Draw a wavy underline. - .wp-block-navigation-link__placeholder-text span { - $blur: 10%; - $width: 6%; - $stop1: 30%; - $stop2: 64%; - - --wp-underline-color: var(--wp-admin-theme-color); - - background-image: - linear-gradient(45deg, transparent ($stop1 - $blur), var(--wp-underline-color) $stop1, var(--wp-underline-color) ($stop1 + $width), transparent ($stop1 + $width + $blur)), - linear-gradient(135deg, transparent ($stop2 - $blur), var(--wp-underline-color) $stop2, var(--wp-underline-color) ($stop2 + $width), transparent ($stop2 + $width + $blur)); - background-position: 0 100%; - background-size: 6px 3px; - background-repeat: repeat-x; - - // Since applied to a span, it doesn't change the footprint of the item, - // but it does vertically shift the underline to better align. - padding-bottom: 0.1em; + .wp-block-navigation-link__placeholder-text { + span { + $blur: 10%; + $width: 6%; + $stop1: 30%; + $stop2: 64%; + + --wp-underline-color: var(--wp-admin-theme-color); + + background-image: + linear-gradient(45deg, transparent ($stop1 - $blur), var(--wp-underline-color) $stop1, var(--wp-underline-color) ($stop1 + $width), transparent ($stop1 + $width + $blur)), + linear-gradient(135deg, transparent ($stop2 - $blur), var(--wp-underline-color) $stop2, var(--wp-underline-color) ($stop2 + $width), transparent ($stop2 + $width + $blur)); + background-position: 0 100%; + background-size: 6px 3px; + background-repeat: repeat-x; + + // Since applied to a span, it doesn't change the footprint of the item, + // but it does vertically shift the underline to better align. + padding-bottom: 0.1em; + } + + &.is-invalid, + &.is-draft { + span { + --wp-underline-color: var(--wp--preset--color--vivid-red); + } + } } // This needs extra specificity. From 41deebd821899010453a60cab6594e0791809fdf Mon Sep 17 00:00:00 2001 From: Sainath Poojary <53347682+SainathPoojary@users.noreply.github.com> Date: Wed, 29 Jan 2025 16:49:53 +0530 Subject: [PATCH 040/153] Docs: Update links to HTTPS (#68888) * docs: Update links to HTTPS * docs: Generated build docs * docs: Fix redirected documentation links Co-authored-by: SainathPoojary Co-authored-by: t-hamano Co-authored-by: shail-mehta --- docs/contributors/code/coding-guidelines.md | 2 +- docs/contributors/code/testing-overview.md | 2 +- docs/reference-guides/interactivity-api/README.md | 2 +- packages/README.md | 2 +- packages/babel-plugin-import-jsx-pragma/README.md | 6 +++--- packages/eslint-plugin/README.md | 2 +- .../docs/rules/i18n-no-collapsible-whitespace.md | 2 +- packages/is-shallow-equal/README.md | 2 +- packages/warning/README.md | 2 +- platform-docs/docs/basic-concepts/internationalization.md | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/contributors/code/coding-guidelines.md b/docs/contributors/code/coding-guidelines.md index d8a5220c70ca24..e8e55921f56fae 100644 --- a/docs/contributors/code/coding-guidelines.md +++ b/docs/contributors/code/coding-guidelines.md @@ -607,7 +607,7 @@ Many third-party dependencies will distribute their own TypeScript typings. For If you use a [TypeScript integration](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Editor-Support) for your editor, you can typically see that this works if the type resolves to anything other than the fallback `any` type. -For packages which do not distribute their own TypeScript types, you are welcomed to install and use the [DefinitelyTyped](http://definitelytyped.org/) community-maintained types definitions, if one exists. +For packages which do not distribute their own TypeScript types, you are welcomed to install and use the [DefinitelyTyped](https://definitelytyped.org/) community-maintained types definitions, if one exists. ### Generic types diff --git a/docs/contributors/code/testing-overview.md b/docs/contributors/code/testing-overview.md index 6afa5aed865b7d..8b487c00166350 100644 --- a/docs/contributors/code/testing-overview.md +++ b/docs/contributors/code/testing-overview.md @@ -29,7 +29,7 @@ Assuming you've followed the [instructions](/docs/contributors/code/getting-star npm test ``` -Linting is static code analysis used to enforce coding standards and to avoid potential errors. This project uses [ESLint](http://eslint.org/) and [TypeScript's JavaScript type-checking](https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html) to capture these issues. While the above `npm test` will execute both unit tests and code linting, code linting can be verified independently by running `npm run lint`. Some JavaScript issues can be fixed automatically by running `npm run lint:js:fix`. +Linting is static code analysis used to enforce coding standards and to avoid potential errors. This project uses [ESLint](https://eslint.org/) and [TypeScript's JavaScript type-checking](https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html) to capture these issues. While the above `npm test` will execute both unit tests and code linting, code linting can be verified independently by running `npm run lint`. Some JavaScript issues can be fixed automatically by running `npm run lint:js:fix`. To improve your developer workflow, you should setup an editor linting integration. See the [getting started documentation](/docs/contributors/code/getting-started-with-code-contribution.md) for additional information. diff --git a/docs/reference-guides/interactivity-api/README.md b/docs/reference-guides/interactivity-api/README.md index 3a5bbb84ff159c..5504f8fd19fafe 100644 --- a/docs/reference-guides/interactivity-api/README.md +++ b/docs/reference-guides/interactivity-api/README.md @@ -113,7 +113,7 @@ Here you have some more resources to learn/read more about the Interactivity API - [Merge announcement](https://make.wordpress.org/core/2024/02/19/merge-announcement-interactivity-api/) - [Proposal: The Interactivity API – A better developer experience in building interactive blocks](https://make.wordpress.org/core/2023/03/30/proposal-the-interactivity-api-a-better-developer-experience-in-building-interactive-blocks/) - [Interactivity API Discussions](https://github.com/WordPress/gutenberg/discussions/52882), especially the [showcase](https://github.com/WordPress/gutenberg/discussions/55642#discussioncomment-9667164) discussions. -- [wpmovies.dev](http://wpmovies.dev/) demo and its [wp-movies-demo](https://github.com/WordPress/wp-movies-demo) repo +- [wpmovies.dev](https://wpmovies.dev/) demo and its [wp-movies-demo](https://github.com/WordPress/wp-movies-demo) repo - Examples using the Interactivity API at [block-development-examples](https://github.com/WordPress/block-development-examples): - [`interactivity-api-block-833d15`](https://github.com/WordPress/block-development-examples/tree/trunk/plugins/interactivity-api-block-833d15) - [`interactivity-api-countdown-3cd73e`](https://github.com/WordPress/block-development-examples/tree/trunk/plugins/interactivity-api-countdown-3cd73e) diff --git a/packages/README.md b/packages/README.md index 79f07af29382c0..9a3d077ba671b9 100644 --- a/packages/README.md +++ b/packages/README.md @@ -214,7 +214,7 @@ If you are publishing new versions of packages, note that there are versioning r ## TypeScript -The [TypeScript](http://www.typescriptlang.org/) language is a typed superset of JavaScript that compiles to plain JavaScript. +The [TypeScript](https://www.typescriptlang.org/) language is a typed superset of JavaScript that compiles to plain JavaScript. Gutenberg does not use the TypeScript language, however TypeScript has powerful tooling that can be applied to JavaScript projects. Gutenberg uses TypeScript for several reasons, including: diff --git a/packages/babel-plugin-import-jsx-pragma/README.md b/packages/babel-plugin-import-jsx-pragma/README.md index ebc260277b21ab..7c8ad8c6ac3168 100644 --- a/packages/babel-plugin-import-jsx-pragma/README.md +++ b/packages/babel-plugin-import-jsx-pragma/README.md @@ -1,6 +1,6 @@ # Babel Plugin Import JSX Pragma -Babel transform plugin for automatically injecting an import to be used as the pragma for the [React JSX Transform plugin](http://babeljs.io/docs/en/babel-plugin-transform-react-jsx). +Babel transform plugin for automatically injecting an import to be used as the pragma for the [React JSX Transform plugin](https://babeljs.io/docs/babel-plugin-transform-react-jsx). [JSX](https://reactjs.org/docs/jsx-in-depth.html) is merely a syntactic sugar for a function call, typically to `React.createElement` when used with [React](https://reactjs.org/). As such, it requires that the function referenced by this transform be within the scope of the file where the JSX occurs. In a typical React project, this means React must be imported in any file where JSX exists. @@ -18,9 +18,9 @@ npm install @wordpress/babel-plugin-import-jsx-pragma ## Usage -Refer to the [Babel Plugins documentation](http://babeljs.io/docs/en/plugins) if you don't yet have experience working with Babel plugins. +Refer to the [Babel Plugins documentation](https://babeljs.io/docs/plugins) if you don't yet have experience working with Babel plugins. -Include `@wordpress/babel-plugin-import-jsx-pragma` (and [@babel/plugin-transform-react-jsx](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx/)) as plugins in your Babel configuration. If you don't include both you will receive errors when encountering JSX tokens. +Include `@wordpress/babel-plugin-import-jsx-pragma` (and [@babel/plugin-transform-react-jsx](https://babeljs.io/docs/babel-plugin-transform-react-jsx/)) as plugins in your Babel configuration. If you don't include both you will receive errors when encountering JSX tokens. ```js // .babelrc.js diff --git a/packages/eslint-plugin/README.md b/packages/eslint-plugin/README.md index cde410fc9c9926..dfb3f90c03b82b 100644 --- a/packages/eslint-plugin/README.md +++ b/packages/eslint-plugin/README.md @@ -22,7 +22,7 @@ To opt-in to the default configuration, extend your own project's `.eslintrc` fi } ``` -Refer to the [ESLint documentation on Shareable Configs](http://eslint.org/docs/developer-guide/shareable-configs) for more information. +Refer to the [ESLint documentation on Shareable Configs](https://eslint.org/docs/latest/extend/shareable-configs) for more information. The `recommended` preset will include rules governing an ES2015+ environment, and includes rules from the [`eslint-plugin-jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc), [`eslint-plugin-jsx-a11y`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y), [`eslint-plugin-react`](https://github.com/yannickcr/eslint-plugin-react), and other similar plugins. diff --git a/packages/eslint-plugin/docs/rules/i18n-no-collapsible-whitespace.md b/packages/eslint-plugin/docs/rules/i18n-no-collapsible-whitespace.md index 094564ab5432b3..d3a795325008d8 100644 --- a/packages/eslint-plugin/docs/rules/i18n-no-collapsible-whitespace.md +++ b/packages/eslint-plugin/docs/rules/i18n-no-collapsible-whitespace.md @@ -2,7 +2,7 @@ Using complex whitespace in translatable strings and relying on HTML to collapse it can make translation more difficult and lead to unnecessary retranslation. -Whitespace can be appropriate in longer translatable content, for example a whole blog post. These cases are unlikely to occur in the code scanned by eslint but if they do, [disable the rule with inline comments](http://eslint.org/docs/user-guide/configuring#disabling-rules-with-inline-comments. ( e.g. `// eslint-disable-line i18n-no-collapsible-whitespace` ). +Whitespace can be appropriate in longer translatable content, for example a whole blog post. These cases are unlikely to occur in the code scanned by eslint but if they do, [disable the rule with inline comments](https://eslint.org/docs/latest/use/configure/rules#disabling-rules) ( e.g. `// eslint-disable-line i18n-no-collapsible-whitespace` ). ## Rule details diff --git a/packages/is-shallow-equal/README.md b/packages/is-shallow-equal/README.md index 2908803a7804b2..80809459a9c982 100644 --- a/packages/is-shallow-equal/README.md +++ b/packages/is-shallow-equal/README.md @@ -29,7 +29,7 @@ import { isShallowEqualArrays } from '@wordpress/is-shallow-equal'; import { isShallowEqualObjects } from '@wordpress/is-shallow-equal'; ``` -Shallow comparison differs from deep comparison by the fact that it compares members from each as being strictly equal to the other, meaning that arrays and objects will be compared by their _references_, not by their values (see also [_Object Equality in JavaScript_.](http://adripofjavascript.com/blog/drips/object-equality-in-javascript.html)) In situations where nested objects must be compared by value, consider using [`fast-deep-equal`](https://github.com/epoberezkin/fast-deep-equal) instead. +Shallow comparison differs from deep comparison by the fact that it compares members from each as being strictly equal to the other, meaning that arrays and objects will be compared by their _references_, not by their values (see also [_Object Equality in JavaScript_.](https://adripofjavascript.com/blog/drips/object-equality-in-javascript.html)) In situations where nested objects must be compared by value, consider using [`fast-deep-equal`](https://github.com/epoberezkin/fast-deep-equal) instead. ```js import isShallowEqual from '@wordpress/is-shallow-equal'; diff --git a/packages/warning/README.md b/packages/warning/README.md index 67b471d154eccf..cc082a7f214467 100644 --- a/packages/warning/README.md +++ b/packages/warning/README.md @@ -18,7 +18,7 @@ Literal strings aren't minified. Keeping them in your production bundle may incr To prevent that, you should: -1. Put `@wordpress/warning/babel-plugin` into your [babel config](https://babeljs.io/docs/en/plugins#plugin-options) or use [`@wordpress/babel-preset-default`](https://www.npmjs.com/package/@wordpress/babel-preset-default), which already includes the babel plugin. +1. Put `@wordpress/warning/babel-plugin` into your [babel config](https://babeljs.io/docs/plugins#plugin-options) or use [`@wordpress/babel-preset-default`](https://www.npmjs.com/package/@wordpress/babel-preset-default), which already includes the babel plugin. This will make sure your `warning` calls are wrapped within a condition that checks if `SCRIPT_DEBUG === true`. diff --git a/platform-docs/docs/basic-concepts/internationalization.md b/platform-docs/docs/basic-concepts/internationalization.md index 654d70070f1cba..ce2070119b02ca 100644 --- a/platform-docs/docs/basic-concepts/internationalization.md +++ b/platform-docs/docs/basic-concepts/internationalization.md @@ -6,7 +6,7 @@ sidebar_position: 7 The Gutenberg block editor uses the `@wordpress/i18n` package to provide internationalization support. -Translations can be provided by calling the `setLocaleData` function with a domain and a locale data object. The locale data object should be in the [Jed-formatted JSON object shape](http://messageformat.github.io/Jed/). +Translations can be provided by calling the `setLocaleData` function with a domain and a locale data object. The locale data object should be in the [Jed-formatted JSON object shape](https://messageformat.github.io/Jed/). ```js import { setLocaleData } from '@wordpress/i18n'; From ed645749ddbf449ede72ca537bfb29935f7cece0 Mon Sep 17 00:00:00 2001 From: tomoki shimomura Date: Wed, 29 Jan 2025 20:43:21 +0900 Subject: [PATCH 041/153] Details block: Add placeholder attribute (#68917) Co-authored-by: shimotmk Co-authored-by: Mamaduka --- docs/reference-guides/core-blocks.md | 2 +- packages/block-library/src/details/block.json | 3 +++ packages/block-library/src/details/edit.js | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/reference-guides/core-blocks.md b/docs/reference-guides/core-blocks.md index 10ceb797e28c0f..db5dcb6289aff7 100644 --- a/docs/reference-guides/core-blocks.md +++ b/docs/reference-guides/core-blocks.md @@ -255,7 +255,7 @@ Hide and show additional content. ([Source](https://github.com/WordPress/gutenbe - **Name:** core/details - **Category:** text - **Supports:** align (full, wide), anchor, color (background, gradients, link, text), interactivity (clientNavigation), layout (~~allowEditing~~), spacing (blockGap, margin, padding), typography (fontSize, lineHeight), ~~html~~ -- **Attributes:** allowedBlocks, name, showContent, summary +- **Attributes:** allowedBlocks, name, placeholder, showContent, summary ## Embed diff --git a/packages/block-library/src/details/block.json b/packages/block-library/src/details/block.json index e4fadc4a064f97..19d5c554cd26d6 100644 --- a/packages/block-library/src/details/block.json +++ b/packages/block-library/src/details/block.json @@ -25,6 +25,9 @@ }, "allowedBlocks": { "type": "array" + }, + "placeholder": { + "type": "string" } }, "supports": { diff --git a/packages/block-library/src/details/edit.js b/packages/block-library/src/details/edit.js index b7e8f815e21c06..89221c96bb8ccb 100644 --- a/packages/block-library/src/details/edit.js +++ b/packages/block-library/src/details/edit.js @@ -31,7 +31,8 @@ const TEMPLATE = [ ]; function DetailsEdit( { attributes, setAttributes } ) { - const { name, showContent, summary, allowedBlocks } = attributes; + const { name, showContent, summary, allowedBlocks, placeholder } = + attributes; const blockProps = useBlockProps(); const innerBlocksProps = useInnerBlocksProps( blockProps, { template: TEMPLATE, @@ -100,7 +101,7 @@ function DetailsEdit( { attributes, setAttributes } ) { Date: Wed, 29 Jan 2025 05:23:10 -0800 Subject: [PATCH 042/153] Spacer: Show simple control if less than two preset spacing sizes (#68818) Co-authored-by: stokesman Co-authored-by: carolinan --- packages/block-library/src/spacer/controls.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/block-library/src/spacer/controls.js b/packages/block-library/src/spacer/controls.js index b5f73a259419d2..8ebc2b825bee08 100644 --- a/packages/block-library/src/spacer/controls.js +++ b/packages/block-library/src/spacer/controls.js @@ -44,10 +44,6 @@ function DimensionInput( { label, onChange, isResizing, value = '' } ) { defaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 }, } ); - const handleOnChange = ( unprocessedValue ) => { - onChange( unprocessedValue.all ); - }; - // Force the unit to update to `px` when the Spacer is being resized. const [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue( value ); @@ -57,23 +53,24 @@ function DimensionInput( { label, onChange, isResizing, value = '' } ) { return ( <> - { ( ! spacingSizes || spacingSizes?.length === 0 ) && ( + { spacingSizes?.length < 2 ? ( - ) } - { spacingSizes?.length > 0 && ( + ) : ( { + onChange( all ); + } } label={ label } sides={ [ 'all' ] } units={ units } From 1a7f015462950a848ece1195f0216121e9b98dad Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Wed, 29 Jan 2025 14:41:38 +0000 Subject: [PATCH 043/153] Bump plugin version to 20.2.0-rc.1 --- gutenberg.php | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gutenberg.php b/gutenberg.php index 12a7c54cb1e4b6..06152fa72876e1 100644 --- a/gutenberg.php +++ b/gutenberg.php @@ -5,7 +5,7 @@ * Description: Printing since 1440. This is the development plugin for the block editor, site editor, and other future WordPress core functionality. * Requires at least: 6.6 * Requires PHP: 7.2 - * Version: 20.1.0 + * Version: 20.2.0-rc.1 * Author: Gutenberg Team * Text Domain: gutenberg * diff --git a/package-lock.json b/package-lock.json index ea578eb67ca0d8..5b028cc4298e49 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gutenberg", - "version": "20.1.0", + "version": "20.2.0-rc.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gutenberg", - "version": "20.1.0", + "version": "20.2.0-rc.1", "hasInstallScript": true, "license": "GPL-2.0-or-later", "workspaces": [ diff --git a/package.json b/package.json index 7816ecb7215721..7d09fb4c22c355 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gutenberg", - "version": "20.1.0", + "version": "20.2.0-rc.1", "private": true, "description": "A new WordPress editor experience.", "author": "The WordPress Contributors", From 0d791e65691f08c54ee2f574d3207b877f5fce99 Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Wed, 29 Jan 2025 14:55:25 +0000 Subject: [PATCH 044/153] Update Changelog for 20.2.0-rc.1 --- changelog.txt | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) diff --git a/changelog.txt b/changelog.txt index fbc163a4859bc5..e0ff271a5b28d8 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,148 @@ == Changelog == += 20.2.0-rc.1 = + + +## Changelog + +### Enhancements + +#### Block Library +- Details block: Add name attribute for exclusive accordion. ([56971](https://github.com/WordPress/gutenberg/pull/56971)) +- Details block: Add placeholder attribute. ([68917](https://github.com/WordPress/gutenberg/pull/68917)) +- Home Link: Enable all non-interactive formats. ([68737](https://github.com/WordPress/gutenberg/pull/68737)) +- Latest Comments: Refactor settings panel to use ToolsPanel. ([67951](https://github.com/WordPress/gutenberg/pull/67951)) +- Latest Post Block: Refactor settings panel to use ToolsPanel. ([67956](https://github.com/WordPress/gutenberg/pull/67956)) +- Read More: Refactor settings panel to use ToolsPanel. ([67925](https://github.com/WordPress/gutenberg/pull/67925)) +- Search Block: Refactoring settings panel. ([67907](https://github.com/WordPress/gutenberg/pull/67907)) +- Search Results Title Block: Add dropdown menu props to Tools Panel component. ([68763](https://github.com/WordPress/gutenberg/pull/68763)) +- Spacer: Add dropdown menu props to Tools Panel component. ([68761](https://github.com/WordPress/gutenberg/pull/68761)) +- Term List Block: Refactor settings panel to use ToolsPanel. ([67955](https://github.com/WordPress/gutenberg/pull/67955)) + +#### Design Tools +- Position: Refactor "Position" controls panel to use `ToolsPanel` instead of `PanelBody`. ([67967](https://github.com/WordPress/gutenberg/pull/67967)) +- Post-content block header color support. ([67783](https://github.com/WordPress/gutenberg/pull/67783)) + +#### Block Editor +- Improve grid visualizer resize observation. ([68842](https://github.com/WordPress/gutenberg/pull/68842)) + +#### Style Book +- Navigation Submenu Block: Add example preview. ([68378](https://github.com/WordPress/gutenberg/pull/68378)) + + +### Bug Fixes + +- Fix: Invalid `_doing_it_wrong()` for `experimental-link-color`. ([68408](https://github.com/WordPress/gutenberg/pull/68408)) + +#### Block Library +- Archives Block: Fix reset button display state. ([68757](https://github.com/WordPress/gutenberg/pull/68757)) +- Fix: Add `rel="tag"` to individual anchor links in editor markup of the post terms block. ([68722](https://github.com/WordPress/gutenberg/pull/68722)) +- Fix: Linked featured image block cannot be selected correctly. ([68775](https://github.com/WordPress/gutenberg/pull/68775)) +- Page List Block: Fix empty settings panel. ([68756](https://github.com/WordPress/gutenberg/pull/68756)) +- Post Date Block: Fix reset button display state. ([68758](https://github.com/WordPress/gutenberg/pull/68758)) +- Query Page Numbers Block: Fix reset button display state. ([68759](https://github.com/WordPress/gutenberg/pull/68759)) +- Spacer block: Fix dimension control when no spacing presets are available. ([68818](https://github.com/WordPress/gutenberg/pull/68818)) +- Spacer: Fix flex layout unit reset. ([68815](https://github.com/WordPress/gutenberg/pull/68815)) +- `Spacer`: Fix changes being marked as persistent to `undo`. ([68869](https://github.com/WordPress/gutenberg/pull/68869)) + +#### Patterns +- Editor: Improve conditions for displaying new page assembler. ([68852](https://github.com/WordPress/gutenberg/pull/68852)) + +#### Style Book +- Disable the device preview button in the header. ([68841](https://github.com/WordPress/gutenberg/pull/68841)) + +#### Block Editor +- Fix block color contrast checker. ([68799](https://github.com/WordPress/gutenberg/pull/68799)) + +#### DataViews +- Fixed Incorrect Text Position issue in Dataviews. ([68767](https://github.com/WordPress/gutenberg/pull/68767)) + +#### Block Transforms +- Embed: Remove aspect ratio classes when transforming into Paragraph. ([68721](https://github.com/WordPress/gutenberg/pull/68721)) + +#### Media +- Upload Media: Fix package dependencies. ([68718](https://github.com/WordPress/gutenberg/pull/68718)) + + +### Accessibility + +#### Block Library +- Navigation Link: Improve accessibility by removing non-interactive tooltips. ([68628](https://github.com/WordPress/gutenberg/pull/68628)) +- Use the term menu instead of navigation in nav elements labels. ([68683](https://github.com/WordPress/gutenberg/pull/68683)) + +#### Post Editor +- Update text description of the "Contain text cursor inside block" preference. ([68132](https://github.com/WordPress/gutenberg/pull/68132)) + + +### Performance + +#### Block Editor +- Fix 'isBlockVisibleInTheInserter' selector helper performance. ([68898](https://github.com/WordPress/gutenberg/pull/68898)) + +#### Block Library +- Paragraph: Use CSS to hide placeholders in Zoom out mode. ([68690](https://github.com/WordPress/gutenberg/pull/68690)) + + +### Documentation + +- Block Editor: Add documentation for SpacingSizesControl component. ([68581](https://github.com/WordPress/gutenberg/pull/68581)) +- Changed Inline Documentation Order. ([68879](https://github.com/WordPress/gutenberg/pull/68879)) +- Docs: Update links to HTTPS. ([68888](https://github.com/WordPress/gutenberg/pull/68888)) +- Lint: Fix broken URL reference for `stylelint` user guide configuration. ([68706](https://github.com/WordPress/gutenberg/pull/68706)) +- Updated Typo in Constants.js. ([68765](https://github.com/WordPress/gutenberg/pull/68765)) +- Used https in main-dashboard-button.md file. ([68883](https://github.com/WordPress/gutenberg/pull/68883)) +- wp-env: Add phpMyAdmin and multisite support to the documentation. ([68125](https://github.com/WordPress/gutenberg/pull/68125)) + + +### Code Quality + +- Inline Commenting: Change the PHP compat directory. ([68846](https://github.com/WordPress/gutenberg/pull/68846)) +- Fix: Remove invalid param from wp_register_style() in gutenberg_enqueue_stored_styles(). ([68409](https://github.com/WordPress/gutenberg/pull/68409)) +- Fix: setcookie() $value must be string in Gutenberg_HTTP_Signaling_Server::Handle_read_pending_messages(). ([68411](https://github.com/WordPress/gutenberg/pull/68411)) + +#### Block Library +- Gallery: Remove unused inline menu styles. ([68776](https://github.com/WordPress/gutenberg/pull/68776)) +- Move HTML element help messages to the block library utils. ([68708](https://github.com/WordPress/gutenberg/pull/68708)) +- Navigation Submenu: Classname trailing spaces. ([68880](https://github.com/WordPress/gutenberg/pull/68880)) +- Unify block title with a strict title case. ([51912](https://github.com/WordPress/gutenberg/pull/51912)) +- Video: Fix react component warning error. ([68762](https://github.com/WordPress/gutenberg/pull/68762)) + +#### Post Editor +- Editor: Children prop to accept `ReactNode`. ([68839](https://github.com/WordPress/gutenberg/pull/68839)) +- Editor: Combine selectors in the 'Header' component. ([68697](https://github.com/WordPress/gutenberg/pull/68697)) +- Editor: Standardize reduced motion handling using media queries. ([68424](https://github.com/WordPress/gutenberg/pull/68424)) + +#### Components +- Box Control: Add Runtime Check & Conditional Types for `presets` and `presetKey` Props. ([68385](https://github.com/WordPress/gutenberg/pull/68385)) +- Remove unnecessary `Tooltip` component from linked `button`. ([68498](https://github.com/WordPress/gutenberg/pull/68498)) + +#### Block Editor +- Clean up unused utils of spacing size control. ([68794](https://github.com/WordPress/gutenberg/pull/68794)) + +#### Template Editor +- Editor: Update post-type support key for new default rendering mode. ([68745](https://github.com/WordPress/gutenberg/pull/68745)) + + +### Tools + +#### Build Tooling +- Fix Duplicate Entries for 19.7.0 in changelog.txt. ([68836](https://github.com/WordPress/gutenberg/pull/68836)) +- Release Workflow: Install Subversion. ([68837](https://github.com/WordPress/gutenberg/pull/68837)) + +#### Testing +- E2E: Fix WP Editor Meta Boxes test. ([68872](https://github.com/WordPress/gutenberg/pull/68872)) + +#### Env +- Add WP_ENV_MULTISITE envoriment variable. ([68792](https://github.com/WordPress/gutenberg/pull/68792)) + + +## Contributors + +The following contributors merged PRs in this release: + +@afercia @benazeer-ben @fabiankaegy @himanshupathak95 @im3dabasia @Infinite-Null @justlevine @karthick-murugan @Mamaduka @Mayank-Tripathi32 @SainathPoojary @shail-mehta @shimotmk @Soean @spacedmonkey @stokesman @Sukhendu2002 @t-hamano @yogeshbhutkar + + = 20.1.0 = ## Changelog From 2bbf45397f007af84a33eb9e5403fe657cda6bbf Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Wed, 29 Jan 2025 15:11:06 +0000 Subject: [PATCH 045/153] Update changelog files --- packages/a11y/CHANGELOG.md | 2 ++ packages/a11y/package.json | 2 +- packages/annotations/CHANGELOG.md | 2 ++ packages/annotations/package.json | 2 +- packages/api-fetch/CHANGELOG.md | 2 ++ packages/api-fetch/package.json | 2 +- packages/autop/CHANGELOG.md | 2 ++ packages/autop/package.json | 2 +- packages/babel-plugin-import-jsx-pragma/CHANGELOG.md | 2 ++ packages/babel-plugin-import-jsx-pragma/package.json | 2 +- packages/babel-plugin-makepot/CHANGELOG.md | 2 ++ packages/babel-plugin-makepot/package.json | 2 +- packages/babel-preset-default/CHANGELOG.md | 2 ++ packages/babel-preset-default/package.json | 2 +- packages/base-styles/CHANGELOG.md | 2 ++ packages/base-styles/package.json | 2 +- packages/blob/CHANGELOG.md | 2 ++ packages/blob/package.json | 2 +- packages/block-directory/CHANGELOG.md | 2 ++ packages/block-directory/package.json | 2 +- packages/block-editor/CHANGELOG.md | 2 ++ packages/block-editor/package.json | 2 +- packages/block-library/CHANGELOG.md | 2 ++ packages/block-library/package.json | 2 +- packages/block-serialization-default-parser/CHANGELOG.md | 2 ++ packages/block-serialization-default-parser/package.json | 2 +- packages/block-serialization-spec-parser/CHANGELOG.md | 2 ++ packages/block-serialization-spec-parser/package.json | 2 +- packages/blocks/CHANGELOG.md | 2 ++ packages/blocks/package.json | 2 +- packages/browserslist-config/CHANGELOG.md | 2 ++ packages/browserslist-config/package.json | 2 +- packages/commands/CHANGELOG.md | 2 ++ packages/commands/package.json | 2 +- packages/components/CHANGELOG.md | 2 ++ packages/components/package.json | 2 +- packages/compose/CHANGELOG.md | 2 ++ packages/compose/package.json | 2 +- packages/core-commands/CHANGELOG.md | 2 ++ packages/core-commands/package.json | 2 +- packages/core-data/CHANGELOG.md | 2 ++ packages/core-data/package.json | 2 +- packages/create-block-interactive-template/package.json | 2 +- packages/create-block-tutorial-template/CHANGELOG.md | 2 ++ packages/create-block-tutorial-template/package.json | 2 +- packages/create-block/CHANGELOG.md | 2 ++ packages/create-block/package.json | 2 +- packages/customize-widgets/CHANGELOG.md | 2 ++ packages/customize-widgets/package.json | 2 +- packages/data-controls/CHANGELOG.md | 2 ++ packages/data-controls/package.json | 2 +- packages/data/CHANGELOG.md | 2 ++ packages/data/package.json | 2 +- packages/dataviews/CHANGELOG.md | 2 ++ packages/dataviews/package.json | 2 +- packages/date/CHANGELOG.md | 2 ++ packages/date/package.json | 2 +- packages/dependency-extraction-webpack-plugin/CHANGELOG.md | 2 ++ packages/dependency-extraction-webpack-plugin/package.json | 2 +- packages/deprecated/CHANGELOG.md | 2 ++ packages/deprecated/package.json | 2 +- packages/docgen/CHANGELOG.md | 2 ++ packages/docgen/package.json | 2 +- packages/dom-ready/CHANGELOG.md | 2 ++ packages/dom-ready/package.json | 2 +- packages/dom/CHANGELOG.md | 2 ++ packages/dom/package.json | 2 +- packages/e2e-test-utils-playwright/CHANGELOG.md | 2 ++ packages/e2e-test-utils-playwright/package.json | 2 +- packages/e2e-test-utils/CHANGELOG.md | 2 ++ packages/e2e-test-utils/package.json | 2 +- packages/e2e-tests/CHANGELOG.md | 2 ++ packages/e2e-tests/package.json | 2 +- packages/edit-post/CHANGELOG.md | 2 ++ packages/edit-post/package.json | 2 +- packages/edit-site/CHANGELOG.md | 2 ++ packages/edit-site/package.json | 2 +- packages/edit-widgets/CHANGELOG.md | 2 ++ packages/edit-widgets/package.json | 2 +- packages/editor/CHANGELOG.md | 2 ++ packages/editor/package.json | 2 +- packages/element/CHANGELOG.md | 2 ++ packages/element/package.json | 2 +- packages/env/CHANGELOG.md | 2 ++ packages/env/package.json | 2 +- packages/escape-html/CHANGELOG.md | 2 ++ packages/escape-html/package.json | 2 +- packages/eslint-plugin/CHANGELOG.md | 2 ++ packages/eslint-plugin/package.json | 2 +- packages/fields/CHANGELOG.md | 2 ++ packages/fields/package.json | 2 +- packages/format-library/CHANGELOG.md | 2 ++ packages/format-library/package.json | 2 +- packages/hooks/CHANGELOG.md | 2 ++ packages/hooks/package.json | 2 +- packages/html-entities/CHANGELOG.md | 2 ++ packages/html-entities/package.json | 2 +- packages/i18n/CHANGELOG.md | 2 ++ packages/i18n/package.json | 2 +- packages/icons/CHANGELOG.md | 2 ++ packages/icons/package.json | 2 +- packages/interactivity-router/CHANGELOG.md | 2 ++ packages/interactivity-router/package.json | 2 +- packages/interactivity/CHANGELOG.md | 2 ++ packages/interactivity/package.json | 2 +- packages/interface/CHANGELOG.md | 2 ++ packages/interface/package.json | 2 +- packages/is-shallow-equal/CHANGELOG.md | 2 ++ packages/is-shallow-equal/package.json | 2 +- packages/jest-console/CHANGELOG.md | 2 ++ packages/jest-console/package.json | 2 +- packages/jest-preset-default/CHANGELOG.md | 2 ++ packages/jest-preset-default/package.json | 2 +- packages/jest-puppeteer-axe/CHANGELOG.md | 2 ++ packages/jest-puppeteer-axe/package.json | 2 +- packages/keyboard-shortcuts/CHANGELOG.md | 2 ++ packages/keyboard-shortcuts/package.json | 2 +- packages/keycodes/CHANGELOG.md | 2 ++ packages/keycodes/package.json | 2 +- packages/lazy-import/CHANGELOG.md | 2 ++ packages/lazy-import/package.json | 2 +- packages/list-reusable-blocks/CHANGELOG.md | 2 ++ packages/list-reusable-blocks/package.json | 2 +- packages/media-utils/CHANGELOG.md | 2 ++ packages/media-utils/package.json | 2 +- packages/notices/CHANGELOG.md | 2 ++ packages/notices/package.json | 2 +- packages/npm-package-json-lint-config/CHANGELOG.md | 2 ++ packages/npm-package-json-lint-config/package.json | 2 +- packages/nux/CHANGELOG.md | 2 ++ packages/nux/package.json | 2 +- packages/patterns/CHANGELOG.md | 2 ++ packages/patterns/package.json | 2 +- packages/plugins/CHANGELOG.md | 2 ++ packages/plugins/package.json | 2 +- packages/postcss-plugins-preset/CHANGELOG.md | 2 ++ packages/postcss-plugins-preset/package.json | 2 +- packages/postcss-themes/CHANGELOG.md | 2 ++ packages/postcss-themes/package.json | 2 +- packages/preferences-persistence/CHANGELOG.md | 2 ++ packages/preferences-persistence/package.json | 2 +- packages/preferences/CHANGELOG.md | 2 ++ packages/preferences/package.json | 2 +- packages/prettier-config/CHANGELOG.md | 2 ++ packages/prettier-config/package.json | 2 +- packages/primitives/CHANGELOG.md | 2 ++ packages/primitives/package.json | 2 +- packages/priority-queue/CHANGELOG.md | 2 ++ packages/priority-queue/package.json | 2 +- packages/private-apis/CHANGELOG.md | 2 ++ packages/private-apis/package.json | 2 +- packages/project-management-automation/CHANGELOG.md | 2 ++ packages/project-management-automation/package.json | 2 +- packages/react-i18n/CHANGELOG.md | 2 ++ packages/react-i18n/package.json | 2 +- packages/readable-js-assets-webpack-plugin/CHANGELOG.md | 2 ++ packages/readable-js-assets-webpack-plugin/package.json | 2 +- packages/redux-routine/CHANGELOG.md | 2 ++ packages/redux-routine/package.json | 2 +- packages/reusable-blocks/CHANGELOG.md | 2 ++ packages/reusable-blocks/package.json | 2 +- packages/rich-text/CHANGELOG.md | 2 ++ packages/rich-text/package.json | 2 +- packages/router/CHANGELOG.md | 2 ++ packages/router/package.json | 2 +- packages/scripts/CHANGELOG.md | 2 ++ packages/scripts/package.json | 2 +- packages/server-side-render/CHANGELOG.md | 2 ++ packages/server-side-render/package.json | 2 +- packages/shortcode/CHANGELOG.md | 2 ++ packages/shortcode/package.json | 2 +- packages/style-engine/CHANGELOG.md | 2 ++ packages/style-engine/package.json | 2 +- packages/stylelint-config/CHANGELOG.md | 2 ++ packages/stylelint-config/package.json | 2 +- packages/sync/CHANGELOG.md | 2 ++ packages/sync/package.json | 2 +- packages/token-list/CHANGELOG.md | 2 ++ packages/token-list/package.json | 2 +- packages/undo-manager/CHANGELOG.md | 2 ++ packages/undo-manager/package.json | 2 +- packages/upload-media/CHANGELOG.md | 2 ++ packages/upload-media/package.json | 2 +- packages/url/CHANGELOG.md | 2 ++ packages/url/package.json | 2 +- packages/viewport/CHANGELOG.md | 2 ++ packages/viewport/package.json | 2 +- packages/warning/CHANGELOG.md | 2 ++ packages/warning/package.json | 2 +- packages/widgets/CHANGELOG.md | 2 ++ packages/widgets/package.json | 2 +- packages/wordcount/CHANGELOG.md | 2 ++ packages/wordcount/package.json | 2 +- 193 files changed, 289 insertions(+), 97 deletions(-) diff --git a/packages/a11y/CHANGELOG.md b/packages/a11y/CHANGELOG.md index 036d332c5a0b0e..1d1cd67af3f9b1 100644 --- a/packages/a11y/CHANGELOG.md +++ b/packages/a11y/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/a11y/package.json b/packages/a11y/package.json index 8bc6e23a461263..79cf68bfe83c41 100644 --- a/packages/a11y/package.json +++ b/packages/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/a11y", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Accessibility (a11y) utilities for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/annotations/CHANGELOG.md b/packages/annotations/CHANGELOG.md index 6b3bc3564d58d6..fdcd5be5577ae5 100644 --- a/packages/annotations/CHANGELOG.md +++ b/packages/annotations/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.17.0 (2025-01-29) + ## 3.16.0 (2025-01-15) ## 3.15.0 (2025-01-02) diff --git a/packages/annotations/package.json b/packages/annotations/package.json index a426bfa3d6ef7a..e0b4c44f187c0a 100644 --- a/packages/annotations/package.json +++ b/packages/annotations/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/annotations", - "version": "3.16.0", + "version": "3.17.0-prerelease", "description": "Annotate content in the Gutenberg editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/api-fetch/CHANGELOG.md b/packages/api-fetch/CHANGELOG.md index 47cfb75849ce99..9e53a807885700 100644 --- a/packages/api-fetch/CHANGELOG.md +++ b/packages/api-fetch/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.17.0 (2025-01-29) + ## 7.16.0 (2025-01-15) ## 7.15.0 (2025-01-02) diff --git a/packages/api-fetch/package.json b/packages/api-fetch/package.json index 44e5968e0b1b49..3c047fc5accd26 100644 --- a/packages/api-fetch/package.json +++ b/packages/api-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/api-fetch", - "version": "7.16.0", + "version": "7.17.0-prerelease", "description": "Utility to make WordPress REST API requests.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/autop/CHANGELOG.md b/packages/autop/CHANGELOG.md index 9b73fe7ecaaead..edba622956be3e 100644 --- a/packages/autop/CHANGELOG.md +++ b/packages/autop/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/autop/package.json b/packages/autop/package.json index b334be020f6f97..edccf79b109e0d 100644 --- a/packages/autop/package.json +++ b/packages/autop/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/autop", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "WordPress's automatic paragraph functions `autop` and `removep`.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md b/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md index 1c4e5fa416687a..d74cc123def452 100644 --- a/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md +++ b/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json index f27d527c84c697..628d4f77ceca4f 100644 --- a/packages/babel-plugin-import-jsx-pragma/package.json +++ b/packages/babel-plugin-import-jsx-pragma/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/babel-plugin-import-jsx-pragma", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Babel transform plugin for automatically injecting an import to be used as the pragma for the React JSX Transform plugin.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/babel-plugin-makepot/CHANGELOG.md b/packages/babel-plugin-makepot/CHANGELOG.md index 73b357e78768dd..b3a1bafe646f6e 100644 --- a/packages/babel-plugin-makepot/CHANGELOG.md +++ b/packages/babel-plugin-makepot/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/babel-plugin-makepot/package.json b/packages/babel-plugin-makepot/package.json index 56dc01c4fa9ac6..be5e93f48c89ee 100644 --- a/packages/babel-plugin-makepot/package.json +++ b/packages/babel-plugin-makepot/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/babel-plugin-makepot", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "WordPress Babel internationalization (i18n) plugin.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/babel-preset-default/CHANGELOG.md b/packages/babel-preset-default/CHANGELOG.md index 08633f5903d957..aa827876828c52 100644 --- a/packages/babel-preset-default/CHANGELOG.md +++ b/packages/babel-preset-default/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.17.0 (2025-01-29) + ## 8.16.0 (2025-01-15) ## 8.15.0 (2025-01-02) diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json index db0aad976eea5a..7fc8465aad6535 100644 --- a/packages/babel-preset-default/package.json +++ b/packages/babel-preset-default/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/babel-preset-default", - "version": "8.16.0", + "version": "8.17.0-prerelease", "description": "Default Babel preset for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/base-styles/CHANGELOG.md b/packages/base-styles/CHANGELOG.md index 51a6d9500efe90..e4aceae936710d 100644 --- a/packages/base-styles/CHANGELOG.md +++ b/packages/base-styles/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/base-styles/package.json b/packages/base-styles/package.json index 2ff26eb2f475d2..15507ff45a5a86 100644 --- a/packages/base-styles/package.json +++ b/packages/base-styles/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/base-styles", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Base SCSS utilities and variables for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/blob/CHANGELOG.md b/packages/blob/CHANGELOG.md index 126b56cd813503..be1d924dd45760 100644 --- a/packages/blob/CHANGELOG.md +++ b/packages/blob/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/blob/package.json b/packages/blob/package.json index d2dd0c206892f7..1be15f9ff54e25 100644 --- a/packages/blob/package.json +++ b/packages/blob/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blob", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Blob utilities for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-directory/CHANGELOG.md b/packages/block-directory/CHANGELOG.md index 80b139c9a966d0..0ac19bd45c8647 100644 --- a/packages/block-directory/CHANGELOG.md +++ b/packages/block-directory/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json index e1f4cc0cefa988..042b6717457da7 100644 --- a/packages/block-directory/package.json +++ b/packages/block-directory/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-directory", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Extend editor with block directory features to search, download and install blocks.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-editor/CHANGELOG.md b/packages/block-editor/CHANGELOG.md index 96ecfe5d0e629c..18bb4d23d0a7ab 100644 --- a/packages/block-editor/CHANGELOG.md +++ b/packages/block-editor/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 14.12.0 (2025-01-29) + ## 14.11.0 (2025-01-15) ## 14.10.0 (2025-01-02) diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json index 0a5691666dc72d..020e6694aeb3e1 100644 --- a/packages/block-editor/package.json +++ b/packages/block-editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-editor", - "version": "14.11.0", + "version": "14.12.0-prerelease", "description": "Generic block editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-library/CHANGELOG.md b/packages/block-library/CHANGELOG.md index c819c35987ef91..0a0f9ca66f0545 100644 --- a/packages/block-library/CHANGELOG.md +++ b/packages/block-library/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 9.17.0 (2025-01-29) + ## 9.16.0 (2025-01-15) ## 9.15.0 (2025-01-02) diff --git a/packages/block-library/package.json b/packages/block-library/package.json index d189a95ba2e474..bb2c52fb507a5a 100644 --- a/packages/block-library/package.json +++ b/packages/block-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-library", - "version": "9.16.0", + "version": "9.17.0-prerelease", "description": "Block library for the WordPress editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-serialization-default-parser/CHANGELOG.md b/packages/block-serialization-default-parser/CHANGELOG.md index e35805be07d06c..650eee5b822ba9 100644 --- a/packages/block-serialization-default-parser/CHANGELOG.md +++ b/packages/block-serialization-default-parser/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/block-serialization-default-parser/package.json b/packages/block-serialization-default-parser/package.json index 4fc3bff8afb64c..8cabdcf3f0b20a 100644 --- a/packages/block-serialization-default-parser/package.json +++ b/packages/block-serialization-default-parser/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-serialization-default-parser", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Block serialization specification parser for WordPress posts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-serialization-spec-parser/CHANGELOG.md b/packages/block-serialization-spec-parser/CHANGELOG.md index 285ee69d78310a..8757648ae3549e 100644 --- a/packages/block-serialization-spec-parser/CHANGELOG.md +++ b/packages/block-serialization-spec-parser/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json index e9ac344ff34a10..2aa3b73afa2076 100644 --- a/packages/block-serialization-spec-parser/package.json +++ b/packages/block-serialization-spec-parser/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-serialization-spec-parser", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Block serialization specification parser for WordPress posts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/blocks/CHANGELOG.md b/packages/blocks/CHANGELOG.md index bf63c0089bb8e5..4cf4167097034a 100644 --- a/packages/blocks/CHANGELOG.md +++ b/packages/blocks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 14.6.0 (2025-01-29) + ## 14.5.0 (2025-01-15) ## 14.4.0 (2025-01-02) diff --git a/packages/blocks/package.json b/packages/blocks/package.json index 5940cfbeb46647..8a023430253e79 100644 --- a/packages/blocks/package.json +++ b/packages/blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blocks", - "version": "14.5.0", + "version": "14.6.0-prerelease", "description": "Block API for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/browserslist-config/CHANGELOG.md b/packages/browserslist-config/CHANGELOG.md index 82159a48650348..122123b9596786 100644 --- a/packages/browserslist-config/CHANGELOG.md +++ b/packages/browserslist-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json index dc16330ceb4e70..897213843d92eb 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/browserslist-config", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "WordPress Browserslist shared configuration.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/commands/CHANGELOG.md b/packages/commands/CHANGELOG.md index b0d765c04c3064..cd8b74233cfeba 100644 --- a/packages/commands/CHANGELOG.md +++ b/packages/commands/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.17.0 (2025-01-29) + ## 1.16.0 (2025-01-15) ## 1.15.0 (2025-01-02) diff --git a/packages/commands/package.json b/packages/commands/package.json index ce9df5b78d7dd8..f74c1bdaa90fac 100644 --- a/packages/commands/package.json +++ b/packages/commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/commands", - "version": "1.16.0", + "version": "1.17.0-prerelease", "description": "Handles the commands menu.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index bf775a152747d0..c487b0a17a288d 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 29.3.0 (2025-01-29) + ### Enhancements - `BorderBoxControl`, `BoxControl`: Remove `Tooltip` component from linked button ([#68498](https://github.com/WordPress/gutenberg/pull/68498)). diff --git a/packages/components/package.json b/packages/components/package.json index 08707526f52118..65a4dd18623818 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/components", - "version": "29.2.0", + "version": "29.3.0-prerelease", "description": "UI components for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index 9b6d54aac474c7..99fcb659f8b0ec 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.17.0 (2025-01-29) + ## 7.16.0 (2025-01-15) ## 7.15.0 (2025-01-02) diff --git a/packages/compose/package.json b/packages/compose/package.json index 77851f50a5823f..f2fc44e8770470 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/compose", - "version": "7.16.0", + "version": "7.17.0-prerelease", "description": "WordPress higher-order components (HOCs).", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/core-commands/CHANGELOG.md b/packages/core-commands/CHANGELOG.md index c93d3b2647d520..6fc42e7161dbc6 100644 --- a/packages/core-commands/CHANGELOG.md +++ b/packages/core-commands/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.17.0 (2025-01-29) + ## 1.16.0 (2025-01-15) ## 1.15.0 (2025-01-02) diff --git a/packages/core-commands/package.json b/packages/core-commands/package.json index bb215e46c85932..1be9c98b74ea87 100644 --- a/packages/core-commands/package.json +++ b/packages/core-commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-commands", - "version": "1.16.0", + "version": "1.17.0-prerelease", "description": "WordPress core reusable commands.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/core-data/CHANGELOG.md b/packages/core-data/CHANGELOG.md index 235d3644c46dc7..a19879790fc708 100644 --- a/packages/core-data/CHANGELOG.md +++ b/packages/core-data/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.17.0 (2025-01-29) + ## 7.16.0 (2025-01-15) ## 7.15.0 (2025-01-02) diff --git a/packages/core-data/package.json b/packages/core-data/package.json index c3d25fc183cdf5..f082938bc9ba75 100644 --- a/packages/core-data/package.json +++ b/packages/core-data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-data", - "version": "7.16.0", + "version": "7.17.0-prerelease", "description": "Access to and manipulation of core WordPress entities.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/create-block-interactive-template/package.json b/packages/create-block-interactive-template/package.json index 62a306de6e7d93..220572e3ba1d94 100644 --- a/packages/create-block-interactive-template/package.json +++ b/packages/create-block-interactive-template/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block-interactive-template", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "Template for @wordpress/create-block to create interactive blocks with the Interactivity API.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/create-block-tutorial-template/CHANGELOG.md b/packages/create-block-tutorial-template/CHANGELOG.md index f985fb3cbaea82..42d82d1a2d289f 100644 --- a/packages/create-block-tutorial-template/CHANGELOG.md +++ b/packages/create-block-tutorial-template/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/create-block-tutorial-template/package.json b/packages/create-block-tutorial-template/package.json index 0b02cb36f9c4de..2c4f99f6994e43 100644 --- a/packages/create-block-tutorial-template/package.json +++ b/packages/create-block-tutorial-template/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block-tutorial-template", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "This is a template for @wordpress/create-block that creates an example 'Copyright Date' block. This block is used in the official WordPress block development Quick Start Guide.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/create-block/CHANGELOG.md b/packages/create-block/CHANGELOG.md index dd0fb85b2f0d90..9d9a3e3bce59ef 100644 --- a/packages/create-block/CHANGELOG.md +++ b/packages/create-block/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.60.0 (2025-01-29) + ## 4.59.0 (2025-01-15) ## 4.58.0 (2025-01-02) diff --git a/packages/create-block/package.json b/packages/create-block/package.json index 10a1a0b8829375..fe9c3781d2b0fb 100644 --- a/packages/create-block/package.json +++ b/packages/create-block/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block", - "version": "4.59.0", + "version": "4.60.0-prerelease", "description": "Generates PHP, JS and CSS code for registering a block for a WordPress plugin.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/customize-widgets/CHANGELOG.md b/packages/customize-widgets/CHANGELOG.md index 38a9ff31781dc9..afded4c24a04f0 100644 --- a/packages/customize-widgets/CHANGELOG.md +++ b/packages/customize-widgets/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json index f0659343560734..801ceade3e5f24 100644 --- a/packages/customize-widgets/package.json +++ b/packages/customize-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/customize-widgets", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Widgets blocks in Customizer Module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/data-controls/CHANGELOG.md b/packages/data-controls/CHANGELOG.md index 96e2448a911ced..331beda591a484 100644 --- a/packages/data-controls/CHANGELOG.md +++ b/packages/data-controls/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/data-controls/package.json b/packages/data-controls/package.json index 5f025c5c889b57..efa9df1d9ebae9 100644 --- a/packages/data-controls/package.json +++ b/packages/data-controls/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data-controls", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "A set of common controls for the @wordpress/data api.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/data/CHANGELOG.md b/packages/data/CHANGELOG.md index 6a2de21f115504..2442244b677deb 100644 --- a/packages/data/CHANGELOG.md +++ b/packages/data/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 10.17.0 (2025-01-29) + ## 10.16.0 (2025-01-15) ## 10.15.0 (2025-01-02) diff --git a/packages/data/package.json b/packages/data/package.json index 33ac259a931c81..ee575b512a35e9 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data", - "version": "10.16.0", + "version": "10.17.0-prerelease", "description": "Data module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dataviews/CHANGELOG.md b/packages/dataviews/CHANGELOG.md index 4342621cc74050..8c644d78a91634 100644 --- a/packages/dataviews/CHANGELOG.md +++ b/packages/dataviews/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.13.0 (2025-01-29) + ## 4.12.0 (2025-01-15) ## 4.11.0 (2025-01-02) diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json index a0bb5cbf28a3ee..e54124fd678315 100644 --- a/packages/dataviews/package.json +++ b/packages/dataviews/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dataviews", - "version": "4.12.0", + "version": "4.13.0-prerelease", "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md index 810fbd5aacda66..4790ab7220debb 100644 --- a/packages/date/CHANGELOG.md +++ b/packages/date/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/date/package.json b/packages/date/package.json index d1c0a441452223..7d37530af061b6 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/date", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Date module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md index 56952827917e2b..1003bccd93d848 100644 --- a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md +++ b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json index ae7cbfe9eb8690..c84ce447536dc5 100644 --- a/packages/dependency-extraction-webpack-plugin/package.json +++ b/packages/dependency-extraction-webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dependency-extraction-webpack-plugin", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "Extract WordPress script dependencies from webpack bundles.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/deprecated/CHANGELOG.md b/packages/deprecated/CHANGELOG.md index bb2b26071230e5..e685d814f4c0cf 100644 --- a/packages/deprecated/CHANGELOG.md +++ b/packages/deprecated/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json index e7dbada8db22be..18fa0ccf35f5ca 100644 --- a/packages/deprecated/package.json +++ b/packages/deprecated/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/deprecated", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Deprecation utility for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/docgen/CHANGELOG.md b/packages/docgen/CHANGELOG.md index f3a514d0a10f73..5279b376fe1c54 100644 --- a/packages/docgen/CHANGELOG.md +++ b/packages/docgen/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.17.0 (2025-01-29) + ## 2.16.0 (2025-01-15) ## 2.15.0 (2025-01-02) diff --git a/packages/docgen/package.json b/packages/docgen/package.json index 2f02999eaf595f..da4470c508b959 100644 --- a/packages/docgen/package.json +++ b/packages/docgen/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/docgen", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "Autogenerate public API documentation from exports and JSDoc comments.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dom-ready/CHANGELOG.md b/packages/dom-ready/CHANGELOG.md index 33ae1124f64618..90e953a9416b73 100644 --- a/packages/dom-ready/CHANGELOG.md +++ b/packages/dom-ready/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json index 94663fa6893313..73544804aeb77a 100644 --- a/packages/dom-ready/package.json +++ b/packages/dom-ready/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom-ready", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Execute callback after the DOM is loaded.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dom/CHANGELOG.md b/packages/dom/CHANGELOG.md index cf9fffd2c60774..83931d4c6e9af0 100644 --- a/packages/dom/CHANGELOG.md +++ b/packages/dom/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/dom/package.json b/packages/dom/package.json index 0d4aacee384894..e24045f5282f4b 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "DOM utilities module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/e2e-test-utils-playwright/CHANGELOG.md b/packages/e2e-test-utils-playwright/CHANGELOG.md index 3d2a0f8ce10658..4df25e7f9c9e4a 100644 --- a/packages/e2e-test-utils-playwright/CHANGELOG.md +++ b/packages/e2e-test-utils-playwright/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.17.0 (2025-01-29) + ## 1.16.0 (2025-01-15) ## 1.15.0 (2025-01-02) diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json index ace65501cbd5d3..4ea8c6e7173257 100644 --- a/packages/e2e-test-utils-playwright/package.json +++ b/packages/e2e-test-utils-playwright/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-test-utils-playwright", - "version": "1.16.0", + "version": "1.17.0-prerelease", "description": "End-To-End (E2E) test utils for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/e2e-test-utils/CHANGELOG.md b/packages/e2e-test-utils/CHANGELOG.md index 00ccbb6fdc6ac4..2b615ef3784d0e 100644 --- a/packages/e2e-test-utils/CHANGELOG.md +++ b/packages/e2e-test-utils/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 11.17.0 (2025-01-29) + ## 11.16.0 (2025-01-15) ## 11.15.0 (2025-01-02) diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json index c58be2844ba696..4919b9b3a551d9 100644 --- a/packages/e2e-test-utils/package.json +++ b/packages/e2e-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-test-utils", - "version": "11.16.0", + "version": "11.17.0-prerelease", "description": "End-To-End (E2E) test utils for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/e2e-tests/CHANGELOG.md b/packages/e2e-tests/CHANGELOG.md index ee16b4bfc26547..fdcedc5da91c38 100644 --- a/packages/e2e-tests/CHANGELOG.md +++ b/packages/e2e-tests/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.17.0 (2025-01-29) + ## 8.16.0 (2025-01-15) ## 8.15.0 (2025-01-02) diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json index bc7219713cee9c..7c331743554590 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-tests", - "version": "8.16.0", + "version": "8.17.0-prerelease", "description": "End-To-End (E2E) tests for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-post/CHANGELOG.md b/packages/edit-post/CHANGELOG.md index 4c5e4868fc7b10..234a05ca71566e 100644 --- a/packages/edit-post/CHANGELOG.md +++ b/packages/edit-post/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.17.0 (2025-01-29) + ## 8.16.0 (2025-01-15) ## 8.15.0 (2025-01-02) diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json index 84f216fa60c050..e8c936b3893adf 100644 --- a/packages/edit-post/package.json +++ b/packages/edit-post/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-post", - "version": "8.16.0", + "version": "8.17.0-prerelease", "description": "Edit Post module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-site/CHANGELOG.md b/packages/edit-site/CHANGELOG.md index 98144061eb9031..0d50909a8d8b74 100644 --- a/packages/edit-site/CHANGELOG.md +++ b/packages/edit-site/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json index e0d306d2506cf9..06a6992bf5a965 100644 --- a/packages/edit-site/package.json +++ b/packages/edit-site/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-site", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "Edit Site Page module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-widgets/CHANGELOG.md b/packages/edit-widgets/CHANGELOG.md index bde44856bf4f23..b7b4bfa52be628 100644 --- a/packages/edit-widgets/CHANGELOG.md +++ b/packages/edit-widgets/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json index e06e1cf74aeb8b..86ffc90fc18761 100644 --- a/packages/edit-widgets/package.json +++ b/packages/edit-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-widgets", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "Widgets Page module for WordPress..", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/editor/CHANGELOG.md b/packages/editor/CHANGELOG.md index ecad566fe77a57..35590b79c75c39 100644 --- a/packages/editor/CHANGELOG.md +++ b/packages/editor/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 14.17.0 (2025-01-29) + ## 14.16.0 (2025-01-15) ## 14.15.0 (2025-01-02) diff --git a/packages/editor/package.json b/packages/editor/package.json index d5a60f70eef5ab..dab28ee314685f 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/editor", - "version": "14.16.0", + "version": "14.17.0-prerelease", "description": "Enhanced block editor for WordPress posts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/element/CHANGELOG.md b/packages/element/CHANGELOG.md index 5283a083658a59..5300441670dbfe 100644 --- a/packages/element/CHANGELOG.md +++ b/packages/element/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/element/package.json b/packages/element/package.json index 11473adcef65d8..4a9a1791e8fcbb 100644 --- a/packages/element/package.json +++ b/packages/element/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/element", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "Element React module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/env/CHANGELOG.md b/packages/env/CHANGELOG.md index 396e0167f1e921..03be7a7bbc56c7 100644 --- a/packages/env/CHANGELOG.md +++ b/packages/env/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 10.17.0 (2025-01-29) + ### Enhancements - Add a `WP_ENV_MULTISITE` environment variable to override the `multisite` option ([#68792](https://github.com/WordPress/gutenberg/pull/68792)). diff --git a/packages/env/package.json b/packages/env/package.json index f06e0c00e160c9..be967a24f047df 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/env", - "version": "10.16.0", + "version": "10.17.0-prerelease", "description": "A zero-config, self contained local WordPress environment for development and testing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/escape-html/CHANGELOG.md b/packages/escape-html/CHANGELOG.md index a6c0b0973dd15a..3ec127fd9d5da7 100644 --- a/packages/escape-html/CHANGELOG.md +++ b/packages/escape-html/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.17.0 (2025-01-29) + ## 3.16.0 (2025-01-15) ## 3.15.0 (2025-01-02) diff --git a/packages/escape-html/package.json b/packages/escape-html/package.json index d292d6ee6f90b4..f8fa40735a8c28 100644 --- a/packages/escape-html/package.json +++ b/packages/escape-html/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/escape-html", - "version": "3.16.0", + "version": "3.17.0-prerelease", "description": "Escape HTML utils.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md index 12e43687c324b3..60630bae0e01f9 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 22.3.0 (2025-01-29) + ## 22.2.0 (2025-01-15) ## 22.1.0 (2025-01-02) diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index dd28f372ad7dc6..2e76ace3dd0e8a 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/eslint-plugin", - "version": "22.2.0", + "version": "22.3.0-prerelease", "description": "ESLint plugin for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/fields/CHANGELOG.md b/packages/fields/CHANGELOG.md index 4b6515d00ea62a..8123d0f3caf11f 100644 --- a/packages/fields/CHANGELOG.md +++ b/packages/fields/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 0.9.0 (2025-01-29) + ## 0.8.0 (2025-01-15) ## 0.7.0 (2025-01-02) diff --git a/packages/fields/package.json b/packages/fields/package.json index 70e7d4c4edc663..8260505969697d 100644 --- a/packages/fields/package.json +++ b/packages/fields/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/fields", - "version": "0.8.0", + "version": "0.9.0-prerelease", "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/format-library/CHANGELOG.md b/packages/format-library/CHANGELOG.md index 87790c5a971cec..222be010c4f1d5 100644 --- a/packages/format-library/CHANGELOG.md +++ b/packages/format-library/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/format-library/package.json b/packages/format-library/package.json index 58d84ff93522b4..dcf83edcfafb14 100644 --- a/packages/format-library/package.json +++ b/packages/format-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/format-library", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Format library for the WordPress editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/hooks/CHANGELOG.md b/packages/hooks/CHANGELOG.md index b1a1d223d76cfd..38183ebd88b8bc 100644 --- a/packages/hooks/CHANGELOG.md +++ b/packages/hooks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 3ff2bc1acfa317..bef022bc391e49 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/hooks", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "WordPress hooks library.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/html-entities/CHANGELOG.md b/packages/html-entities/CHANGELOG.md index 2c8c8b8adfe516..fd9f1e9f0f7bef 100644 --- a/packages/html-entities/CHANGELOG.md +++ b/packages/html-entities/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/html-entities/package.json b/packages/html-entities/package.json index 310c2c95caf891..cc1d3016e884ba 100644 --- a/packages/html-entities/package.json +++ b/packages/html-entities/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/html-entities", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "HTML entity utilities for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index f19f1addd8514a..cdc5a75c6f6407 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/i18n/package.json b/packages/i18n/package.json index c79faf5d754137..467bbe91a07582 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/i18n", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "WordPress internationalization (i18n) library.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md index 5e0ceaf9552e5c..c07908788420e7 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 10.17.0 (2025-01-29) + ## 10.16.0 (2025-01-15) ## 10.15.0 (2025-01-02) diff --git a/packages/icons/package.json b/packages/icons/package.json index 1452f17f600989..59232e80c95711 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/icons", - "version": "10.16.0", + "version": "10.17.0-prerelease", "description": "WordPress Icons package, based on dashicon.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/interactivity-router/CHANGELOG.md b/packages/interactivity-router/CHANGELOG.md index 6cdc75206658a0..1ce1e4c3971eb7 100644 --- a/packages/interactivity-router/CHANGELOG.md +++ b/packages/interactivity-router/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.17.0 (2025-01-29) + ## 2.16.0 (2025-01-15) ## 2.15.0 (2025-01-02) diff --git a/packages/interactivity-router/package.json b/packages/interactivity-router/package.json index ebe1a30209bd0a..d22e7ea66e05bf 100644 --- a/packages/interactivity-router/package.json +++ b/packages/interactivity-router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity-router", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "Package that exposes state and actions from the `core/router` store, part of the Interactivity API.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/interactivity/CHANGELOG.md b/packages/interactivity/CHANGELOG.md index c38870e9ba7403..ef99d6974d6eb0 100644 --- a/packages/interactivity/CHANGELOG.md +++ b/packages/interactivity/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ### Bug Fixes diff --git a/packages/interactivity/package.json b/packages/interactivity/package.json index 5e8c17b4512419..179e92686429b3 100644 --- a/packages/interactivity/package.json +++ b/packages/interactivity/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "Package that provides a standard and simple way to handle the frontend interactivity of Gutenberg blocks.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/interface/CHANGELOG.md b/packages/interface/CHANGELOG.md index c5bff62d90e52e..98c616216900b5 100644 --- a/packages/interface/CHANGELOG.md +++ b/packages/interface/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 9.2.0 (2025-01-29) + ## 9.1.0 (2025-01-15) ## 9.0.0 (2025-01-02) diff --git a/packages/interface/package.json b/packages/interface/package.json index 8e4e9485afc145..0095bf4f942d89 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interface", - "version": "9.1.0", + "version": "9.2.0-prerelease", "description": "Interface module for WordPress. The package contains shared functionality across the modern JavaScript-based WordPress screens.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/is-shallow-equal/CHANGELOG.md b/packages/is-shallow-equal/CHANGELOG.md index 93829c3f9798ad..d36971b392045a 100644 --- a/packages/is-shallow-equal/CHANGELOG.md +++ b/packages/is-shallow-equal/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json index fe686f46745617..2e9fc79f1cac04 100644 --- a/packages/is-shallow-equal/package.json +++ b/packages/is-shallow-equal/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/is-shallow-equal", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Test for shallow equality between two objects or arrays.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/jest-console/CHANGELOG.md b/packages/jest-console/CHANGELOG.md index 941ba14bbed442..cb017e3a3bc67c 100644 --- a/packages/jest-console/CHANGELOG.md +++ b/packages/jest-console/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.17.0 (2025-01-29) + ## 8.16.0 (2025-01-15) ## 8.15.0 (2025-01-02) diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json index aecf0cb90c04db..95457412c219e8 100644 --- a/packages/jest-console/package.json +++ b/packages/jest-console/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-console", - "version": "8.16.0", + "version": "8.17.0-prerelease", "description": "Custom Jest matchers for the Console object.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/jest-preset-default/CHANGELOG.md b/packages/jest-preset-default/CHANGELOG.md index cdf892122d9dbe..dd03a156c395af 100644 --- a/packages/jest-preset-default/CHANGELOG.md +++ b/packages/jest-preset-default/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 12.17.0 (2025-01-29) + ## 12.16.0 (2025-01-15) ## 12.15.0 (2025-01-02) diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json index 477dea75cdafd5..44e08948bbd72c 100644 --- a/packages/jest-preset-default/package.json +++ b/packages/jest-preset-default/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-preset-default", - "version": "12.16.0", + "version": "12.17.0-prerelease", "description": "Default Jest preset for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/jest-puppeteer-axe/CHANGELOG.md b/packages/jest-puppeteer-axe/CHANGELOG.md index 9ed1991d1fffdd..31c317a2040584 100644 --- a/packages/jest-puppeteer-axe/CHANGELOG.md +++ b/packages/jest-puppeteer-axe/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.17.0 (2025-01-29) + ## 7.16.0 (2025-01-15) ## 7.15.0 (2025-01-02) diff --git a/packages/jest-puppeteer-axe/package.json b/packages/jest-puppeteer-axe/package.json index db165c661246e5..dc7d05b3f7ccca 100644 --- a/packages/jest-puppeteer-axe/package.json +++ b/packages/jest-puppeteer-axe/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-puppeteer-axe", - "version": "7.16.0", + "version": "7.17.0-prerelease", "description": "Axe API integration with Jest and Puppeteer.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/keyboard-shortcuts/CHANGELOG.md b/packages/keyboard-shortcuts/CHANGELOG.md index 01418579c072c0..2833f565d36aa3 100644 --- a/packages/keyboard-shortcuts/CHANGELOG.md +++ b/packages/keyboard-shortcuts/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json index 0af22fc709e56f..9ec5df3386defd 100644 --- a/packages/keyboard-shortcuts/package.json +++ b/packages/keyboard-shortcuts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keyboard-shortcuts", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Handling keyboard shortcuts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/keycodes/CHANGELOG.md b/packages/keycodes/CHANGELOG.md index 5f742f523c2f88..dd213737113343 100644 --- a/packages/keycodes/CHANGELOG.md +++ b/packages/keycodes/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/keycodes/package.json b/packages/keycodes/package.json index ba9374d19b33d6..6bac7673c76e82 100644 --- a/packages/keycodes/package.json +++ b/packages/keycodes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keycodes", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Keycodes utilities for WordPress. Used to check for keyboard events across browsers/operating systems.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/lazy-import/CHANGELOG.md b/packages/lazy-import/CHANGELOG.md index 42e06ea6547bb0..2411e89c9cfcf4 100644 --- a/packages/lazy-import/CHANGELOG.md +++ b/packages/lazy-import/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.17.0 (2025-01-29) + ## 2.16.0 (2025-01-15) ## 2.15.0 (2025-01-02) diff --git a/packages/lazy-import/package.json b/packages/lazy-import/package.json index 2de26b9f095139..7806aaca166fd1 100644 --- a/packages/lazy-import/package.json +++ b/packages/lazy-import/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/lazy-import", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "Lazily import a module, installing it automatically if missing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/list-reusable-blocks/CHANGELOG.md b/packages/list-reusable-blocks/CHANGELOG.md index 66c738b571f53c..5a4bd4f9f29e4b 100644 --- a/packages/list-reusable-blocks/CHANGELOG.md +++ b/packages/list-reusable-blocks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/list-reusable-blocks/package.json b/packages/list-reusable-blocks/package.json index 1390430dd40aaf..2d5008e21a8f4b 100644 --- a/packages/list-reusable-blocks/package.json +++ b/packages/list-reusable-blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/list-reusable-blocks", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Adding Export/Import support to the reusable blocks listing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/media-utils/CHANGELOG.md b/packages/media-utils/CHANGELOG.md index e46cad7f4a2f94..b7d27a0681c4b9 100644 --- a/packages/media-utils/CHANGELOG.md +++ b/packages/media-utils/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/media-utils/package.json b/packages/media-utils/package.json index ff5091bb0c6828..665b7734cba49c 100644 --- a/packages/media-utils/package.json +++ b/packages/media-utils/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/media-utils", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "WordPress Media Upload Utils.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/notices/CHANGELOG.md b/packages/notices/CHANGELOG.md index 4a7d7d0b75fc1e..d38828c40a4ff2 100644 --- a/packages/notices/CHANGELOG.md +++ b/packages/notices/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/notices/package.json b/packages/notices/package.json index fd8a813c3741bb..9cf3664ce7184e 100644 --- a/packages/notices/package.json +++ b/packages/notices/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/notices", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "State management for notices.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/npm-package-json-lint-config/CHANGELOG.md b/packages/npm-package-json-lint-config/CHANGELOG.md index dc66fa29d362be..620f409b37b5f2 100644 --- a/packages/npm-package-json-lint-config/CHANGELOG.md +++ b/packages/npm-package-json-lint-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json index f27c1c4326d038..cade561d28c53a 100644 --- a/packages/npm-package-json-lint-config/package.json +++ b/packages/npm-package-json-lint-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/npm-package-json-lint-config", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "WordPress npm-package-json-lint shareable configuration.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/nux/CHANGELOG.md b/packages/nux/CHANGELOG.md index 68fb077917be77..f4e5e988fef88f 100644 --- a/packages/nux/CHANGELOG.md +++ b/packages/nux/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 9.17.0 (2025-01-29) + ## 9.16.0 (2025-01-15) ## 9.15.0 (2025-01-02) diff --git a/packages/nux/package.json b/packages/nux/package.json index 139ce12c3a61fd..0fa368eff770f7 100644 --- a/packages/nux/package.json +++ b/packages/nux/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/nux", - "version": "9.16.0", + "version": "9.17.0-prerelease", "description": "NUX (New User eXperience) module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/patterns/CHANGELOG.md b/packages/patterns/CHANGELOG.md index c56c8ed041700f..8f586f1b3ae6bf 100644 --- a/packages/patterns/CHANGELOG.md +++ b/packages/patterns/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.17.0 (2025-01-29) + ## 2.16.0 (2025-01-15) ## 2.15.0 (2025-01-02) diff --git a/packages/patterns/package.json b/packages/patterns/package.json index fecf698279aed2..ff1f8d908b7366 100644 --- a/packages/patterns/package.json +++ b/packages/patterns/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/patterns", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "Management of user pattern editing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/plugins/CHANGELOG.md b/packages/plugins/CHANGELOG.md index d0e5cb5e4f2a06..de23659ea2d064 100644 --- a/packages/plugins/CHANGELOG.md +++ b/packages/plugins/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.17.0 (2025-01-29) + ## 7.16.0 (2025-01-15) ## 7.15.0 (2025-01-02) diff --git a/packages/plugins/package.json b/packages/plugins/package.json index b99718cfcc84bd..2847738daf844b 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/plugins", - "version": "7.16.0", + "version": "7.17.0-prerelease", "description": "Plugins module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/postcss-plugins-preset/CHANGELOG.md b/packages/postcss-plugins-preset/CHANGELOG.md index d7bb504db29744..904557314f5f27 100644 --- a/packages/postcss-plugins-preset/CHANGELOG.md +++ b/packages/postcss-plugins-preset/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/postcss-plugins-preset/package.json b/packages/postcss-plugins-preset/package.json index 13aea6c3a5832a..fbbd8d8abb8d24 100644 --- a/packages/postcss-plugins-preset/package.json +++ b/packages/postcss-plugins-preset/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/postcss-plugins-preset", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "PostCSS sharable plugins preset for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/postcss-themes/CHANGELOG.md b/packages/postcss-themes/CHANGELOG.md index 2279d924c67d57..a7212372d4aa34 100644 --- a/packages/postcss-themes/CHANGELOG.md +++ b/packages/postcss-themes/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json index 2086b420c6d7ea..956554d545e16c 100644 --- a/packages/postcss-themes/package.json +++ b/packages/postcss-themes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/postcss-themes", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "PostCSS plugin to generate theme colors.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/preferences-persistence/CHANGELOG.md b/packages/preferences-persistence/CHANGELOG.md index f06253add01a1d..b2606dac7e0b87 100644 --- a/packages/preferences-persistence/CHANGELOG.md +++ b/packages/preferences-persistence/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.17.0 (2025-01-29) + ## 2.16.0 (2025-01-15) ## 2.15.0 (2025-01-02) diff --git a/packages/preferences-persistence/package.json b/packages/preferences-persistence/package.json index ec41ffe8a6c1b4..5374fb6b296d9a 100644 --- a/packages/preferences-persistence/package.json +++ b/packages/preferences-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences-persistence", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "Persistence utilities for `wordpress/preferences`.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/preferences/CHANGELOG.md b/packages/preferences/CHANGELOG.md index ac60bd2299ab54..7136304f71f4d6 100644 --- a/packages/preferences/CHANGELOG.md +++ b/packages/preferences/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/preferences/package.json b/packages/preferences/package.json index c280e0810dbd94..f259d58abedfba 100644 --- a/packages/preferences/package.json +++ b/packages/preferences/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Utilities for managing WordPress preferences.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/prettier-config/CHANGELOG.md b/packages/prettier-config/CHANGELOG.md index bcc63a0c4c0f84..5bbed9a6ec2539 100644 --- a/packages/prettier-config/CHANGELOG.md +++ b/packages/prettier-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 6f434a5fe4c5eb..908b7c5359e317 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/prettier-config", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "WordPress Prettier shared configuration.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/primitives/CHANGELOG.md b/packages/primitives/CHANGELOG.md index b79a725eafeb54..ca06f8f317ab4f 100644 --- a/packages/primitives/CHANGELOG.md +++ b/packages/primitives/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/primitives/package.json b/packages/primitives/package.json index c3fd277efd5055..aed60ae749fbc9 100644 --- a/packages/primitives/package.json +++ b/packages/primitives/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/primitives", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "WordPress cross-platform primitives.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/priority-queue/CHANGELOG.md b/packages/priority-queue/CHANGELOG.md index 3cf20de9612fc4..54c266542c2a5a 100644 --- a/packages/priority-queue/CHANGELOG.md +++ b/packages/priority-queue/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.17.0 (2025-01-29) + ## 3.16.0 (2025-01-15) ## 3.15.0 (2025-01-02) diff --git a/packages/priority-queue/package.json b/packages/priority-queue/package.json index 610cc00de8c707..738f46967e39fc 100644 --- a/packages/priority-queue/package.json +++ b/packages/priority-queue/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/priority-queue", - "version": "3.16.0", + "version": "3.17.0-prerelease", "description": "Generic browser priority queue.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/private-apis/CHANGELOG.md b/packages/private-apis/CHANGELOG.md index 6dfb92821a3495..d64c9e3f07a135 100644 --- a/packages/private-apis/CHANGELOG.md +++ b/packages/private-apis/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.17.0 (2025-01-29) + ## 1.16.0 (2025-01-15) ## 1.15.0 (2025-01-02) diff --git a/packages/private-apis/package.json b/packages/private-apis/package.json index 20b0ce41e4650b..0ca121d754d532 100644 --- a/packages/private-apis/package.json +++ b/packages/private-apis/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/private-apis", - "version": "1.16.0", + "version": "1.17.0-prerelease", "description": "Internal experimental APIs for WordPress core.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/project-management-automation/CHANGELOG.md b/packages/project-management-automation/CHANGELOG.md index cb6c8a493bd7c8..48ffdc4d03138b 100644 --- a/packages/project-management-automation/CHANGELOG.md +++ b/packages/project-management-automation/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.17.0 (2025-01-29) + ## 2.16.0 (2025-01-15) ## 2.15.0 (2025-01-02) diff --git a/packages/project-management-automation/package.json b/packages/project-management-automation/package.json index de027f146c439a..4abf55ab8a1d11 100644 --- a/packages/project-management-automation/package.json +++ b/packages/project-management-automation/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/project-management-automation", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "GitHub Action that implements various automation to assist with managing the Gutenberg GitHub repository.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/react-i18n/CHANGELOG.md b/packages/react-i18n/CHANGELOG.md index aab09809845511..d5bfec54bd5f47 100644 --- a/packages/react-i18n/CHANGELOG.md +++ b/packages/react-i18n/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json index 77967e49936108..e0ebfd86ca3e1a 100644 --- a/packages/react-i18n/package.json +++ b/packages/react-i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/react-i18n", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "React bindings for @wordpress/i18n.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/readable-js-assets-webpack-plugin/CHANGELOG.md b/packages/readable-js-assets-webpack-plugin/CHANGELOG.md index b6a6f5e78d3604..cd2b86202aad27 100644 --- a/packages/readable-js-assets-webpack-plugin/CHANGELOG.md +++ b/packages/readable-js-assets-webpack-plugin/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.17.0 (2025-01-29) + ## 3.16.0 (2025-01-15) ## 3.15.0 (2025-01-02) diff --git a/packages/readable-js-assets-webpack-plugin/package.json b/packages/readable-js-assets-webpack-plugin/package.json index 0e9971881a6e87..2088d908300c5b 100644 --- a/packages/readable-js-assets-webpack-plugin/package.json +++ b/packages/readable-js-assets-webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/readable-js-assets-webpack-plugin", - "version": "3.16.0", + "version": "3.17.0-prerelease", "description": "Generate a readable JS file for each JS asset.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/redux-routine/CHANGELOG.md b/packages/redux-routine/CHANGELOG.md index 532055587007d4..a0cb80b0c0e4c7 100644 --- a/packages/redux-routine/CHANGELOG.md +++ b/packages/redux-routine/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/redux-routine/package.json b/packages/redux-routine/package.json index 4f38cad4824e4b..044be1d210a2d6 100644 --- a/packages/redux-routine/package.json +++ b/packages/redux-routine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/redux-routine", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Redux middleware for generator coroutines.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/reusable-blocks/CHANGELOG.md b/packages/reusable-blocks/CHANGELOG.md index 87307053262faa..7c61ee2f0256f5 100644 --- a/packages/reusable-blocks/CHANGELOG.md +++ b/packages/reusable-blocks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/reusable-blocks/package.json b/packages/reusable-blocks/package.json index 27e3faf524d34b..5f0150d0292132 100644 --- a/packages/reusable-blocks/package.json +++ b/packages/reusable-blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/reusable-blocks", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "Reusable blocks utilities.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/rich-text/CHANGELOG.md b/packages/rich-text/CHANGELOG.md index c3174a29a081a7..137a982adce9e8 100644 --- a/packages/rich-text/CHANGELOG.md +++ b/packages/rich-text/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.17.0 (2025-01-29) + ## 7.16.0 (2025-01-15) ## 7.15.0 (2025-01-02) diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json index 008f06b33f35d5..c3059728034210 100644 --- a/packages/rich-text/package.json +++ b/packages/rich-text/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/rich-text", - "version": "7.16.0", + "version": "7.17.0-prerelease", "description": "Rich text value and manipulation API.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index c94f6d2f77d92c..36ed9891d807e1 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.17.0 (2025-01-29) + ## 1.16.0 (2025-01-15) ## 1.15.0 (2025-01-02) diff --git a/packages/router/package.json b/packages/router/package.json index 20fa44db3fd0ab..c44e53eebe1776 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/router", - "version": "1.16.0", + "version": "1.17.0-prerelease", "description": "Router API for WordPress pages.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/scripts/CHANGELOG.md b/packages/scripts/CHANGELOG.md index 06f2e35e831903..f5ad9b8eb34361 100644 --- a/packages/scripts/CHANGELOG.md +++ b/packages/scripts/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 30.10.0 (2025-01-29) + ## 30.9.0 (2025-01-15) ## 30.8.0 (2025-01-02) diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 4d62ec66a3f7d7..8fdfbc6a952709 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/scripts", - "version": "30.9.0", + "version": "30.10.0-prerelease", "description": "Collection of reusable scripts for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/server-side-render/CHANGELOG.md b/packages/server-side-render/CHANGELOG.md index 6c02f3d295b4a0..ffb662d503db5a 100644 --- a/packages/server-side-render/CHANGELOG.md +++ b/packages/server-side-render/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.17.0 (2025-01-29) + ## 5.16.0 (2025-01-15) ## 5.15.0 (2025-01-02) diff --git a/packages/server-side-render/package.json b/packages/server-side-render/package.json index ad9db197126961..c09ec1f4f47bc9 100644 --- a/packages/server-side-render/package.json +++ b/packages/server-side-render/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/server-side-render", - "version": "5.16.0", + "version": "5.17.0-prerelease", "description": "The component used with WordPress to server-side render a preview of dynamic blocks to display in the editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/shortcode/CHANGELOG.md b/packages/shortcode/CHANGELOG.md index 7cc68c61d9fb20..bd36355f277906 100644 --- a/packages/shortcode/CHANGELOG.md +++ b/packages/shortcode/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/shortcode/package.json b/packages/shortcode/package.json index 90276719432ea8..4d0cb527ffaa15 100644 --- a/packages/shortcode/package.json +++ b/packages/shortcode/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/shortcode", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Shortcode module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/style-engine/CHANGELOG.md b/packages/style-engine/CHANGELOG.md index 69065f20ee6310..d1d0fc4c950906 100644 --- a/packages/style-engine/CHANGELOG.md +++ b/packages/style-engine/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.17.0 (2025-01-29) + ## 2.16.0 (2025-01-15) ## 2.15.0 (2025-01-02) diff --git a/packages/style-engine/package.json b/packages/style-engine/package.json index 38ac5a8b90b2ac..44b62b25781189 100644 --- a/packages/style-engine/package.json +++ b/packages/style-engine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/style-engine", - "version": "2.16.0", + "version": "2.17.0-prerelease", "description": "A suite of parsers and compilers for WordPress styles.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/stylelint-config/CHANGELOG.md b/packages/stylelint-config/CHANGELOG.md index 8af849b3496924..dc326ef3b07f79 100644 --- a/packages/stylelint-config/CHANGELOG.md +++ b/packages/stylelint-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 23.9.0 (2025-01-29) + ## 23.8.0 (2025-01-15) ## 23.7.0 (2025-01-02) diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index 8570b0b9d9b33b..b4114a15f77efd 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/stylelint-config", - "version": "23.8.0", + "version": "23.9.0-prerelease", "description": "stylelint config for WordPress development.", "author": "The WordPress Contributors", "license": "MIT", diff --git a/packages/sync/CHANGELOG.md b/packages/sync/CHANGELOG.md index 761bef22b81895..bbd1aaf688db44 100644 --- a/packages/sync/CHANGELOG.md +++ b/packages/sync/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.17.0 (2025-01-29) + ## 1.16.0 (2025-01-15) ## 1.15.0 (2025-01-02) diff --git a/packages/sync/package.json b/packages/sync/package.json index 5c42b6ed998f37..37bcdbf9ea1339 100644 --- a/packages/sync/package.json +++ b/packages/sync/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/sync", - "version": "1.16.0", + "version": "1.17.0-prerelease", "description": "Sync Data.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/token-list/CHANGELOG.md b/packages/token-list/CHANGELOG.md index 6ccb9e49021b49..0878eb5989bc56 100644 --- a/packages/token-list/CHANGELOG.md +++ b/packages/token-list/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.17.0 (2025-01-29) + ## 3.16.0 (2025-01-15) ## 3.15.0 (2025-01-02) diff --git a/packages/token-list/package.json b/packages/token-list/package.json index 1d0c8b85c1e4b4..f8e4150bfd1185 100644 --- a/packages/token-list/package.json +++ b/packages/token-list/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/token-list", - "version": "3.16.0", + "version": "3.17.0-prerelease", "description": "Constructable, plain JavaScript DOMTokenList implementation, supporting non-browser runtimes.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/undo-manager/CHANGELOG.md b/packages/undo-manager/CHANGELOG.md index 36bce4f7524d7d..da4c45158d6512 100644 --- a/packages/undo-manager/CHANGELOG.md +++ b/packages/undo-manager/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.17.0 (2025-01-29) + ## 1.16.0 (2025-01-15) ## 1.15.0 (2025-01-02) diff --git a/packages/undo-manager/package.json b/packages/undo-manager/package.json index 518e37ad2b061c..e64d7bef773125 100644 --- a/packages/undo-manager/package.json +++ b/packages/undo-manager/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/undo-manager", - "version": "1.16.0", + "version": "1.17.0-prerelease", "description": "A small package to manage undo/redo.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/upload-media/CHANGELOG.md b/packages/upload-media/CHANGELOG.md index f6f9e4317b9a26..c877455493a7ba 100644 --- a/packages/upload-media/CHANGELOG.md +++ b/packages/upload-media/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 0.2.0 (2025-01-29) + ## 0.1.0 (2025-01-15) Initial release. diff --git a/packages/upload-media/package.json b/packages/upload-media/package.json index 828ed745acdaf6..19f6235f33622f 100644 --- a/packages/upload-media/package.json +++ b/packages/upload-media/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/upload-media", - "version": "0.1.0", + "version": "0.2.0-prerelease", "description": "Core media upload logic.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/url/CHANGELOG.md b/packages/url/CHANGELOG.md index 6544673cacd109..eb97783d31cd34 100644 --- a/packages/url/CHANGELOG.md +++ b/packages/url/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/url/package.json b/packages/url/package.json index 36221de0b8e72e..6425b67b541df0 100644 --- a/packages/url/package.json +++ b/packages/url/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/url", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "WordPress URL utilities.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/viewport/CHANGELOG.md b/packages/viewport/CHANGELOG.md index 1e9831981822a3..d5426d9cac7111 100644 --- a/packages/viewport/CHANGELOG.md +++ b/packages/viewport/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.17.0 (2025-01-29) + ## 6.16.0 (2025-01-15) ## 6.15.0 (2025-01-02) diff --git a/packages/viewport/package.json b/packages/viewport/package.json index 33b7c2c290db6d..fc285b99d2fa37 100644 --- a/packages/viewport/package.json +++ b/packages/viewport/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/viewport", - "version": "6.16.0", + "version": "6.17.0-prerelease", "description": "Viewport module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/warning/CHANGELOG.md b/packages/warning/CHANGELOG.md index 5c629bc33745da..4d39133ca0e5a8 100644 --- a/packages/warning/CHANGELOG.md +++ b/packages/warning/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.17.0 (2025-01-29) + ## 3.16.0 (2025-01-15) ## 3.15.0 (2025-01-02) diff --git a/packages/warning/package.json b/packages/warning/package.json index cfc9e7127b3952..b57af8df5e507d 100644 --- a/packages/warning/package.json +++ b/packages/warning/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/warning", - "version": "3.16.0", + "version": "3.17.0-prerelease", "description": "Warning utility for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/widgets/CHANGELOG.md b/packages/widgets/CHANGELOG.md index 403d8ec209218a..cac2955edb6b11 100644 --- a/packages/widgets/CHANGELOG.md +++ b/packages/widgets/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/widgets/package.json b/packages/widgets/package.json index 3020b68c6f429d..a5e3879cb805bd 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/widgets", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "Functionality used by the widgets block editor in the Widgets screen and the Customizer.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/wordcount/CHANGELOG.md b/packages/wordcount/CHANGELOG.md index 0edbe6b8b21c10..03b7132ba4b39b 100644 --- a/packages/wordcount/CHANGELOG.md +++ b/packages/wordcount/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.17.0 (2025-01-29) + ## 4.16.0 (2025-01-15) ## 4.15.0 (2025-01-02) diff --git a/packages/wordcount/package.json b/packages/wordcount/package.json index c05f8ed9aee13b..f2ebed1b3bf477 100644 --- a/packages/wordcount/package.json +++ b/packages/wordcount/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/wordcount", - "version": "4.16.0", + "version": "4.17.0-prerelease", "description": "WordPress word count utility.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", From f15e12fdea5dcdd2da332e22e5fa6a21796dfeea Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Wed, 29 Jan 2025 15:12:55 +0000 Subject: [PATCH 046/153] chore(release): publish - @wordpress/a11y@4.17.0 - @wordpress/annotations@3.17.0 - @wordpress/api-fetch@7.17.0 - @wordpress/autop@4.17.0 - @wordpress/babel-plugin-import-jsx-pragma@5.17.0 - @wordpress/babel-plugin-makepot@6.17.0 - @wordpress/babel-preset-default@8.17.0 - @wordpress/base-styles@5.17.0 - @wordpress/blob@4.17.0 - @wordpress/block-directory@5.17.0 - @wordpress/block-editor@14.12.0 - @wordpress/block-library@9.17.0 - @wordpress/block-serialization-default-parser@5.17.0 - @wordpress/block-serialization-spec-parser@5.17.0 - @wordpress/blocks@14.6.0 - @wordpress/browserslist-config@6.17.0 - @wordpress/commands@1.17.0 - @wordpress/components@29.3.0 - @wordpress/compose@7.17.0 - @wordpress/core-commands@1.17.0 - @wordpress/core-data@7.17.0 - @wordpress/create-block@4.60.0 - @wordpress/create-block-interactive-template@2.17.0 - @wordpress/create-block-tutorial-template@4.17.0 - @wordpress/customize-widgets@5.17.0 - @wordpress/data@10.17.0 - @wordpress/data-controls@4.17.0 - @wordpress/dataviews@4.13.0 - @wordpress/date@5.17.0 - @wordpress/dependency-extraction-webpack-plugin@6.17.0 - @wordpress/deprecated@4.17.0 - @wordpress/docgen@2.17.0 - @wordpress/dom@4.17.0 - @wordpress/dom-ready@4.17.0 - @wordpress/e2e-test-utils@11.17.0 - @wordpress/e2e-test-utils-playwright@1.17.0 - @wordpress/e2e-tests@8.17.0 - @wordpress/edit-post@8.17.0 - @wordpress/edit-site@6.17.0 - @wordpress/edit-widgets@6.17.0 - @wordpress/editor@14.17.0 - @wordpress/element@6.17.0 - @wordpress/env@10.17.0 - @wordpress/escape-html@3.17.0 - @wordpress/eslint-plugin@22.3.0 - @wordpress/fields@0.9.0 - @wordpress/format-library@5.17.0 - @wordpress/hooks@4.17.0 - @wordpress/html-entities@4.17.0 - @wordpress/i18n@5.17.0 - @wordpress/icons@10.17.0 - @wordpress/interactivity@6.17.0 - @wordpress/interactivity-router@2.17.0 - @wordpress/interface@9.2.0 - @wordpress/is-shallow-equal@5.17.0 - @wordpress/jest-console@8.17.0 - @wordpress/jest-preset-default@12.17.0 - @wordpress/jest-puppeteer-axe@7.17.0 - @wordpress/keyboard-shortcuts@5.17.0 - @wordpress/keycodes@4.17.0 - @wordpress/lazy-import@2.17.0 - @wordpress/list-reusable-blocks@5.17.0 - @wordpress/media-utils@5.17.0 - @wordpress/notices@5.17.0 - @wordpress/npm-package-json-lint-config@5.17.0 - @wordpress/nux@9.17.0 - @wordpress/patterns@2.17.0 - @wordpress/plugins@7.17.0 - @wordpress/postcss-plugins-preset@5.17.0 - @wordpress/postcss-themes@6.17.0 - @wordpress/preferences@4.17.0 - @wordpress/preferences-persistence@2.17.0 - @wordpress/prettier-config@4.17.0 - @wordpress/primitives@4.17.0 - @wordpress/priority-queue@3.17.0 - @wordpress/private-apis@1.17.0 - @wordpress/project-management-automation@2.17.0 - @wordpress/react-i18n@4.17.0 - @wordpress/readable-js-assets-webpack-plugin@3.17.0 - @wordpress/redux-routine@5.17.0 - @wordpress/reusable-blocks@5.17.0 - @wordpress/rich-text@7.17.0 - @wordpress/router@1.17.0 - @wordpress/scripts@30.10.0 - @wordpress/server-side-render@5.17.0 - @wordpress/shortcode@4.17.0 - @wordpress/style-engine@2.17.0 - @wordpress/stylelint-config@23.9.0 - @wordpress/sync@1.17.0 - @wordpress/token-list@3.17.0 - @wordpress/undo-manager@1.17.0 - @wordpress/upload-media@0.2.0 - @wordpress/url@4.17.0 - @wordpress/viewport@6.17.0 - @wordpress/warning@3.17.0 - @wordpress/widgets@4.17.0 - @wordpress/wordcount@4.17.0 --- package-lock.json | 194 +++++++++--------- packages/a11y/package.json | 2 +- packages/annotations/package.json | 2 +- packages/api-fetch/package.json | 2 +- packages/autop/package.json | 2 +- .../package.json | 2 +- packages/babel-plugin-makepot/package.json | 2 +- packages/babel-preset-default/package.json | 2 +- packages/base-styles/package.json | 2 +- packages/blob/package.json | 2 +- packages/block-directory/package.json | 2 +- packages/block-editor/package.json | 2 +- packages/block-library/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/blocks/package.json | 2 +- packages/browserslist-config/package.json | 2 +- packages/commands/package.json | 2 +- packages/components/package.json | 2 +- packages/compose/package.json | 2 +- packages/core-commands/package.json | 2 +- packages/core-data/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/create-block/package.json | 2 +- packages/customize-widgets/package.json | 2 +- packages/data-controls/package.json | 2 +- packages/data/package.json | 2 +- packages/dataviews/package.json | 2 +- packages/date/package.json | 2 +- .../package.json | 2 +- packages/deprecated/package.json | 2 +- packages/docgen/package.json | 2 +- packages/dom-ready/package.json | 2 +- packages/dom/package.json | 2 +- .../e2e-test-utils-playwright/package.json | 2 +- packages/e2e-test-utils/package.json | 2 +- packages/e2e-tests/package.json | 2 +- packages/edit-post/package.json | 2 +- packages/edit-site/package.json | 2 +- packages/edit-widgets/package.json | 2 +- packages/editor/package.json | 2 +- packages/element/package.json | 2 +- packages/env/package.json | 2 +- packages/escape-html/package.json | 2 +- packages/eslint-plugin/package.json | 2 +- packages/fields/package.json | 2 +- packages/format-library/package.json | 2 +- packages/hooks/package.json | 2 +- packages/html-entities/package.json | 2 +- packages/i18n/package.json | 2 +- packages/icons/package.json | 2 +- packages/interactivity-router/package.json | 2 +- packages/interactivity/package.json | 2 +- packages/interface/package.json | 2 +- packages/is-shallow-equal/package.json | 2 +- packages/jest-console/package.json | 2 +- packages/jest-preset-default/package.json | 2 +- packages/jest-puppeteer-axe/package.json | 2 +- packages/keyboard-shortcuts/package.json | 2 +- packages/keycodes/package.json | 2 +- packages/lazy-import/package.json | 2 +- packages/list-reusable-blocks/package.json | 2 +- packages/media-utils/package.json | 2 +- packages/notices/package.json | 2 +- .../npm-package-json-lint-config/package.json | 2 +- packages/nux/package.json | 2 +- packages/patterns/package.json | 2 +- packages/plugins/package.json | 2 +- packages/postcss-plugins-preset/package.json | 2 +- packages/postcss-themes/package.json | 2 +- packages/preferences-persistence/package.json | 2 +- packages/preferences/package.json | 2 +- packages/prettier-config/package.json | 2 +- packages/primitives/package.json | 2 +- packages/priority-queue/package.json | 2 +- packages/private-apis/package.json | 2 +- .../package.json | 2 +- packages/react-i18n/package.json | 2 +- .../package.json | 2 +- packages/redux-routine/package.json | 2 +- packages/reusable-blocks/package.json | 2 +- packages/rich-text/package.json | 2 +- packages/router/package.json | 2 +- packages/scripts/package.json | 2 +- packages/server-side-render/package.json | 2 +- packages/shortcode/package.json | 2 +- packages/style-engine/package.json | 2 +- packages/stylelint-config/package.json | 2 +- packages/sync/package.json | 2 +- packages/token-list/package.json | 2 +- packages/undo-manager/package.json | 2 +- packages/upload-media/package.json | 2 +- packages/url/package.json | 2 +- packages/viewport/package.json | 2 +- packages/warning/package.json | 2 +- packages/widgets/package.json | 2 +- packages/wordcount/package.json | 2 +- 98 files changed, 194 insertions(+), 194 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b028cc4298e49..8c8ec35e2c3a99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48711,7 +48711,7 @@ }, "packages/a11y": { "name": "@wordpress/a11y", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -48725,7 +48725,7 @@ }, "packages/annotations": { "name": "@wordpress/annotations", - "version": "3.16.0", + "version": "3.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -48753,7 +48753,7 @@ }, "packages/api-fetch": { "name": "@wordpress/api-fetch", - "version": "7.16.0", + "version": "7.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -48767,7 +48767,7 @@ }, "packages/autop": { "name": "@wordpress/autop", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -48779,7 +48779,7 @@ }, "packages/babel-plugin-import-jsx-pragma": { "name": "@wordpress/babel-plugin-import-jsx-pragma", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -48791,7 +48791,7 @@ }, "packages/babel-plugin-makepot": { "name": "@wordpress/babel-plugin-makepot", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "dependencies": { "deepmerge": "^4.3.0", @@ -48808,7 +48808,7 @@ }, "packages/babel-preset-default": { "name": "@wordpress/babel-preset-default", - "version": "8.16.0", + "version": "8.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "7.25.7", @@ -49939,7 +49939,7 @@ }, "packages/base-styles": { "name": "@wordpress/base-styles", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -49948,7 +49948,7 @@ }, "packages/blob": { "name": "@wordpress/blob", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -49960,7 +49960,7 @@ }, "packages/block-directory": { "name": "@wordpress/block-directory", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -49996,7 +49996,7 @@ }, "packages/block-editor": { "name": "@wordpress/block-editor", - "version": "14.11.0", + "version": "14.12.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50097,7 +50097,7 @@ }, "packages/block-library": { "name": "@wordpress/block-library", - "version": "9.16.0", + "version": "9.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50163,7 +50163,7 @@ }, "packages/block-serialization-default-parser": { "name": "@wordpress/block-serialization-default-parser", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -50175,7 +50175,7 @@ }, "packages/block-serialization-spec-parser": { "name": "@wordpress/block-serialization-spec-parser", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "pegjs": "^0.10.0", @@ -50188,7 +50188,7 @@ }, "packages/blocks": { "name": "@wordpress/blocks", - "version": "14.5.0", + "version": "14.6.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50242,7 +50242,7 @@ }, "packages/browserslist-config": { "name": "@wordpress/browserslist-config", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -50251,7 +50251,7 @@ }, "packages/commands": { "name": "@wordpress/commands", - "version": "1.16.0", + "version": "1.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50490,7 +50490,7 @@ }, "packages/components": { "name": "@wordpress/components", - "version": "29.2.0", + "version": "29.3.0", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.15", @@ -50581,7 +50581,7 @@ }, "packages/compose": { "name": "@wordpress/compose", - "version": "7.16.0", + "version": "7.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50618,7 +50618,7 @@ }, "packages/core-commands": { "name": "@wordpress/core-commands", - "version": "1.16.0", + "version": "1.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50647,7 +50647,7 @@ }, "packages/core-data": { "name": "@wordpress/core-data", - "version": "7.16.0", + "version": "7.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50692,7 +50692,7 @@ }, "packages/create-block": { "name": "@wordpress/create-block", - "version": "4.59.0", + "version": "4.60.0", "license": "GPL-2.0-or-later", "dependencies": { "@inquirer/prompts": "^7.2.0", @@ -50719,7 +50719,7 @@ }, "packages/create-block-interactive-template": { "name": "@wordpress/create-block-interactive-template", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -50728,7 +50728,7 @@ }, "packages/create-block-tutorial-template": { "name": "@wordpress/create-block-tutorial-template", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -50737,7 +50737,7 @@ }, "packages/customize-widgets": { "name": "@wordpress/customize-widgets", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50775,7 +50775,7 @@ }, "packages/data": { "name": "@wordpress/data", - "version": "10.16.0", + "version": "10.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50804,7 +50804,7 @@ }, "packages/data-controls": { "name": "@wordpress/data-controls", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50822,7 +50822,7 @@ }, "packages/dataviews": { "name": "@wordpress/dataviews", - "version": "4.12.0", + "version": "4.13.0", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.15", @@ -50849,7 +50849,7 @@ }, "packages/date": { "name": "@wordpress/date", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50864,7 +50864,7 @@ }, "packages/dependency-extraction-webpack-plugin": { "name": "@wordpress/dependency-extraction-webpack-plugin", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "dependencies": { "json2php": "^0.0.7" @@ -50879,7 +50879,7 @@ }, "packages/deprecated": { "name": "@wordpress/deprecated", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50892,7 +50892,7 @@ }, "packages/docgen": { "name": "@wordpress/docgen", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "7.25.7", @@ -50913,7 +50913,7 @@ }, "packages/dom": { "name": "@wordpress/dom", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50926,7 +50926,7 @@ }, "packages/dom-ready": { "name": "@wordpress/dom-ready", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -50938,7 +50938,7 @@ }, "packages/e2e-test-utils": { "name": "@wordpress/e2e-test-utils", - "version": "11.16.0", + "version": "11.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50960,7 +50960,7 @@ }, "packages/e2e-test-utils-playwright": { "name": "@wordpress/e2e-test-utils-playwright", - "version": "1.16.0", + "version": "1.17.0", "license": "GPL-2.0-or-later", "dependencies": { "change-case": "^4.1.2", @@ -50986,7 +50986,7 @@ }, "packages/e2e-tests": { "name": "@wordpress/e2e-tests", - "version": "8.16.0", + "version": "8.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/e2e-test-utils": "file:../e2e-test-utils", @@ -51024,7 +51024,7 @@ }, "packages/edit-post": { "name": "@wordpress/edit-post", - "version": "8.16.0", + "version": "8.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51071,7 +51071,7 @@ }, "packages/edit-site": { "name": "@wordpress/edit-site", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51134,7 +51134,7 @@ }, "packages/edit-widgets": { "name": "@wordpress/edit-widgets", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51177,7 +51177,7 @@ }, "packages/editor": { "name": "@wordpress/editor", - "version": "14.16.0", + "version": "14.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51239,7 +51239,7 @@ }, "packages/element": { "name": "@wordpress/element", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51258,7 +51258,7 @@ }, "packages/env": { "name": "@wordpress/env", - "version": "10.16.0", + "version": "10.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@inquirer/prompts": "^7.2.0", @@ -51307,7 +51307,7 @@ }, "packages/escape-html": { "name": "@wordpress/escape-html", - "version": "3.16.0", + "version": "3.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51319,7 +51319,7 @@ }, "packages/eslint-plugin": { "name": "@wordpress/eslint-plugin", - "version": "22.2.0", + "version": "22.3.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/eslint-parser": "7.25.7", @@ -51388,7 +51388,7 @@ }, "packages/fields": { "name": "@wordpress/fields", - "version": "0.8.0", + "version": "0.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51430,7 +51430,7 @@ }, "packages/format-library": { "name": "@wordpress/format-library", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51458,7 +51458,7 @@ }, "packages/hooks": { "name": "@wordpress/hooks", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51470,7 +51470,7 @@ }, "packages/html-entities": { "name": "@wordpress/html-entities", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51482,7 +51482,7 @@ }, "packages/i18n": { "name": "@wordpress/i18n", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51502,7 +51502,7 @@ }, "packages/icons": { "name": "@wordpress/icons", - "version": "10.16.0", + "version": "10.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51516,7 +51516,7 @@ }, "packages/interactivity": { "name": "@wordpress/interactivity", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@preact/signals": "^1.3.0", @@ -51529,7 +51529,7 @@ }, "packages/interactivity-router": { "name": "@wordpress/interactivity-router", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/a11y": "file:../a11y", @@ -51542,7 +51542,7 @@ }, "packages/interface": { "name": "@wordpress/interface", - "version": "9.1.0", + "version": "9.2.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51570,7 +51570,7 @@ }, "packages/is-shallow-equal": { "name": "@wordpress/is-shallow-equal", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51582,7 +51582,7 @@ }, "packages/jest-console": { "name": "@wordpress/jest-console", - "version": "8.16.0", + "version": "8.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51598,7 +51598,7 @@ }, "packages/jest-preset-default": { "name": "@wordpress/jest-preset-default", - "version": "12.16.0", + "version": "12.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/jest-console": "file:../jest-console", @@ -51615,7 +51615,7 @@ }, "packages/jest-puppeteer-axe": { "name": "@wordpress/jest-puppeteer-axe", - "version": "7.16.0", + "version": "7.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@axe-core/puppeteer": "^4.0.0", @@ -51637,7 +51637,7 @@ }, "packages/keyboard-shortcuts": { "name": "@wordpress/keyboard-shortcuts", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51655,7 +51655,7 @@ }, "packages/keycodes": { "name": "@wordpress/keycodes", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51668,7 +51668,7 @@ }, "packages/lazy-import": { "name": "@wordpress/lazy-import", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "dependencies": { "execa": "^4.0.2", @@ -51682,7 +51682,7 @@ }, "packages/list-reusable-blocks": { "name": "@wordpress/list-reusable-blocks", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51705,7 +51705,7 @@ }, "packages/media-utils": { "name": "@wordpress/media-utils", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51722,7 +51722,7 @@ }, "packages/notices": { "name": "@wordpress/notices", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51739,7 +51739,7 @@ }, "packages/npm-package-json-lint-config": { "name": "@wordpress/npm-package-json-lint-config", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -51751,7 +51751,7 @@ }, "packages/nux": { "name": "@wordpress/nux", - "version": "9.16.0", + "version": "9.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51774,7 +51774,7 @@ }, "packages/patterns": { "name": "@wordpress/patterns", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51804,7 +51804,7 @@ }, "packages/plugins": { "name": "@wordpress/plugins", - "version": "7.16.0", + "version": "7.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51828,7 +51828,7 @@ }, "packages/postcss-plugins-preset": { "name": "@wordpress/postcss-plugins-preset", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/base-styles": "file:../base-styles", @@ -51897,7 +51897,7 @@ }, "packages/postcss-themes": { "name": "@wordpress/postcss-themes", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -51909,7 +51909,7 @@ }, "packages/preferences": { "name": "@wordpress/preferences", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51935,7 +51935,7 @@ }, "packages/preferences-persistence": { "name": "@wordpress/preferences-persistence", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51948,7 +51948,7 @@ }, "packages/prettier-config": { "name": "@wordpress/prettier-config", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -51960,7 +51960,7 @@ }, "packages/primitives": { "name": "@wordpress/primitives", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51977,7 +51977,7 @@ }, "packages/priority-queue": { "name": "@wordpress/priority-queue", - "version": "3.16.0", + "version": "3.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51990,7 +51990,7 @@ }, "packages/private-apis": { "name": "@wordpress/private-apis", - "version": "1.16.0", + "version": "1.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -52002,7 +52002,7 @@ }, "packages/project-management-automation": { "name": "@wordpress/project-management-automation", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@actions/core": "1.9.1", @@ -52030,7 +52030,7 @@ }, "packages/react-i18n": { "name": "@wordpress/react-i18n", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52186,7 +52186,7 @@ }, "packages/readable-js-assets-webpack-plugin": { "name": "@wordpress/readable-js-assets-webpack-plugin", - "version": "3.16.0", + "version": "3.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -52198,7 +52198,7 @@ }, "packages/redux-routine": { "name": "@wordpress/redux-routine", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52241,7 +52241,7 @@ }, "packages/reusable-blocks": { "name": "@wordpress/reusable-blocks", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52268,7 +52268,7 @@ }, "packages/rich-text": { "name": "@wordpress/rich-text", - "version": "7.16.0", + "version": "7.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52292,7 +52292,7 @@ }, "packages/router": { "name": "@wordpress/router", - "version": "1.16.0", + "version": "1.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52313,7 +52313,7 @@ }, "packages/scripts": { "name": "@wordpress/scripts", - "version": "30.9.0", + "version": "30.10.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "7.25.7", @@ -52451,7 +52451,7 @@ }, "packages/server-side-render": { "name": "@wordpress/server-side-render", - "version": "5.16.0", + "version": "5.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52477,7 +52477,7 @@ }, "packages/shortcode": { "name": "@wordpress/shortcode", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52490,7 +52490,7 @@ }, "packages/style-engine": { "name": "@wordpress/style-engine", - "version": "2.16.0", + "version": "2.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52503,7 +52503,7 @@ }, "packages/stylelint-config": { "name": "@wordpress/stylelint-config", - "version": "23.8.0", + "version": "23.9.0", "license": "MIT", "dependencies": { "@stylistic/stylelint-plugin": "^3.0.1", @@ -52614,7 +52614,7 @@ }, "packages/sync": { "name": "@wordpress/sync", - "version": "1.16.0", + "version": "1.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52635,7 +52635,7 @@ }, "packages/token-list": { "name": "@wordpress/token-list", - "version": "3.16.0", + "version": "3.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -52647,7 +52647,7 @@ }, "packages/undo-manager": { "name": "@wordpress/undo-manager", - "version": "1.16.0", + "version": "1.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52660,7 +52660,7 @@ }, "packages/upload-media": { "name": "@wordpress/upload-media", - "version": "0.1.0", + "version": "0.2.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52687,7 +52687,7 @@ }, "packages/url": { "name": "@wordpress/url", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52700,7 +52700,7 @@ }, "packages/viewport": { "name": "@wordpress/viewport", - "version": "6.16.0", + "version": "6.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52730,7 +52730,7 @@ }, "packages/warning": { "name": "@wordpress/warning", - "version": "3.16.0", + "version": "3.17.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -52739,7 +52739,7 @@ }, "packages/widgets": { "name": "@wordpress/widgets", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52767,7 +52767,7 @@ }, "packages/wordcount": { "name": "@wordpress/wordcount", - "version": "4.16.0", + "version": "4.17.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" diff --git a/packages/a11y/package.json b/packages/a11y/package.json index 79cf68bfe83c41..a3a82f38284b3a 100644 --- a/packages/a11y/package.json +++ b/packages/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/a11y", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Accessibility (a11y) utilities for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/annotations/package.json b/packages/annotations/package.json index e0b4c44f187c0a..70af684c11b3d9 100644 --- a/packages/annotations/package.json +++ b/packages/annotations/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/annotations", - "version": "3.17.0-prerelease", + "version": "3.17.0", "description": "Annotate content in the Gutenberg editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/api-fetch/package.json b/packages/api-fetch/package.json index 3c047fc5accd26..43a52dc89fe36f 100644 --- a/packages/api-fetch/package.json +++ b/packages/api-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/api-fetch", - "version": "7.17.0-prerelease", + "version": "7.17.0", "description": "Utility to make WordPress REST API requests.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/autop/package.json b/packages/autop/package.json index edccf79b109e0d..8c187d2ecedeee 100644 --- a/packages/autop/package.json +++ b/packages/autop/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/autop", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "WordPress's automatic paragraph functions `autop` and `removep`.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json index 628d4f77ceca4f..a0003205b6b6b6 100644 --- a/packages/babel-plugin-import-jsx-pragma/package.json +++ b/packages/babel-plugin-import-jsx-pragma/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/babel-plugin-import-jsx-pragma", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Babel transform plugin for automatically injecting an import to be used as the pragma for the React JSX Transform plugin.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/babel-plugin-makepot/package.json b/packages/babel-plugin-makepot/package.json index be5e93f48c89ee..20c3957796c3b5 100644 --- a/packages/babel-plugin-makepot/package.json +++ b/packages/babel-plugin-makepot/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/babel-plugin-makepot", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "WordPress Babel internationalization (i18n) plugin.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json index 7fc8465aad6535..e1e43984e69f24 100644 --- a/packages/babel-preset-default/package.json +++ b/packages/babel-preset-default/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/babel-preset-default", - "version": "8.17.0-prerelease", + "version": "8.17.0", "description": "Default Babel preset for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/base-styles/package.json b/packages/base-styles/package.json index 15507ff45a5a86..63590daa9c178e 100644 --- a/packages/base-styles/package.json +++ b/packages/base-styles/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/base-styles", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Base SCSS utilities and variables for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/blob/package.json b/packages/blob/package.json index 1be15f9ff54e25..9a0b10a416bec3 100644 --- a/packages/blob/package.json +++ b/packages/blob/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blob", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Blob utilities for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json index 042b6717457da7..b3af341dba0f37 100644 --- a/packages/block-directory/package.json +++ b/packages/block-directory/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-directory", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Extend editor with block directory features to search, download and install blocks.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json index 020e6694aeb3e1..bb247c1d283567 100644 --- a/packages/block-editor/package.json +++ b/packages/block-editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-editor", - "version": "14.12.0-prerelease", + "version": "14.12.0", "description": "Generic block editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-library/package.json b/packages/block-library/package.json index bb2c52fb507a5a..87f11717834538 100644 --- a/packages/block-library/package.json +++ b/packages/block-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-library", - "version": "9.17.0-prerelease", + "version": "9.17.0", "description": "Block library for the WordPress editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-serialization-default-parser/package.json b/packages/block-serialization-default-parser/package.json index 8cabdcf3f0b20a..45718ca769be67 100644 --- a/packages/block-serialization-default-parser/package.json +++ b/packages/block-serialization-default-parser/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-serialization-default-parser", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Block serialization specification parser for WordPress posts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json index 2aa3b73afa2076..f188e9cd25660f 100644 --- a/packages/block-serialization-spec-parser/package.json +++ b/packages/block-serialization-spec-parser/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-serialization-spec-parser", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Block serialization specification parser for WordPress posts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/blocks/package.json b/packages/blocks/package.json index 8a023430253e79..92410b54ba19a7 100644 --- a/packages/blocks/package.json +++ b/packages/blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blocks", - "version": "14.6.0-prerelease", + "version": "14.6.0", "description": "Block API for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json index 897213843d92eb..1253719c4724c9 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/browserslist-config", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "WordPress Browserslist shared configuration.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/commands/package.json b/packages/commands/package.json index f74c1bdaa90fac..5e2d57f7d92fba 100644 --- a/packages/commands/package.json +++ b/packages/commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/commands", - "version": "1.17.0-prerelease", + "version": "1.17.0", "description": "Handles the commands menu.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/components/package.json b/packages/components/package.json index 65a4dd18623818..29a62cd7c49ff7 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/components", - "version": "29.3.0-prerelease", + "version": "29.3.0", "description": "UI components for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/compose/package.json b/packages/compose/package.json index f2fc44e8770470..4e9eb19d13acb5 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/compose", - "version": "7.17.0-prerelease", + "version": "7.17.0", "description": "WordPress higher-order components (HOCs).", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/core-commands/package.json b/packages/core-commands/package.json index 1be9c98b74ea87..aa9fd5653c0b11 100644 --- a/packages/core-commands/package.json +++ b/packages/core-commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-commands", - "version": "1.17.0-prerelease", + "version": "1.17.0", "description": "WordPress core reusable commands.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/core-data/package.json b/packages/core-data/package.json index f082938bc9ba75..e6f84c7bd15e3e 100644 --- a/packages/core-data/package.json +++ b/packages/core-data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-data", - "version": "7.17.0-prerelease", + "version": "7.17.0", "description": "Access to and manipulation of core WordPress entities.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/create-block-interactive-template/package.json b/packages/create-block-interactive-template/package.json index 220572e3ba1d94..00f3515c2e289d 100644 --- a/packages/create-block-interactive-template/package.json +++ b/packages/create-block-interactive-template/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block-interactive-template", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "Template for @wordpress/create-block to create interactive blocks with the Interactivity API.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/create-block-tutorial-template/package.json b/packages/create-block-tutorial-template/package.json index 2c4f99f6994e43..8d6cd268a879b8 100644 --- a/packages/create-block-tutorial-template/package.json +++ b/packages/create-block-tutorial-template/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block-tutorial-template", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "This is a template for @wordpress/create-block that creates an example 'Copyright Date' block. This block is used in the official WordPress block development Quick Start Guide.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/create-block/package.json b/packages/create-block/package.json index fe9c3781d2b0fb..477eb0f98dd858 100644 --- a/packages/create-block/package.json +++ b/packages/create-block/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block", - "version": "4.60.0-prerelease", + "version": "4.60.0", "description": "Generates PHP, JS and CSS code for registering a block for a WordPress plugin.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json index 801ceade3e5f24..b30cf8ae4db38b 100644 --- a/packages/customize-widgets/package.json +++ b/packages/customize-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/customize-widgets", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Widgets blocks in Customizer Module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/data-controls/package.json b/packages/data-controls/package.json index efa9df1d9ebae9..a4045e68fa173a 100644 --- a/packages/data-controls/package.json +++ b/packages/data-controls/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data-controls", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "A set of common controls for the @wordpress/data api.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/data/package.json b/packages/data/package.json index ee575b512a35e9..7a90897d453bd8 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data", - "version": "10.17.0-prerelease", + "version": "10.17.0", "description": "Data module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json index e54124fd678315..60161082ff10dc 100644 --- a/packages/dataviews/package.json +++ b/packages/dataviews/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dataviews", - "version": "4.13.0-prerelease", + "version": "4.13.0", "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/date/package.json b/packages/date/package.json index 7d37530af061b6..b68fd0789a11fe 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/date", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Date module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json index c84ce447536dc5..8dee3f6a2a35e0 100644 --- a/packages/dependency-extraction-webpack-plugin/package.json +++ b/packages/dependency-extraction-webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dependency-extraction-webpack-plugin", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "Extract WordPress script dependencies from webpack bundles.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json index 18fa0ccf35f5ca..c1637380b22b7f 100644 --- a/packages/deprecated/package.json +++ b/packages/deprecated/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/deprecated", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Deprecation utility for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/docgen/package.json b/packages/docgen/package.json index da4470c508b959..9083dcf2e4c9ee 100644 --- a/packages/docgen/package.json +++ b/packages/docgen/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/docgen", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "Autogenerate public API documentation from exports and JSDoc comments.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json index 73544804aeb77a..9ae59ee9392605 100644 --- a/packages/dom-ready/package.json +++ b/packages/dom-ready/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom-ready", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Execute callback after the DOM is loaded.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/dom/package.json b/packages/dom/package.json index e24045f5282f4b..0c1d83bacbdcf3 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "DOM utilities module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json index 4ea8c6e7173257..010c5077aefe3c 100644 --- a/packages/e2e-test-utils-playwright/package.json +++ b/packages/e2e-test-utils-playwright/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-test-utils-playwright", - "version": "1.17.0-prerelease", + "version": "1.17.0", "description": "End-To-End (E2E) test utils for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json index 4919b9b3a551d9..03b8ee6e7b8e55 100644 --- a/packages/e2e-test-utils/package.json +++ b/packages/e2e-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-test-utils", - "version": "11.17.0-prerelease", + "version": "11.17.0", "description": "End-To-End (E2E) test utils for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json index 7c331743554590..275080914f4050 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-tests", - "version": "8.17.0-prerelease", + "version": "8.17.0", "description": "End-To-End (E2E) tests for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json index e8c936b3893adf..ab9096f89903a2 100644 --- a/packages/edit-post/package.json +++ b/packages/edit-post/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-post", - "version": "8.17.0-prerelease", + "version": "8.17.0", "description": "Edit Post module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json index 06a6992bf5a965..e830ee3066c0ce 100644 --- a/packages/edit-site/package.json +++ b/packages/edit-site/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-site", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "Edit Site Page module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json index 86ffc90fc18761..f04357aab48f45 100644 --- a/packages/edit-widgets/package.json +++ b/packages/edit-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-widgets", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "Widgets Page module for WordPress..", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/editor/package.json b/packages/editor/package.json index dab28ee314685f..bfa645fa88a74b 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/editor", - "version": "14.17.0-prerelease", + "version": "14.17.0", "description": "Enhanced block editor for WordPress posts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/element/package.json b/packages/element/package.json index 4a9a1791e8fcbb..d7f3e32155c678 100644 --- a/packages/element/package.json +++ b/packages/element/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/element", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "Element React module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/env/package.json b/packages/env/package.json index be967a24f047df..bdf8766aa58698 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/env", - "version": "10.17.0-prerelease", + "version": "10.17.0", "description": "A zero-config, self contained local WordPress environment for development and testing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/escape-html/package.json b/packages/escape-html/package.json index f8fa40735a8c28..9a7555c3b32d35 100644 --- a/packages/escape-html/package.json +++ b/packages/escape-html/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/escape-html", - "version": "3.17.0-prerelease", + "version": "3.17.0", "description": "Escape HTML utils.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 2e76ace3dd0e8a..c315891896fcc9 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/eslint-plugin", - "version": "22.3.0-prerelease", + "version": "22.3.0", "description": "ESLint plugin for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/fields/package.json b/packages/fields/package.json index 8260505969697d..adc59764b331af 100644 --- a/packages/fields/package.json +++ b/packages/fields/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/fields", - "version": "0.9.0-prerelease", + "version": "0.9.0", "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/format-library/package.json b/packages/format-library/package.json index dcf83edcfafb14..33ea404cf14769 100644 --- a/packages/format-library/package.json +++ b/packages/format-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/format-library", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Format library for the WordPress editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/hooks/package.json b/packages/hooks/package.json index bef022bc391e49..4fe1add4725bcc 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/hooks", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "WordPress hooks library.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/html-entities/package.json b/packages/html-entities/package.json index cc1d3016e884ba..b00d18fbf70b5e 100644 --- a/packages/html-entities/package.json +++ b/packages/html-entities/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/html-entities", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "HTML entity utilities for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 467bbe91a07582..883b75b06bd1f1 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/i18n", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "WordPress internationalization (i18n) library.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/icons/package.json b/packages/icons/package.json index 59232e80c95711..128dfe44490a08 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/icons", - "version": "10.17.0-prerelease", + "version": "10.17.0", "description": "WordPress Icons package, based on dashicon.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/interactivity-router/package.json b/packages/interactivity-router/package.json index d22e7ea66e05bf..9962d60bd2e1de 100644 --- a/packages/interactivity-router/package.json +++ b/packages/interactivity-router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity-router", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "Package that exposes state and actions from the `core/router` store, part of the Interactivity API.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/interactivity/package.json b/packages/interactivity/package.json index 179e92686429b3..f109c40f43305e 100644 --- a/packages/interactivity/package.json +++ b/packages/interactivity/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "Package that provides a standard and simple way to handle the frontend interactivity of Gutenberg blocks.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/interface/package.json b/packages/interface/package.json index 0095bf4f942d89..0cadb6070b9fcc 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interface", - "version": "9.2.0-prerelease", + "version": "9.2.0", "description": "Interface module for WordPress. The package contains shared functionality across the modern JavaScript-based WordPress screens.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json index 2e9fc79f1cac04..d8be6a2c005c25 100644 --- a/packages/is-shallow-equal/package.json +++ b/packages/is-shallow-equal/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/is-shallow-equal", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Test for shallow equality between two objects or arrays.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json index 95457412c219e8..78492c7f74ee1d 100644 --- a/packages/jest-console/package.json +++ b/packages/jest-console/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-console", - "version": "8.17.0-prerelease", + "version": "8.17.0", "description": "Custom Jest matchers for the Console object.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json index 44e08948bbd72c..b9bc50436ebc7d 100644 --- a/packages/jest-preset-default/package.json +++ b/packages/jest-preset-default/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-preset-default", - "version": "12.17.0-prerelease", + "version": "12.17.0", "description": "Default Jest preset for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/jest-puppeteer-axe/package.json b/packages/jest-puppeteer-axe/package.json index dc7d05b3f7ccca..dd6ebdf841cba3 100644 --- a/packages/jest-puppeteer-axe/package.json +++ b/packages/jest-puppeteer-axe/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-puppeteer-axe", - "version": "7.17.0-prerelease", + "version": "7.17.0", "description": "Axe API integration with Jest and Puppeteer.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json index 9ec5df3386defd..5aefa31c6c08bd 100644 --- a/packages/keyboard-shortcuts/package.json +++ b/packages/keyboard-shortcuts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keyboard-shortcuts", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Handling keyboard shortcuts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/keycodes/package.json b/packages/keycodes/package.json index 6bac7673c76e82..a1bef731fef7fa 100644 --- a/packages/keycodes/package.json +++ b/packages/keycodes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keycodes", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Keycodes utilities for WordPress. Used to check for keyboard events across browsers/operating systems.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/lazy-import/package.json b/packages/lazy-import/package.json index 7806aaca166fd1..0f18de9cc0cb62 100644 --- a/packages/lazy-import/package.json +++ b/packages/lazy-import/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/lazy-import", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "Lazily import a module, installing it automatically if missing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/list-reusable-blocks/package.json b/packages/list-reusable-blocks/package.json index 2d5008e21a8f4b..92db7b36d07607 100644 --- a/packages/list-reusable-blocks/package.json +++ b/packages/list-reusable-blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/list-reusable-blocks", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Adding Export/Import support to the reusable blocks listing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/media-utils/package.json b/packages/media-utils/package.json index 665b7734cba49c..984dcea29c9f4c 100644 --- a/packages/media-utils/package.json +++ b/packages/media-utils/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/media-utils", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "WordPress Media Upload Utils.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/notices/package.json b/packages/notices/package.json index 9cf3664ce7184e..c3ca8915eb2e3f 100644 --- a/packages/notices/package.json +++ b/packages/notices/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/notices", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "State management for notices.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json index cade561d28c53a..a99d198f9f0815 100644 --- a/packages/npm-package-json-lint-config/package.json +++ b/packages/npm-package-json-lint-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/npm-package-json-lint-config", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "WordPress npm-package-json-lint shareable configuration.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/nux/package.json b/packages/nux/package.json index 0fa368eff770f7..70d3fb5cd95fd7 100644 --- a/packages/nux/package.json +++ b/packages/nux/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/nux", - "version": "9.17.0-prerelease", + "version": "9.17.0", "description": "NUX (New User eXperience) module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/patterns/package.json b/packages/patterns/package.json index ff1f8d908b7366..5300e9c0e907d6 100644 --- a/packages/patterns/package.json +++ b/packages/patterns/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/patterns", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "Management of user pattern editing.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/plugins/package.json b/packages/plugins/package.json index 2847738daf844b..1ca540e79f96f0 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/plugins", - "version": "7.17.0-prerelease", + "version": "7.17.0", "description": "Plugins module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/postcss-plugins-preset/package.json b/packages/postcss-plugins-preset/package.json index fbbd8d8abb8d24..9fd2ac28deebcd 100644 --- a/packages/postcss-plugins-preset/package.json +++ b/packages/postcss-plugins-preset/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/postcss-plugins-preset", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "PostCSS sharable plugins preset for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json index 956554d545e16c..2756c600a40671 100644 --- a/packages/postcss-themes/package.json +++ b/packages/postcss-themes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/postcss-themes", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "PostCSS plugin to generate theme colors.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/preferences-persistence/package.json b/packages/preferences-persistence/package.json index 5374fb6b296d9a..8813cad82f6d44 100644 --- a/packages/preferences-persistence/package.json +++ b/packages/preferences-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences-persistence", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "Persistence utilities for `wordpress/preferences`.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/preferences/package.json b/packages/preferences/package.json index f259d58abedfba..56778fc4f5f45f 100644 --- a/packages/preferences/package.json +++ b/packages/preferences/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Utilities for managing WordPress preferences.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 908b7c5359e317..80a617a8f2bd54 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/prettier-config", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "WordPress Prettier shared configuration.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/primitives/package.json b/packages/primitives/package.json index aed60ae749fbc9..24ba82c2957afe 100644 --- a/packages/primitives/package.json +++ b/packages/primitives/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/primitives", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "WordPress cross-platform primitives.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/priority-queue/package.json b/packages/priority-queue/package.json index 738f46967e39fc..a7c446c7ccf7f0 100644 --- a/packages/priority-queue/package.json +++ b/packages/priority-queue/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/priority-queue", - "version": "3.17.0-prerelease", + "version": "3.17.0", "description": "Generic browser priority queue.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/private-apis/package.json b/packages/private-apis/package.json index 0ca121d754d532..46d8e742b91837 100644 --- a/packages/private-apis/package.json +++ b/packages/private-apis/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/private-apis", - "version": "1.17.0-prerelease", + "version": "1.17.0", "description": "Internal experimental APIs for WordPress core.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/project-management-automation/package.json b/packages/project-management-automation/package.json index 4abf55ab8a1d11..327df2a6036e18 100644 --- a/packages/project-management-automation/package.json +++ b/packages/project-management-automation/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/project-management-automation", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "GitHub Action that implements various automation to assist with managing the Gutenberg GitHub repository.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json index e0ebfd86ca3e1a..54a42f88855a74 100644 --- a/packages/react-i18n/package.json +++ b/packages/react-i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/react-i18n", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "React bindings for @wordpress/i18n.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/readable-js-assets-webpack-plugin/package.json b/packages/readable-js-assets-webpack-plugin/package.json index 2088d908300c5b..bfd3fb573ca2fe 100644 --- a/packages/readable-js-assets-webpack-plugin/package.json +++ b/packages/readable-js-assets-webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/readable-js-assets-webpack-plugin", - "version": "3.17.0-prerelease", + "version": "3.17.0", "description": "Generate a readable JS file for each JS asset.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/redux-routine/package.json b/packages/redux-routine/package.json index 044be1d210a2d6..5a75aef5c5a19f 100644 --- a/packages/redux-routine/package.json +++ b/packages/redux-routine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/redux-routine", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Redux middleware for generator coroutines.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/reusable-blocks/package.json b/packages/reusable-blocks/package.json index 5f0150d0292132..e34d36dd4c8b8c 100644 --- a/packages/reusable-blocks/package.json +++ b/packages/reusable-blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/reusable-blocks", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "Reusable blocks utilities.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json index c3059728034210..9f7a5768134561 100644 --- a/packages/rich-text/package.json +++ b/packages/rich-text/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/rich-text", - "version": "7.17.0-prerelease", + "version": "7.17.0", "description": "Rich text value and manipulation API.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/router/package.json b/packages/router/package.json index c44e53eebe1776..9ddd8ef1ab9f2e 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/router", - "version": "1.17.0-prerelease", + "version": "1.17.0", "description": "Router API for WordPress pages.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 8fdfbc6a952709..675c25c0b54802 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/scripts", - "version": "30.10.0-prerelease", + "version": "30.10.0", "description": "Collection of reusable scripts for WordPress development.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/server-side-render/package.json b/packages/server-side-render/package.json index c09ec1f4f47bc9..70fcfa4997807c 100644 --- a/packages/server-side-render/package.json +++ b/packages/server-side-render/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/server-side-render", - "version": "5.17.0-prerelease", + "version": "5.17.0", "description": "The component used with WordPress to server-side render a preview of dynamic blocks to display in the editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/shortcode/package.json b/packages/shortcode/package.json index 4d0cb527ffaa15..b96126f5c344b1 100644 --- a/packages/shortcode/package.json +++ b/packages/shortcode/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/shortcode", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Shortcode module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/style-engine/package.json b/packages/style-engine/package.json index 44b62b25781189..5ce48d4e7da0f0 100644 --- a/packages/style-engine/package.json +++ b/packages/style-engine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/style-engine", - "version": "2.17.0-prerelease", + "version": "2.17.0", "description": "A suite of parsers and compilers for WordPress styles.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index b4114a15f77efd..4c6ccffcc0c533 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/stylelint-config", - "version": "23.9.0-prerelease", + "version": "23.9.0", "description": "stylelint config for WordPress development.", "author": "The WordPress Contributors", "license": "MIT", diff --git a/packages/sync/package.json b/packages/sync/package.json index 37bcdbf9ea1339..45200f2068e3c2 100644 --- a/packages/sync/package.json +++ b/packages/sync/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/sync", - "version": "1.17.0-prerelease", + "version": "1.17.0", "description": "Sync Data.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/token-list/package.json b/packages/token-list/package.json index f8e4150bfd1185..cb067e63ca787f 100644 --- a/packages/token-list/package.json +++ b/packages/token-list/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/token-list", - "version": "3.17.0-prerelease", + "version": "3.17.0", "description": "Constructable, plain JavaScript DOMTokenList implementation, supporting non-browser runtimes.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/undo-manager/package.json b/packages/undo-manager/package.json index e64d7bef773125..1cd7f11fdafe2c 100644 --- a/packages/undo-manager/package.json +++ b/packages/undo-manager/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/undo-manager", - "version": "1.17.0-prerelease", + "version": "1.17.0", "description": "A small package to manage undo/redo.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/upload-media/package.json b/packages/upload-media/package.json index 19f6235f33622f..3d4e0171df1f76 100644 --- a/packages/upload-media/package.json +++ b/packages/upload-media/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/upload-media", - "version": "0.2.0-prerelease", + "version": "0.2.0", "description": "Core media upload logic.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/url/package.json b/packages/url/package.json index 6425b67b541df0..9ff808bbe1ef22 100644 --- a/packages/url/package.json +++ b/packages/url/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/url", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "WordPress URL utilities.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/viewport/package.json b/packages/viewport/package.json index fc285b99d2fa37..8a4ae23e02a3c8 100644 --- a/packages/viewport/package.json +++ b/packages/viewport/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/viewport", - "version": "6.17.0-prerelease", + "version": "6.17.0", "description": "Viewport module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/warning/package.json b/packages/warning/package.json index b57af8df5e507d..098986e2c6c035 100644 --- a/packages/warning/package.json +++ b/packages/warning/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/warning", - "version": "3.17.0-prerelease", + "version": "3.17.0", "description": "Warning utility for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/widgets/package.json b/packages/widgets/package.json index a5e3879cb805bd..782857be408984 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/widgets", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "Functionality used by the widgets block editor in the Widgets screen and the Customizer.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/wordcount/package.json b/packages/wordcount/package.json index f2ebed1b3bf477..5fbe5c9d20b824 100644 --- a/packages/wordcount/package.json +++ b/packages/wordcount/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/wordcount", - "version": "4.17.0-prerelease", + "version": "4.17.0", "description": "WordPress word count utility.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", From 266c11b33451bdcc57a0cc262af9ee12dc05d72c Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Wed, 29 Jan 2025 19:59:08 +0400 Subject: [PATCH 047/153] PR Template: Suggest linking the issue (#68924) Co-authored-by: Mamaduka Co-authored-by: stokesman Co-authored-by: priethor Co-authored-by: afercia --- .github/PULL_REQUEST_TEMPLATE.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 69fd34d709bdc5..1a2094cce578e8 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,6 +2,9 @@ https://github.com/WordPress/gutenberg/blob/trunk/CONTRIBUTING.md --> ## What? + +Closes + ## Why? From 4aad5e33db303dfd6da3cb1077d37e4d3e9ee794 Mon Sep 17 00:00:00 2001 From: David Arenas Date: Wed, 29 Jan 2025 17:17:48 +0100 Subject: [PATCH 048/153] iAPI Router: Fix CSS rule order in some constructed style sheets (#68923) * Add failing test * Place CSS rules in order Co-authored-by: DAreRodz Co-authored-by: luisherranz Co-authored-by: Mamaduka Co-authored-by: SainathPoojary Co-authored-by: sethrubenstein --- .../router-styles-wrapper/render.php | 17 +++++++++++ .../router-styles-wrapper/style-from-link.css | 7 +++++ .../interactivity-router/src/assets/styles.ts | 5 ++-- .../specs/interactivity/router-styles.spec.ts | 29 +++++++++++++++++++ 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 packages/e2e-tests/plugins/interactive-blocks/router-styles-wrapper/style-from-link.css diff --git a/packages/e2e-tests/plugins/interactive-blocks/router-styles-wrapper/render.php b/packages/e2e-tests/plugins/interactive-blocks/router-styles-wrapper/render.php index 6373e8e9bc235b..683db9eea5c4c7 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/router-styles-wrapper/render.php +++ b/packages/e2e-tests/plugins/interactive-blocks/router-styles-wrapper/render.php @@ -7,6 +7,17 @@ * @phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable */ +add_action( + 'wp_enqueue_scripts', + function () { + wp_enqueue_style( + 'wrapper-styles-from-link', + plugin_dir_url( __FILE__ ) . 'style-from-link.css', + array() + ); + } +); + $wrapper_attributes = get_block_wrapper_attributes(); ?>
> @@ -38,6 +49,12 @@

All

+ +
+ Rule order checker +

I should remain green

+
+
) } - { meta && ( - <> -
- { meta } -
- - ) } -
{ description && (

diff --git a/packages/edit-site/src/components/sidebar-navigation-screen/style.scss b/packages/edit-site/src/components/sidebar-navigation-screen/style.scss index 71704653b4cd89..c4ee3f26599b18 100644 --- a/packages/edit-site/src/components/sidebar-navigation-screen/style.scss +++ b/packages/edit-site/src/components/sidebar-navigation-screen/style.scss @@ -27,29 +27,6 @@ } } -.edit-site-sidebar-navigation-screen__meta { - margin: 0 0 $grid-unit-20 $grid-unit-20; - color: $gray-400; - .components-text { - color: $gray-400; - } -} - -.edit-site-sidebar-navigation-screen__page-link { - color: $gray-600; - display: inline-block; - word-break: break-word; - - &:hover, - &:focus { - color: $white; - } - - .components-external-link__icon { - margin-left: $grid-unit-05; - } -} - .edit-site-sidebar-navigation-screen__title-icon { position: sticky; top: 0; From 055f881d2a95b93573587c59e3eeb646e6551600 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Fri, 31 Jan 2025 11:22:49 +0400 Subject: [PATCH 056/153] Block Editor: Display root appender when default block is disabled (#68951) * Block Editor: Display root appender when default block is disabled * Handle multi-selection Unlinked contributors: virgiliud, MGabrane, alexis-magina, sweco-seerjf. Co-authored-by: Mamaduka Co-authored-by: t-hamano --- .../src/components/block-list/index.js | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/block-editor/src/components/block-list/index.js b/packages/block-editor/src/components/block-list/index.js index bcf6783a10d1c3..d3a2f0ae0795c8 100644 --- a/packages/block-editor/src/components/block-list/index.js +++ b/packages/block-editor/src/components/block-list/index.js @@ -19,6 +19,7 @@ import { useCallback, useEffect, } from '@wordpress/element'; +import { getDefaultBlockName } from '@wordpress/blocks'; /** * Internal dependencies @@ -171,13 +172,13 @@ function Items( { const { getSettings, getBlockOrder, - getSelectedBlockClientId, getSelectedBlockClientIds, __unstableGetVisibleBlocks, getTemplateLock, getBlockEditingMode, isSectionBlock, isZoomOut: _isZoomOut, + canInsertBlockType, } = unlock( select( blockEditorStore ) ); const _order = getBlockOrder( rootClientId ); @@ -190,10 +191,20 @@ function Items( { }; } - const selectedBlockClientId = getSelectedBlockClientId(); + const selectedBlockClientIds = getSelectedBlockClientIds(); + const selectedBlockClientId = selectedBlockClientIds[ 0 ]; + const showRootAppender = + ! rootClientId && + ! selectedBlockClientId && + ( ! _order.length || + ! canInsertBlockType( + getDefaultBlockName(), + rootClientId + ) ); + return { order: _order, - selectedBlocks: getSelectedBlockClientIds(), + selectedBlocks: selectedBlockClientIds, visibleBlocks: __unstableGetVisibleBlocks(), isZoomOut: _isZoomOut(), shouldRenderAppender: @@ -203,10 +214,8 @@ function Items( { hasAppender && ! _isZoomOut() && ( hasCustomAppender || - rootClientId === selectedBlockClientId || - ( ! rootClientId && - ! selectedBlockClientId && - ! _order.length ) ), + showRootAppender || + rootClientId === selectedBlockClientId ), }; }, [ rootClientId, hasAppender, hasCustomAppender ] From bfe6dd8114a09cb8213a100b5532aea9f130e1c2 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Shah Date: Fri, 31 Jan 2025 13:37:47 +0530 Subject: [PATCH 057/153] Fix: Additional CSS button not working after back navigation (#68954) * Reset editor canvas view when navigating away from CSS screen * Added effect to reset editorCanvasContainerView when navigating away from CSS screen * Added tracking of previous path using usePrevious hook to detect navigation changes * Added comparison of current and previous paths to determine when to reset the view * Reset view to undefined to ensure clean state for next CSS screen activation * Reset editor canvas view when navigating back from CSS screen * Added onBack handler to ScreenCSS component * Added setEditorCanvasContainerView to reset view state * Added missing dependencies for view state management * Fixed Additional CSS button not working after navigation Co-authored-by: Infinite-Null Co-authored-by: t-hamano --- .../edit-site/src/components/global-styles/screen-css.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/edit-site/src/components/global-styles/screen-css.js b/packages/edit-site/src/components/global-styles/screen-css.js index 7d67bac28824fe..570ac7abef269d 100644 --- a/packages/edit-site/src/components/global-styles/screen-css.js +++ b/packages/edit-site/src/components/global-styles/screen-css.js @@ -4,11 +4,13 @@ import { __ } from '@wordpress/i18n'; import { ExternalLink } from '@wordpress/components'; import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor'; +import { useDispatch } from '@wordpress/data'; /** * Internal dependencies */ import { unlock } from '../../lock-unlock'; +import { store as editSiteStore } from '../../store'; import ScreenHeader from './header'; const { useGlobalStyle, AdvancedPanel: StylesAdvancedPanel } = unlock( @@ -26,6 +28,10 @@ function ScreenCSS() { shouldDecodeEncode: false, } ); + const { setEditorCanvasContainerView } = unlock( + useDispatch( editSiteStore ) + ); + return ( <> } + onBack={ () => { + setEditorCanvasContainerView( undefined ); + } } />

Date: Fri, 31 Jan 2025 09:35:35 +0100 Subject: [PATCH 058/153] Block Hooks: Fix truncation of post content (#68926) * Block Hooks: Repurpose GB compat function * Block Hooks: Absorb temporary wrapper block functionality into apply_block_hooks_to_content * Remove now-obsolete logic from Post Content block * Remove now-obsolete logic from Synced Pattern block * Whitespace * Use in gutenberg_insert_hooked_blocks_into_rest_response * Remove now-obsolete variable * Use in Navigation block * Navigation block: Remove now-obsolete Block Hooks helpers * Rename function * Replace filters correctly * Rename context to post * Add type annotation * Add PHPDoc * Add backport changelog Unlinked contributors: theMasudRana, jacobzymet. Co-authored-by: ockham Co-authored-by: gziolo Co-authored-by: Mamaduka Co-authored-by: t-hamano Co-authored-by: richtabor Co-authored-by: rinkalpagdar Co-authored-by: PaulREnglish Co-authored-by: ryelle --- backport-changelog/6.8/8212.md | 3 + lib/compat/wordpress-6.8/blocks.php | 122 ++++++++++++------ packages/block-library/src/block/index.php | 19 +-- .../block-library/src/navigation/index.php | 80 ++---------- .../block-library/src/post-content/index.php | 23 ---- 5 files changed, 96 insertions(+), 151 deletions(-) create mode 100644 backport-changelog/6.8/8212.md diff --git a/backport-changelog/6.8/8212.md b/backport-changelog/6.8/8212.md new file mode 100644 index 00000000000000..a4488d2da99f2b --- /dev/null +++ b/backport-changelog/6.8/8212.md @@ -0,0 +1,3 @@ +https://github.com/WordPress/wordpress-develop/pull/8212 + +* https://github.com/WordPress/gutenberg/pull/68926 diff --git a/lib/compat/wordpress-6.8/blocks.php b/lib/compat/wordpress-6.8/blocks.php index 6cfa98691020ef..90be78cd1457fb 100644 --- a/lib/compat/wordpress-6.8/blocks.php +++ b/lib/compat/wordpress-6.8/blocks.php @@ -5,14 +5,79 @@ * @package gutenberg */ -function gutenberg_apply_block_hooks_to_post_content( $content ) { - // The `the_content` filter does not provide the post that the content is coming from. - // However, we can infer it by calling `get_post()`, which will return the current post - // if no post ID is provided. - return apply_block_hooks_to_content( $content, get_post(), 'insert_hooked_blocks' ); +if ( ! function_exists( 'apply_block_hooks_to_content_from_post_object' ) ) { + /** + * Run the Block Hooks algorithm on a post object's content. + * + * This function is different from `apply_block_hooks_to_content` in that + * it takes ignored hooked block information from the post's metadata into + * account. This ensures that any blocks hooked as first or last child + * of the block that corresponds to the post type are handled correctly. + * + * @since 6.8.0 + * @access private + * + * @param string $content Serialized content. + * @param WP_Post|null $post A post object that the content belongs to. If set to `null`, + * `get_post()` will be called to use the current post as context. + * Default: `null`. + * @param callable $callback A function that will be called for each block to generate + * the markup for a given list of blocks that are hooked to it. + * Default: 'insert_hooked_blocks'. + * @return string The serialized markup. + */ + function apply_block_hooks_to_content_from_post_object( $content, WP_Post $post = null, $callback = 'insert_hooked_blocks' ) { + // Default to the current post if no context is provided. + if ( null === $post ) { + $post = get_post(); + } + + if ( ! $post instanceof WP_Post ) { + return apply_block_hooks_to_content( $content, $post, $callback ); + } + + $attributes = array(); + + // If context is a post object, `ignoredHookedBlocks` information is stored in its post meta. + $ignored_hooked_blocks = get_post_meta( $post->ID, '_wp_ignored_hooked_blocks', true ); + if ( ! empty( $ignored_hooked_blocks ) ) { + $ignored_hooked_blocks = json_decode( $ignored_hooked_blocks, true ); + $attributes['metadata'] = array( + 'ignoredHookedBlocks' => $ignored_hooked_blocks, + ); + } + + // We need to wrap the content in a temporary wrapper block with that metadata + // so the Block Hooks algorithm can insert blocks that are hooked as first or last child + // of the wrapper block. + // To that end, we need to determine the wrapper block type based on the post type. + if ( 'wp_navigation' === $post->post_type ) { + $wrapper_block_type = 'core/navigation'; + } elseif ( 'wp_block' === $post->post_type ) { + $wrapper_block_type = 'core/block'; + } else { + $wrapper_block_type = 'core/post-content'; + } + + $content = get_comment_delimited_block_content( + $wrapper_block_type, + $attributes, + $content + ); + + // Apply Block Hooks. + $content = apply_block_hooks_to_content( $content, $post, $callback ); + + // Finally, we need to remove the temporary wrapper block. + $content = remove_serialized_parent_block( $content ); + + return $content; + } + // We need to apply this filter before `do_blocks` (which is hooked to `the_content` at priority 9). + add_filter( 'the_content', 'apply_block_hooks_to_content_from_post_object', 8 ); + // Remove apply_block_hooks_to_content filter (previously added in Core). + remove_filter( 'the_content', 'apply_block_hooks_to_content', 8 ); } -// We need to apply this filter before `do_blocks` (which is hooked to `the_content` at priority 9). -add_filter( 'the_content', 'gutenberg_apply_block_hooks_to_post_content', 8 ); /** * Hooks into the REST API response for the Posts endpoint and adds the first and last inner blocks. @@ -29,57 +94,32 @@ function gutenberg_insert_hooked_blocks_into_rest_response( $response, $post ) { return $response; } - $attributes = array(); - $ignored_hooked_blocks = get_post_meta( $post->ID, '_wp_ignored_hooked_blocks', true ); - if ( ! empty( $ignored_hooked_blocks ) ) { - $ignored_hooked_blocks = json_decode( $ignored_hooked_blocks, true ); - $attributes['metadata'] = array( - 'ignoredHookedBlocks' => $ignored_hooked_blocks, - ); - } - - if ( 'wp_navigation' === $post->post_type ) { - $wrapper_block_type = 'core/navigation'; - } elseif ( 'wp_block' === $post->post_type ) { - $wrapper_block_type = 'core/block'; - } else { - $wrapper_block_type = 'core/post-content'; - } - - $content = get_comment_delimited_block_content( - $wrapper_block_type, - $attributes, - $response->data['content']['raw'] - ); - - $content = apply_block_hooks_to_content( - $content, + $response->data['content']['raw'] = apply_block_hooks_to_content_from_post_object( + $response->data['content']['raw'], $post, 'insert_hooked_blocks_and_set_ignored_hooked_blocks_metadata' ); - // Remove mock block wrapper. - $content = remove_serialized_parent_block( $content ); - - $response->data['content']['raw'] = $content; - // If the rendered content was previously empty, we leave it like that. if ( empty( $response->data['content']['rendered'] ) ) { return $response; } // No need to inject hooked blocks twice. - $priority = has_filter( 'the_content', 'apply_block_hooks_to_content' ); + $priority = has_filter( 'the_content', 'apply_block_hooks_to_content_from_post_object' ); if ( false !== $priority ) { - remove_filter( 'the_content', 'apply_block_hooks_to_content', $priority ); + remove_filter( 'the_content', 'apply_block_hooks_to_content_from_post_object', $priority ); } /** This filter is documented in wp-includes/post-template.php */ - $response->data['content']['rendered'] = apply_filters( 'the_content', $content ); + $response->data['content']['rendered'] = apply_filters( + 'the_content', + $response->data['content']['raw'] + ); // Add back the filter. if ( false !== $priority ) { - add_filter( 'the_content', 'apply_block_hooks_to_content', $priority ); + add_filter( 'the_content', 'apply_block_hooks_to_content_from_post_object', $priority ); } return $response; diff --git a/packages/block-library/src/block/index.php b/packages/block-library/src/block/index.php index e8075115cabda4..94df5d5df6c077 100644 --- a/packages/block-library/src/block/index.php +++ b/packages/block-library/src/block/index.php @@ -87,25 +87,8 @@ function render_block_core_block( $attributes ) { add_filter( 'render_block_context', $filter_block_context, 1 ); } - $ignored_hooked_blocks = get_post_meta( $attributes['ref'], '_wp_ignored_hooked_blocks', true ); - if ( ! empty( $ignored_hooked_blocks ) ) { - $ignored_hooked_blocks = json_decode( $ignored_hooked_blocks, true ); - $attributes['metadata'] = array( - 'ignoredHookedBlocks' => $ignored_hooked_blocks, - ); - } - - // Wrap in "Block" block so the Block Hooks algorithm can insert blocks - // that are hooked as first or last child of `core/block`. - $content = get_comment_delimited_block_content( - 'core/block', - $attributes, - $content - ); // Apply Block Hooks. - $content = apply_block_hooks_to_content( $content, $reusable_block ); - // Remove block wrapper. - $content = remove_serialized_parent_block( $content ); + $content = apply_block_hooks_to_content_from_post_object( $content, $reusable_block ); $content = do_blocks( $content ); unset( $seen_refs[ $attributes['ref'] ] ); diff --git a/packages/block-library/src/navigation/index.php b/packages/block-library/src/navigation/index.php index 43ca8331534275..d52b67b7e1958c 100644 --- a/packages/block-library/src/navigation/index.php +++ b/packages/block-library/src/navigation/index.php @@ -241,11 +241,12 @@ private static function get_inner_blocks_from_navigation_post( $attributes ) { // it encounters whitespace. This code strips it. $blocks = block_core_navigation_filter_out_empty_blocks( $parsed_blocks ); - // Run Block Hooks algorithm to inject hooked blocks. - $markup = block_core_navigation_insert_hooked_blocks( $blocks, $navigation_post ); - $root_nav_block = parse_blocks( $markup )[0]; - - $blocks = isset( $root_nav_block['innerBlocks'] ) ? $root_nav_block['innerBlocks'] : $blocks; + // Re-serialize, and run Block Hooks algorithm to inject hooked blocks. + // TODO: See if we can move the apply_block_hooks_to_content_from_post_object() call + // before the parse_blocks() call further above, to avoid the extra serialization/parsing. + $markup = serialize_blocks( $blocks ); + $markup = apply_block_hooks_to_content_from_post_object( $markup, $navigation_post ); + $blocks = parse_blocks( $markup ); // TODO - this uses the full navigation block attributes for the // context which could be refined. @@ -1077,12 +1078,11 @@ function block_core_navigation_get_fallback_blocks() { // Run Block Hooks algorithm to inject hooked blocks. // We have to run it here because we need the post ID of the Navigation block to track ignored hooked blocks. - $markup = block_core_navigation_insert_hooked_blocks( $fallback_blocks, $navigation_post ); - $blocks = parse_blocks( $markup ); - - if ( isset( $blocks[0]['innerBlocks'] ) ) { - $fallback_blocks = $blocks[0]['innerBlocks']; - } + // TODO: See if we can move the apply_block_hooks_to_content_from_post_object() call + // before the parse_blocks() call further above, to avoid the extra serialization/parsing. + $markup = serialize_blocks( $fallback_blocks ); + $markup = apply_block_hooks_to_content_from_post_object( $markup, $navigation_post ); + $fallback_blocks = parse_blocks( $markup ); } /** @@ -1436,61 +1436,3 @@ function block_core_navigation_get_most_recently_published_navigation() { return null; } - -/** - * Mock a parsed block for the Navigation block given its inner blocks and the `wp_navigation` post object. - * The `wp_navigation` post's `_wp_ignored_hooked_blocks` meta is queried to add the `metadata.ignoredHookedBlocks` attribute. - * - * @since 6.5.0 - * - * @param array $inner_blocks Parsed inner blocks of a Navigation block. - * @param WP_Post $post `wp_navigation` post object corresponding to the block. - * - * @return array the normalized parsed blocks. - */ -function block_core_navigation_mock_parsed_block( $inner_blocks, $post ) { - $attributes = array(); - - if ( isset( $post->ID ) ) { - $ignored_hooked_blocks = get_post_meta( $post->ID, '_wp_ignored_hooked_blocks', true ); - if ( ! empty( $ignored_hooked_blocks ) ) { - $ignored_hooked_blocks = json_decode( $ignored_hooked_blocks, true ); - $attributes['metadata'] = array( - 'ignoredHookedBlocks' => $ignored_hooked_blocks, - ); - } - } - - $mock_anchor_parent_block = array( - 'blockName' => 'core/navigation', - 'attrs' => $attributes, - 'innerBlocks' => $inner_blocks, - 'innerContent' => array_fill( 0, count( $inner_blocks ), null ), - ); - - return $mock_anchor_parent_block; -} - -/** - * Insert hooked blocks into a Navigation block. - * - * Given a Navigation block's inner blocks and its corresponding `wp_navigation` post object, - * this function inserts hooked blocks into it, and returns the serialized inner blocks in a - * mock Navigation block wrapper. - * - * If there are any hooked blocks that need to be inserted as the Navigation block's first or last - * children, the `wp_navigation` post's `_wp_ignored_hooked_blocks` meta is checked to see if any - * of those hooked blocks should be exempted from insertion. - * - * @since 6.5.0 - * - * @param array $inner_blocks Parsed inner blocks of a Navigation block. - * @param WP_Post $post `wp_navigation` post object corresponding to the block. - * @return string Serialized inner blocks in mock Navigation block wrapper, with hooked blocks inserted, if any. - */ -function block_core_navigation_insert_hooked_blocks( $inner_blocks, $post ) { - $mock_navigation_block = block_core_navigation_mock_parsed_block( $inner_blocks, $post ); - - $mock_navigation_block_markup = serialize_block( $mock_navigation_block ); - return apply_block_hooks_to_content( $mock_navigation_block_markup, $post, 'insert_hooked_blocks' ); -} diff --git a/packages/block-library/src/post-content/index.php b/packages/block-library/src/post-content/index.php index e0a06b7217eebe..25be880cc47887 100644 --- a/packages/block-library/src/post-content/index.php +++ b/packages/block-library/src/post-content/index.php @@ -46,33 +46,10 @@ function render_block_core_post_content( $attributes, $content, $block ) { $content .= wp_link_pages( array( 'echo' => 0 ) ); } - $ignored_hooked_blocks = get_post_meta( $post_id, '_wp_ignored_hooked_blocks', true ); - if ( ! empty( $ignored_hooked_blocks ) ) { - $ignored_hooked_blocks = json_decode( $ignored_hooked_blocks, true ); - $attributes['metadata'] = array( - 'ignoredHookedBlocks' => $ignored_hooked_blocks, - ); - } - - // Wrap in Post Content block so the Block Hooks algorithm can insert blocks - // that are hooked as first or last child of `core/post-content`. - $content = get_comment_delimited_block_content( - 'core/post-content', - $attributes, - $content - ); - - // We need to remove the `core/post-content` block wrapper after the Block Hooks algorithm, - // but before `do_blocks` runs, as it would otherwise attempt to render the same block again -- - // thus recursing infinitely. - add_filter( 'the_content', 'remove_serialized_parent_block', 8 ); - /** This filter is documented in wp-includes/post-template.php */ $content = apply_filters( 'the_content', str_replace( ']]>', ']]>', $content ) ); unset( $seen_ids[ $post_id ] ); - remove_filter( 'the_content', 'remove_serialized_parent_block', 8 ); - if ( empty( $content ) ) { return ''; } From 4f5270a4b4641d91d3f73577bb004f181f626865 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Fri, 31 Jan 2025 12:40:54 +0400 Subject: [PATCH 059/153] Edit Site: Fix Fields package private APIs error (#68964) Co-authored-by: Mamaduka Co-authored-by: youknowriad --- packages/edit-site/src/components/page-patterns/index.js | 3 +-- packages/edit-site/src/components/page-templates/index.js | 3 +-- packages/editor/src/private-apis.js | 8 +++++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/edit-site/src/components/page-patterns/index.js b/packages/edit-site/src/components/page-patterns/index.js index b23213fa1a6db3..904d7aff1b535c 100644 --- a/packages/edit-site/src/components/page-patterns/index.js +++ b/packages/edit-site/src/components/page-patterns/index.js @@ -9,7 +9,6 @@ import { usePrevious } from '@wordpress/compose'; import { useEntityRecords } from '@wordpress/core-data'; import { privateApis as editorPrivateApis } from '@wordpress/editor'; import { privateApis as routerPrivateApis } from '@wordpress/router'; -import { patternTitleField } from '@wordpress/fields'; /** * Internal dependencies @@ -34,7 +33,7 @@ import { } from './fields'; const { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis ); -const { usePostActions } = unlock( editorPrivateApis ); +const { usePostActions, patternTitleField } = unlock( editorPrivateApis ); const { useLocation, useHistory } = unlock( routerPrivateApis ); const EMPTY_ARRAY = []; diff --git a/packages/edit-site/src/components/page-templates/index.js b/packages/edit-site/src/components/page-templates/index.js index e0e04e0f5da924..d6375805637331 100644 --- a/packages/edit-site/src/components/page-templates/index.js +++ b/packages/edit-site/src/components/page-templates/index.js @@ -7,7 +7,6 @@ import { privateApis as corePrivateApis } from '@wordpress/core-data'; import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews'; import { privateApis as routerPrivateApis } from '@wordpress/router'; import { privateApis as editorPrivateApis } from '@wordpress/editor'; -import { templateTitleField } from '@wordpress/fields'; import { addQueryArgs } from '@wordpress/url'; /** @@ -27,7 +26,7 @@ import { useEditPostAction } from '../dataviews-actions'; import { authorField, descriptionField, previewField } from './fields'; import { useEvent } from '@wordpress/compose'; -const { usePostActions } = unlock( editorPrivateApis ); +const { usePostActions, templateTitleField } = unlock( editorPrivateApis ); const { useHistory, useLocation } = unlock( routerPrivateApis ); const { useEntityRecordsWithPermissions } = unlock( corePrivateApis ); diff --git a/packages/editor/src/private-apis.js b/packages/editor/src/private-apis.js index 11083eb6ab8a45..e064c73b0ae639 100644 --- a/packages/editor/src/private-apis.js +++ b/packages/editor/src/private-apis.js @@ -23,7 +23,11 @@ import { mergeBaseAndUserConfigs, GlobalStylesProvider, } from './components/global-styles-provider'; -import { CreateTemplatePartModal } from '@wordpress/fields'; +import { + CreateTemplatePartModal, + patternTitleField, + templateTitleField, +} from '@wordpress/fields'; import { registerCoreBlockBindingsSources } from './bindings/api'; import { getTemplateInfo } from './utils/get-template-info'; @@ -32,6 +36,8 @@ const { store: interfaceStore, ...remainingInterfaceApis } = interfaceApis; export const privateApis = {}; lock( privateApis, { CreateTemplatePartModal, + patternTitleField, + templateTitleField, BackButton, EntitiesSavedStatesExtensible, Editor, From 8b837f7e2dd6e144f689017fafeaac472cead637 Mon Sep 17 00:00:00 2001 From: Mayank Tripathi <70465598+Mayank-Tripathi32@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:56:06 +0530 Subject: [PATCH 060/153] [Block Editor]: A11y - Add and Update missing reduce-motion mixing (#68417) Co-authored-by: Mayank-Tripathi32 Co-authored-by: t-hamano --- .../src/components/block-canvas/style.scss | 5 +- .../src/components/block-draggable/style.scss | 4 +- .../src/components/block-list/content.scss | 31 ++++++----- .../src/components/block-mover/style.scss | 9 ++-- .../components/block-pattern-setup/style.scss | 4 +- .../components/block-patterns-list/style.scss | 6 +-- .../src/components/block-switcher/style.scss | 4 +- .../src/components/block-toolbar/style.scss | 8 +-- .../src/components/block-tools/style.scss | 9 ++-- .../button-block-appender/content.scss | 6 +-- .../components/colors-gradients/style.scss | 5 +- .../src/components/global-styles/style.scss | 4 +- .../src/components/grid/style.scss | 9 ++-- .../src/components/iframe/content.scss | 7 ++- .../components/inserter-list-item/style.scss | 15 +++--- .../src/components/inserter/style.scss | 10 ++-- .../src/components/link-control/style.scss | 17 ++++--- .../src/components/list-view/style.scss | 51 ++++++++++++------- .../src/components/url-input/style.scss | 5 +- 19 files changed, 131 insertions(+), 78 deletions(-) diff --git a/packages/block-editor/src/components/block-canvas/style.scss b/packages/block-editor/src/components/block-canvas/style.scss index ea54646e64a59a..c6688f5f387e0e 100644 --- a/packages/block-editor/src/components/block-canvas/style.scss +++ b/packages/block-editor/src/components/block-canvas/style.scss @@ -4,7 +4,8 @@ iframe[name="editor-canvas"] { height: 100%; display: block; // Handles transitions between device previews - transition: all 400ms cubic-bezier(0.46, 0.03, 0.52, 0.96); - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: all 400ms cubic-bezier(0.46, 0.03, 0.52, 0.96); + } background-color: $gray-300; } diff --git a/packages/block-editor/src/components/block-draggable/style.scss b/packages/block-editor/src/components/block-draggable/style.scss index f716f2d32a1d40..f420251510ac64 100644 --- a/packages/block-editor/src/components/block-draggable/style.scss +++ b/packages/block-editor/src/components/block-draggable/style.scss @@ -59,7 +59,9 @@ justify-content: center; align-items: center; background-color: transparent; - transition: all 0.1s linear 0.1s; + @media not ( prefers-reduced-motion ) { + transition: all 0.1s linear 0.1s; + } .block-editor-block-draggable-chip__disabled-icon { width: $grid-unit-50 * 0.5; diff --git a/packages/block-editor/src/components/block-list/content.scss b/packages/block-editor/src/components/block-list/content.scss index cd517fced833ef..b39e9b144bbc9e 100644 --- a/packages/block-editor/src/components/block-list/content.scss +++ b/packages/block-editor/src/components/block-list/content.scss @@ -58,10 +58,12 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .b background: var(--wp-admin-theme-color); opacity: 0.4; - // Animate. - animation: selection-overlay__fade-in-animation 0.1s ease-out; - animation-fill-mode: forwards; - @include reduce-motion("animation"); + @media not ( prefers-reduced-motion ) { + + // Animate. + animation: selection-overlay__fade-in-animation 0.1s ease-out; + animation-fill-mode: forwards; + } // Show outline in high contrast mode. outline: 2px solid transparent; @@ -271,8 +273,9 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .b // Spotlight mode. Fade out blocks unless they contain a selected block. .is-focus-mode .block-editor-block-list__block:not(.has-child-selected) { opacity: 0.2; - transition: opacity 0.1s linear; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: opacity 0.1s linear; + } // Nested blocks should never be faded. If the parent block is already faded // out, it shouldn't be faded out more. If the parent block in not faded @@ -339,9 +342,10 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .b // Hide the appender that sits at the end of block lists, when inside a nested block, // unless the block itself, or a parent, is selected. .wp-block .block-list-appender .block-editor-inserter__toggle { - animation: block-editor-inserter__toggle__fade-in-animation 0.1s ease; - animation-fill-mode: forwards; - @include reduce-motion("animation"); + @media not ( prefers-reduced-motion ) { + animation: block-editor-inserter__toggle__fade-in-animation 0.1s ease; + animation-fill-mode: forwards; + } } .block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender { @@ -367,8 +371,9 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .b font-family: $editor-html-font; font-size: $text-editor-font-size; line-height: 1.5; - transition: padding 0.2s linear; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: padding 0.2s linear; + } &:focus { box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); @@ -400,7 +405,9 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .b // Additional -1px is required to avoid sub pixel rounding errors allowing background to show. margin-left: -1px; margin-right: -1px; - transition: background-color 0.3s ease; + @media not ( prefers-reduced-motion ) { + transition: background-color 0.3s ease; + } display: flex; align-items: center; justify-content: center; diff --git a/packages/block-editor/src/components/block-mover/style.scss b/packages/block-editor/src/components/block-mover/style.scss index 7d23c0f1e5a988..2560fe59de4fab 100644 --- a/packages/block-editor/src/components/block-mover/style.scss +++ b/packages/block-editor/src/components/block-mover/style.scss @@ -87,10 +87,11 @@ right: $grid-unit-10; z-index: -1; - // Animate in. - animation: components-button__appear-animation 0.1s ease; - animation-fill-mode: forwards; - @include reduce-motion("animation"); + @media not ( prefers-reduced-motion ) { + // Animate in. + animation: components-button__appear-animation 0.1s ease; + animation-fill-mode: forwards; + } } // Don't show the focus inherited by the Button component. diff --git a/packages/block-editor/src/components/block-pattern-setup/style.scss b/packages/block-editor/src/components/block-pattern-setup/style.scss index 10582a7a2ce496..98537f9cb9b7dd 100644 --- a/packages/block-editor/src/components/block-pattern-setup/style.scss +++ b/packages/block-editor/src/components/block-pattern-setup/style.scss @@ -130,7 +130,9 @@ background-color: $white; margin: auto; padding: 0; - transition: transform 0.5s, z-index 0.5s; + @media not ( prefers-reduced-motion ) { + transition: transform 0.5s, z-index 0.5s; + } z-index: z-index(".block-editor-block-pattern-setup .pattern-slide"); &.active-slide { diff --git a/packages/block-editor/src/components/block-patterns-list/style.scss b/packages/block-editor/src/components/block-patterns-list/style.scss index 8b1b0b54c9b1a0..fcf1a23c0b7cae 100644 --- a/packages/block-editor/src/components/block-patterns-list/style.scss +++ b/packages/block-editor/src/components/block-patterns-list/style.scss @@ -44,9 +44,9 @@ outline: $border-width solid rgba($black, 0.1); outline-offset: -$border-width; border-radius: $radius-medium; - - transition: outline 0.1s linear; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: outline 0.1s linear; + } } } diff --git a/packages/block-editor/src/components/block-switcher/style.scss b/packages/block-editor/src/components/block-switcher/style.scss index 62a7bebe95d278..2762308eec961e 100644 --- a/packages/block-editor/src/components/block-switcher/style.scss +++ b/packages/block-editor/src/components/block-switcher/style.scss @@ -129,7 +129,9 @@ .block-editor-block-switcher__preview-patterns-container-list__item { height: 100%; border-radius: $radius-small; - transition: all 0.05s ease-in-out; + @media not ( prefers-reduced-motion ) { + transition: all 0.05s ease-in-out; + } position: relative; border: $border-width solid transparent; diff --git a/packages/block-editor/src/components/block-toolbar/style.scss b/packages/block-editor/src/components/block-toolbar/style.scss index 26bf71356925e9..2a3543f5ec7977 100644 --- a/packages/block-editor/src/components/block-toolbar/style.scss +++ b/packages/block-editor/src/components/block-toolbar/style.scss @@ -12,9 +12,11 @@ overflow-y: hidden; overflow-x: auto; - // Animation - transition: border-color 0.1s linear, box-shadow 0.1s linear; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + + // Animation + transition: border-color 0.1s linear, box-shadow 0.1s linear; + } @include break-small() { overflow: inherit; diff --git a/packages/block-editor/src/components/block-tools/style.scss b/packages/block-editor/src/components/block-tools/style.scss index 35d075c1a99b78..35d0f99c827b67 100644 --- a/packages/block-editor/src/components/block-tools/style.scss +++ b/packages/block-editor/src/components/block-tools/style.scss @@ -191,9 +191,12 @@ .is-dragging-components-draggable & { opacity: 0; - // Use a minimal duration to delay hiding the element, see hide-during-dragging animation for more details. - // It's essential to hide the toolbar/popover so that `dragEnter` events can pass through them to the underlying elements. - animation: hide-during-dragging 1ms linear forwards; + @media not ( prefers-reduced-motion ) { + + // Use a minimal duration to delay hiding the element, see hide-during-dragging animation for more details. + // It's essential to hide the toolbar/popover so that `dragEnter` events can pass through them to the underlying elements. + animation: hide-during-dragging 1ms linear forwards; + } } .block-editor-block-parent-selector { diff --git a/packages/block-editor/src/components/button-block-appender/content.scss b/packages/block-editor/src/components/button-block-appender/content.scss index f5486d3f6f6086..dd6f0924835677 100644 --- a/packages/block-editor/src/components/button-block-appender/content.scss +++ b/packages/block-editor/src/components/button-block-appender/content.scss @@ -79,10 +79,8 @@ background-color: var(--wp-admin-theme-color); box-shadow: inset 0 0 0 $border-width $light-gray-placeholder; color: $light-gray-placeholder; - transition: background-color 0.2s ease-in-out; - - @media ( prefers-reduced-motion: reduce ) { - transition: none; + @media not ( prefers-reduced-motion ) { + transition: background-color 0.2s ease-in-out; } } } diff --git a/packages/block-editor/src/components/colors-gradients/style.scss b/packages/block-editor/src/components/colors-gradients/style.scss index 661318e5582414..6a882c4b1883ce 100644 --- a/packages/block-editor/src/components/colors-gradients/style.scss +++ b/packages/block-editor/src/components/colors-gradients/style.scss @@ -129,8 +129,9 @@ $swatch-gap: 12px; top: $grid-unit; margin: auto $grid-unit auto; opacity: 0; - transition: opacity 0.1s ease-in-out; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: opacity 0.1s ease-in-out; + } &.block-editor-panel-color-gradient-settings__reset { border-radius: $radius-small; diff --git a/packages/block-editor/src/components/global-styles/style.scss b/packages/block-editor/src/components/global-styles/style.scss index e0782fdb01b1d0..c51ffa3116d9f0 100644 --- a/packages/block-editor/src/components/global-styles/style.scss +++ b/packages/block-editor/src/components/global-styles/style.scss @@ -53,7 +53,9 @@ box-sizing: border-box; transform: scale(1); - transition: transform 0.1s ease; + @media not ( prefers-reduced-motion ) { + transition: transform 0.1s ease; + } will-change: transform; &:focus { diff --git a/packages/block-editor/src/components/grid/style.scss b/packages/block-editor/src/components/grid/style.scss index e6d9e65d6db9ee..ab36ed12984bd7 100644 --- a/packages/block-editor/src/components/grid/style.scss +++ b/packages/block-editor/src/components/grid/style.scss @@ -126,10 +126,11 @@ right: $grid-unit-10; z-index: -1; - // Animate in. - animation: components-button__appear-animation 0.1s ease; - animation-fill-mode: forwards; - @include reduce-motion("animation"); + @media not ( prefers-reduced-motion ) { + // Animate in. + animation: components-button__appear-animation 0.1s ease; + animation-fill-mode: forwards; + } } // Don't show the focus inherited by the Button component. diff --git a/packages/block-editor/src/components/iframe/content.scss b/packages/block-editor/src/components/iframe/content.scss index 05bbdb25c2dc63..8a85ea186b2e64 100644 --- a/packages/block-editor/src/components/iframe/content.scss +++ b/packages/block-editor/src/components/iframe/content.scss @@ -4,8 +4,11 @@ .block-editor-iframe__html { transform-origin: top center; - // Prevents a flash of background color change when entering/exiting zoom out - transition: background-color 400ms; + + @media not ( prefers-reduced-motion ) { + // Prevents a flash of background color change when entering/exiting zoom out + transition: background-color 400ms; + } &.zoom-out-animation { $scroll-top: var(--wp-block-editor-iframe-zoom-out-scroll-top, 0); diff --git a/packages/block-editor/src/components/inserter-list-item/style.scss b/packages/block-editor/src/components/inserter-list-item/style.scss index 435f60ed9e2f14..68d4059340f5c9 100644 --- a/packages/block-editor/src/components/inserter-list-item/style.scss +++ b/packages/block-editor/src/components/inserter-list-item/style.scss @@ -43,8 +43,9 @@ cursor: pointer; background: transparent; word-break: break-word; - transition: all 0.05s ease-in-out; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: all 0.05s ease-in-out; + } position: relative; height: auto; @@ -97,8 +98,9 @@ .block-editor-block-types-list__item-icon { padding: 12px 20px; color: $gray-900; - transition: all 0.05s ease-in-out; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: all 0.05s ease-in-out; + } .block-editor-block-icon { margin-left: auto; @@ -106,8 +108,9 @@ } svg { - transition: all 0.15s ease-out; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: all 0.15s ease-out; + } } .block-editor-block-types-list__list-item[draggable="true"] & { diff --git a/packages/block-editor/src/components/inserter/style.scss b/packages/block-editor/src/components/inserter/style.scss index c6522671f938d7..fe0893b0619a72 100644 --- a/packages/block-editor/src/components/inserter/style.scss +++ b/packages/block-editor/src/components/inserter/style.scss @@ -83,8 +83,9 @@ $block-inserter-tabs-height: 44px; border: none; outline: none; padding: 0; - transition: color 0.2s ease; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: color 0.2s ease; + } } .block-editor-inserter__menu { @@ -563,8 +564,9 @@ $block-inserter-tabs-height: 44px; outline-color: var(--wp-admin-theme-color); outline-width: var(--wp-admin-border-width-focus); outline-offset: calc((-1 * var(--wp-admin-border-width-focus))); - transition: outline 0.1s linear; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: outline 0.1s linear; + } } } diff --git a/packages/block-editor/src/components/link-control/style.scss b/packages/block-editor/src/components/link-control/style.scss index 16493e1a5aa7f0..c10135f8e441a7 100644 --- a/packages/block-editor/src/components/link-control/style.scss +++ b/packages/block-editor/src/components/link-control/style.scss @@ -289,8 +289,10 @@ $block-editor-link-control-number-of-actions: 1; right: 0; bottom: 0; border-radius: 100%; - animation: loadingpulse 1s linear infinite; - animation-delay: 0.5s; // avoid animating for fast network responses + @media not ( prefers-reduced-motion ) { + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; // avoid animating for fast network responses + } } } } @@ -381,16 +383,19 @@ $block-editor-link-control-number-of-actions: 1; // Point downwards when open (same as list view expander) &[aria-expanded="true"] svg { visibility: visible; - transition: transform 0.1s ease; + @media not ( prefers-reduced-motion ) { + transition: transform 0.1s ease; + } transform: rotate(90deg); - @include reduce-motion("transition"); + } // Point rightwards when closed (same as list view expander) &[aria-expanded="false"] svg { visibility: visible; transform: rotate(0deg); - transition: transform 0.1s ease; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: transform 0.1s ease; + } } } } diff --git a/packages/block-editor/src/components/list-view/style.scss b/packages/block-editor/src/components/list-view/style.scss index 138029262cd7f5..bc68cb26637905 100644 --- a/packages/block-editor/src/components/list-view/style.scss +++ b/packages/block-editor/src/components/list-view/style.scss @@ -158,21 +158,27 @@ // without attaching the transition to the list view leaf itself. This prevents rows // from animating too much once the user has dropped the block. &.is-displacement-normal { - transition: transform 0.2s; + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s; + } transform: translateY(0); - @include reduce-motion("transition"); + } &.is-displacement-up { - transition: transform 0.2s; + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s; + } transform: translateY(-32px); - @include reduce-motion("transition"); + } &.is-displacement-down { - transition: transform 0.2s; + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s; + } transform: translateY(32px); - @include reduce-motion("transition"); + } // Collapse multi-selections down into a single row space while dragging. The following @@ -180,23 +186,30 @@ // when displacing up and down. The result is that there should only ever be a single row's // worth of space for the visual indicator of where a block will be placed when dropped. &.is-after-dragged-blocks { - transition: transform 0.2s; + + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s; + } transform: translateY(calc(var(--wp-admin--list-view-dragged-items-height, 32px) * -1)); - @include reduce-motion("transition"); + } &.is-after-dragged-blocks.is-displacement-up { - transition: transform 0.2s; + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s; + } transform: translateY(calc(-32px + var(--wp-admin--list-view-dragged-items-height, 32px) * -1)); - @include reduce-motion("transition"); + } &.is-after-dragged-blocks.is-displacement-down { - transition: transform 0.2s; + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s; + } transform: translateY(calc(32px + var(--wp-admin--list-view-dragged-items-height, 32px) * -1)); - @include reduce-motion("transition"); + } // To ensure displaced rows behave correctly, ensure that blocks that are currently being dragged @@ -233,7 +246,9 @@ font-weight: 400; margin: 0; text-decoration: none; - transition: box-shadow 0.1s linear; + @media not ( prefers-reduced-motion ) { + transition: box-shadow 0.1s linear; + } .components-modal__content & { padding-left: 0; @@ -496,9 +511,10 @@ $block-navigation-max-indent: 8; .block-editor-list-view__expander svg { visibility: visible; - transition: transform 0.2s ease; + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s ease; + } transform: rotate(90deg); - @include reduce-motion("transition"); } // Point rightwards when closed @@ -507,8 +523,9 @@ svg { svg { visibility: visible; transform: rotate(0deg); - transition: transform 0.2s ease; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: transform 0.2s ease; + } } .block-editor-list-view-drop-indicator { diff --git a/packages/block-editor/src/components/url-input/style.scss b/packages/block-editor/src/components/url-input/style.scss index ef37566f8e34e0..579b3117662998 100644 --- a/packages/block-editor/src/components/url-input/style.scss +++ b/packages/block-editor/src/components/url-input/style.scss @@ -33,8 +33,9 @@ $input-size: 300px; // Suggestions .block-editor-url-input__suggestions { max-height: 200px; - transition: all 0.15s ease-in-out; - @include reduce-motion("transition"); + @media not ( prefers-reduced-motion ) { + transition: all 0.15s ease-in-out; + } padding: 4px 0; // To match the url-input width: input width + padding + 2 buttons. width: $input-size + 2; From 4dadd50e6caeda5da07005320de01085ffd9fcbe Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Fri, 31 Jan 2025 19:01:17 +0900 Subject: [PATCH 061/153] Performance: Improve StyleBook resize responsiveness for Classic Theme (#68980) Co-authored-by: t-hamano Co-authored-by: Mamaduka --- .../edit-site/src/components/style-book/index.js | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/packages/edit-site/src/components/style-book/index.js b/packages/edit-site/src/components/style-book/index.js index 723953777e2b28..f05acdfdd30080 100644 --- a/packages/edit-site/src/components/style-book/index.js +++ b/packages/edit-site/src/components/style-book/index.js @@ -24,7 +24,6 @@ import { } from '@wordpress/block-editor'; import { privateApis as editorPrivateApis } from '@wordpress/editor'; import { useSelect, dispatch } from '@wordpress/data'; -import { useResizeObserver } from '@wordpress/compose'; import { useMemo, useState, @@ -227,7 +226,6 @@ function StyleBook( { userConfig = {}, path = '', } ) { - const [ resizeObserver, sizes ] = useResizeObserver(); const [ textColor ] = useGlobalStyle( 'color.text' ); const [ backgroundColor ] = useGlobalStyle( 'color.background' ); const colors = useMultiOriginPalettes(); @@ -282,7 +280,6 @@ function StyleBook( { >
600, 'is-button': !! onClick, } ) } style={ { @@ -290,7 +287,6 @@ function StyleBook( { background: backgroundColor, } } > - { resizeObserver } { showTabs ? (
@@ -331,7 +327,6 @@ function StyleBook( { isSelected={ isSelected } onSelect={ onSelect } settings={ settings } - sizes={ sizes } title={ tab.title } goTo={ goTo } /> @@ -346,7 +341,6 @@ function StyleBook( { onClick={ onClick } onSelect={ onSelect } settings={ settings } - sizes={ sizes } goTo={ goTo } /> ) } @@ -420,7 +414,6 @@ export const StyleBookPreview = ( { userConfig = {}, isStatic = false } ) => { onChangeSection( `/blocks/${ encodeURIComponent( blockName ) }` ); }; - const [ resizeObserver, sizes ] = useResizeObserver(); const colors = useMultiOriginPalettes(); const examples = getExamples( colors ); const examplesForSinglePageUse = getExamplesForSinglePageUse( examples ); @@ -489,14 +482,12 @@ export const StyleBookPreview = ( { userConfig = {}, isStatic = false } ) => { return (
- { resizeObserver } @@ -511,7 +502,6 @@ export const StyleBookBody = ( { onClick, onSelect, settings, - sizes, title, goTo, } ) => { @@ -574,9 +564,7 @@ export const StyleBookBody = ( { 'body { cursor: pointer; } body * { pointer-events: none; }' } 600, - } ) } + className="edit-site-style-book__examples" filteredExamples={ examples } label={ title From d9fa3ac5a146f6ed47c7bb3d30baccf9bd0db632 Mon Sep 17 00:00:00 2001 From: Benazeer Hassan <66269472+benazeer-ben@users.noreply.github.com> Date: Fri, 31 Jan 2025 19:36:50 +0530 Subject: [PATCH 062/153] RSS: Border & Spacing support (#66411) * RSS block border support * Added block and spacing support for RSS block * Doc Build * Lint js fix * Lint js fix * Feed back changes * Review changes * Update packages/block-library/src/rss/editor.scss Co-authored-by: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> * Update packages/block-library/src/rss/style.scss Co-authored-by: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> * Eslint fix & Format change --------- Co-authored-by: benazeer1909 <91200605+benazeerhassan1909@users.noreply.github.com> Co-authored-by: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> Unlinked contributors: benazeerhassan1909. Co-authored-by: benazeer-ben Co-authored-by: ramonjd Co-authored-by: aaronrobertshaw Co-authored-by: shail-mehta --- docs/reference-guides/core-blocks.md | 2 +- packages/block-library/src/rss/block.json | 14 ++++++++++++++ packages/block-library/src/rss/edit.js | 15 ++++++++++++++- packages/block-library/src/rss/editor.scss | 7 +++++++ packages/block-library/src/rss/style.scss | 14 ++++++-------- 5 files changed, 42 insertions(+), 10 deletions(-) diff --git a/docs/reference-guides/core-blocks.md b/docs/reference-guides/core-blocks.md index 7ac8591cd19318..3579b9b81bf48f 100644 --- a/docs/reference-guides/core-blocks.md +++ b/docs/reference-guides/core-blocks.md @@ -811,7 +811,7 @@ Display entries from any RSS or Atom feed. ([Source](https://github.com/WordPres - **Name:** core/rss - **Category:** widgets -- **Supports:** align, color (background, gradients, link, text), interactivity (clientNavigation), ~~html~~ +- **Supports:** align, color (background, gradients, link, text), interactivity (clientNavigation), spacing (margin, padding), ~~html~~ - **Attributes:** blockLayout, columns, displayAuthor, displayDate, displayExcerpt, excerptLength, feedURL, itemsToShow ## Search diff --git a/packages/block-library/src/rss/block.json b/packages/block-library/src/rss/block.json index 844104b7d8113d..112dec4a32c78b 100644 --- a/packages/block-library/src/rss/block.json +++ b/packages/block-library/src/rss/block.json @@ -47,6 +47,20 @@ "interactivity": { "clientNavigation": true }, + "__experimentalBorder": { + "radius": true, + "color": true, + "width": true, + "style": true + }, + "spacing": { + "margin": true, + "padding": true, + "__experimentalDefaultControls": { + "padding": false, + "margin": false + } + }, "color": { "background": true, "text": true, diff --git a/packages/block-library/src/rss/edit.js b/packages/block-library/src/rss/edit.js index 39564da79b16e5..d931bc8cb01d87 100644 --- a/packages/block-library/src/rss/edit.js +++ b/packages/block-library/src/rss/edit.js @@ -119,6 +119,19 @@ export default function RSSEdit( { attributes, setAttributes } ) { }, ]; + /* + * This function merges the existing attributes with additional style properties. + * The `border` and `spacing` properties are set to `undefined` to ensure that + * these styles are reset and not applied on the server side. + */ + const serverSideAttributes = { + ...attributes, + style: { + ...attributes?.style, + border: undefined, + spacing: undefined, + }, + }; return ( <> @@ -190,7 +203,7 @@ export default function RSSEdit( { attributes, setAttributes } ) {
diff --git a/packages/block-library/src/rss/editor.scss b/packages/block-library/src/rss/editor.scss index c5e79d6254460b..83fef1d73f4f37 100644 --- a/packages/block-library/src/rss/editor.scss +++ b/packages/block-library/src/rss/editor.scss @@ -5,3 +5,10 @@ .wp-block-rss__placeholder-form .wp-block-rss__placeholder-input { flex: 1 1 auto; } +// Reset all styles when skipping block supports while server-side rendering. +// This prevents issues such as duplicate padding, borders etc. +.wp-block-rss .wp-block-rss { + all: inherit; + margin: 0; + padding: 0; +} diff --git a/packages/block-library/src/rss/style.scss b/packages/block-library/src/rss/style.scss index f7360ec76f85ac..76cc232044ff30 100644 --- a/packages/block-library/src/rss/style.scss +++ b/packages/block-library/src/rss/style.scss @@ -1,11 +1,4 @@ ul.wp-block-rss { // The ul is needed for specificity to override the reset styles in the editor. - list-style: none; - padding: 0; - - // This needs extra specificity due to the reset mixin on the parent: https://github.com/WordPress/gutenberg/blob/a250e9e5fe00dd5195624f96a3d924e7078951c3/packages/edit-post/src/style.scss#L54 - &.wp-block-rss { - box-sizing: border-box; - } &.alignleft { /*rtl:ignore*/ @@ -19,7 +12,6 @@ ul.wp-block-rss { // The ul is needed for specificity to override the reset styl display: flex; flex-wrap: wrap; padding: 0; - list-style: none; li { margin: 0 1em 1em 0; @@ -41,3 +33,9 @@ ul.wp-block-rss { // The ul is needed for specificity to override the reset styl display: block; font-size: 0.8125em; } +.wp-block-rss { + // This block has customizable padding, border-box makes that more predictable. + box-sizing: border-box; + list-style: none; + padding: 0; +} From 2dd6aa1f7bdf98f83cd5bdd6e894e89a873ddc7e Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Sat, 1 Feb 2025 01:59:05 +0900 Subject: [PATCH 063/153] Regenerate block fixtures (#68982) Co-authored-by: t-hamano Co-authored-by: Mamaduka --- test/integration/fixtures/blocks/core__separator-color.json | 4 ++-- .../fixtures/blocks/core__separator-custom-color.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/integration/fixtures/blocks/core__separator-color.json b/test/integration/fixtures/blocks/core__separator-color.json index d66a8b2e1a242e..d53b7287428038 100644 --- a/test/integration/fixtures/blocks/core__separator-color.json +++ b/test/integration/fixtures/blocks/core__separator-color.json @@ -4,8 +4,8 @@ "isValid": true, "attributes": { "opacity": "alpha-channel", - "backgroundColor": "accent", - "tagName": "hr" + "tagName": "hr", + "backgroundColor": "accent" }, "innerBlocks": [] } diff --git a/test/integration/fixtures/blocks/core__separator-custom-color.json b/test/integration/fixtures/blocks/core__separator-custom-color.json index 9b126f2b5be6c7..444cf3cf9b19b4 100644 --- a/test/integration/fixtures/blocks/core__separator-custom-color.json +++ b/test/integration/fixtures/blocks/core__separator-custom-color.json @@ -4,12 +4,12 @@ "isValid": true, "attributes": { "opacity": "alpha-channel", + "tagName": "hr", "style": { "color": { "background": "#5da54c" } - }, - "tagName": "hr" + } }, "innerBlocks": [] } From f2ea441ec7bda6dad4fdb43aac509fcee4a56abc Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Sat, 1 Feb 2025 11:53:16 +1100 Subject: [PATCH 064/153] Site Editor: Use temporary redirects for deprecated URLs. (#68971) Modifies the redirects from deprecated site-editor URLs to use 302 temporary redirects rather than 301 permanent redirects. This prevents the browser from caching the redirect as the destination will differ for logged in and logged out users. This also switches from using `wp_redirect()` to `wp_safe_redirect()` in accordance with best practices when redirecting within a WordPress site. Follow up to #67199 Incorporating changes in https://github.com/WordPress/wordpress-develop/pull/7903 See https://core.trac.wordpress.org/ticket/62585 Co-authored-by: peterwilsoncc Co-authored-by: Mamaduka --- backport-changelog/6.8/7903.md | 2 ++ lib/compat/wordpress-6.8/site-editor.php | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/backport-changelog/6.8/7903.md b/backport-changelog/6.8/7903.md index cb20d8d2dd2b1b..60703831a8e391 100644 --- a/backport-changelog/6.8/7903.md +++ b/backport-changelog/6.8/7903.md @@ -1,3 +1,5 @@ https://github.com/WordPress/wordpress-develop/pull/7903 * https://github.com/WordPress/gutenberg/pull/67199 +* https://github.com/WordPress/gutenberg/pull/68971 + diff --git a/lib/compat/wordpress-6.8/site-editor.php b/lib/compat/wordpress-6.8/site-editor.php index 9b2575676047d1..82ac118b013c16 100644 --- a/lib/compat/wordpress-6.8/site-editor.php +++ b/lib/compat/wordpress-6.8/site-editor.php @@ -15,6 +15,16 @@ function ( $settings ) { } ); +/** + * Maps old site editor urls to the new updated ones. + * + * @since 6.8.0 + * @access private + * + * @global string $pagenow The filename of the current screen. + * + * @return string|false The new URL to redirect to, or false if no redirection is needed. + */ function gutenberg_get_site_editor_redirection() { global $pagenow; if ( 'site-editor.php' !== $pagenow || isset( $_REQUEST['p'] ) || ! $_SERVER['QUERY_STRING'] ) { @@ -96,10 +106,13 @@ function gutenberg_get_site_editor_redirection() { return add_query_arg( array( 'p' => '/' ) ); } +/** + * Redirect old site editor urls to the new updated ones. + */ function gutenberg_redirect_site_editor_deprecated_urls() { $redirection = gutenberg_get_site_editor_redirection(); if ( false !== $redirection ) { - wp_redirect( $redirection, 301 ); + wp_safe_redirect( $redirection ); exit; } } From 24fad40a6915c4ac1b7cb1403d9930b962fd5176 Mon Sep 17 00:00:00 2001 From: Shail Mehta Date: Sat, 1 Feb 2025 15:13:27 +0530 Subject: [PATCH 065/153] Changed Inline Document Order (#68992) Co-authored-by: shail-mehta Co-authored-by: Mamaduka --- packages/block-editor/src/components/inner-blocks/index.js | 4 ++-- .../block-editor/src/components/inner-blocks/index.native.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/block-editor/src/components/inner-blocks/index.js b/packages/block-editor/src/components/inner-blocks/index.js index ae587720278200..58faf9f9a34e1a 100644 --- a/packages/block-editor/src/components/inner-blocks/index.js +++ b/packages/block-editor/src/components/inner-blocks/index.js @@ -174,11 +174,11 @@ const ForwardedInnerBlocks = forwardRef( ( props, ref ) => { * returns. Optionally, you can also pass any other props through this hook, and * they will be merged and returned. * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md + * * @param {Object} props Optional. Props to pass to the element. Must contain * the ref if one is defined. * @param {Object} options Optional. Inner blocks options. - * - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md */ export function useInnerBlocksProps( props = {}, options = {} ) { const { diff --git a/packages/block-editor/src/components/inner-blocks/index.native.js b/packages/block-editor/src/components/inner-blocks/index.native.js index 1398a5abd51e4b..635c44d2e085c5 100644 --- a/packages/block-editor/src/components/inner-blocks/index.native.js +++ b/packages/block-editor/src/components/inner-blocks/index.native.js @@ -35,11 +35,11 @@ import { MAX_NESTING_DEPTH } from './constants'; * returns. Optionally, you can also pass any other props through this hook, and * they will be merged and returned. * + * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/inner-blocks/README.md + * * @param {Object} props Optional. Props to pass to the element. Must contain * the ref if one is defined. * @param {Object} options Optional. Inner blocks options. - * - * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/inner-blocks/README.md */ export function useInnerBlocksProps( props = {}, options = {} ) { const fallbackRef = useRef(); From c9b256927a60011bc7bce1371c673972f84835f8 Mon Sep 17 00:00:00 2001 From: George Garside <191085+grgar@users.noreply.github.com> Date: Sun, 2 Feb 2025 06:17:15 +0000 Subject: [PATCH 066/153] Add optional chain to sizes indexing of media details in edit-site (#68995) This optional chaining is already present in 21 other lines in Gutenberg where `sizes` (in `media_details`) is indexed, but is missing on these two lines. For some reason, `media_details` is an empty object for some of my attachments on my site, so this throws a TypeError. This change resolves this issue. Co-authored-by: grgar Co-authored-by: Mamaduka --- packages/edit-site/src/components/media/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/edit-site/src/components/media/index.js b/packages/edit-site/src/components/media/index.js index e103e6bcddb5b2..0e0c7abaae4644 100644 --- a/packages/edit-site/src/components/media/index.js +++ b/packages/edit-site/src/components/media/index.js @@ -6,11 +6,11 @@ import { useEntityRecord } from '@wordpress/core-data'; function Media( { id, size = [ 'large', 'medium', 'thumbnail' ], ...props } ) { const { record: media } = useEntityRecord( 'root', 'media', id ); const currentSize = size.find( - ( s ) => !! media?.media_details?.sizes[ s ] + ( s ) => !! media?.media_details?.sizes?.[ s ] ); const mediaUrl = - media?.media_details?.sizes[ currentSize ]?.source_url || + media?.media_details?.sizes?.[ currentSize ]?.source_url || media?.source_url; if ( ! mediaUrl ) { From 36690dc8b264f0434d8786b648cac8b2a31e3582 Mon Sep 17 00:00:00 2001 From: Sainath Poojary <53347682+SainathPoojary@users.noreply.github.com> Date: Mon, 3 Feb 2025 10:25:25 +0530 Subject: [PATCH 067/153] Inserter: Remove block default icon from no results message (#68693) Co-authored-by: SainathPoojary Co-authored-by: afercia --- .../src/components/downloadable-blocks-panel/no-results.js | 5 ----- packages/block-editor/src/components/inserter/no-results.js | 5 ----- 2 files changed, 10 deletions(-) diff --git a/packages/block-directory/src/components/downloadable-blocks-panel/no-results.js b/packages/block-directory/src/components/downloadable-blocks-panel/no-results.js index f2344061f95660..e4d04cd244687d 100644 --- a/packages/block-directory/src/components/downloadable-blocks-panel/no-results.js +++ b/packages/block-directory/src/components/downloadable-blocks-panel/no-results.js @@ -2,17 +2,12 @@ * WordPress dependencies */ import { __ } from '@wordpress/i18n'; -import { Icon, blockDefault } from '@wordpress/icons'; import { Tip, ExternalLink } from '@wordpress/components'; function DownloadableBlocksNoResults() { return ( <>
-

{ __( 'No results found.' ) }

diff --git a/packages/block-editor/src/components/inserter/no-results.js b/packages/block-editor/src/components/inserter/no-results.js index 3ca6569dc14ea4..e005622f3cf3dc 100644 --- a/packages/block-editor/src/components/inserter/no-results.js +++ b/packages/block-editor/src/components/inserter/no-results.js @@ -2,15 +2,10 @@ * WordPress dependencies */ import { __ } from '@wordpress/i18n'; -import { Icon, blockDefault } from '@wordpress/icons'; function InserterNoResults() { return (
-

{ __( 'No results found.' ) }

); From 0feca715013b985b2cd7761c253fb3be5556870b Mon Sep 17 00:00:00 2001 From: Himanshu Pathak Date: Mon, 3 Feb 2025 12:59:34 +0530 Subject: [PATCH 068/153] Social Links: Remove redundant reduce-motion mixin (#69000) Co-authored-by: himanshupathak95 Co-authored-by: mirka <0mirka00@git.wordpress.org> Co-authored-by: Mayank-Tripathi32 Co-authored-by: t-hamano --- packages/block-library/src/social-links/editor.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/block-library/src/social-links/editor.scss b/packages/block-library/src/social-links/editor.scss index 11f1ed86d11220..54a4154659eb2d 100644 --- a/packages/block-library/src/social-links/editor.scss +++ b/packages/block-library/src/social-links/editor.scss @@ -89,7 +89,6 @@ // Unconfigured placeholder links are semitransparent. .wp-social-link.wp-social-link__is-incomplete { opacity: 0.5; - @include reduce-motion("transition"); } .wp-block-social-links .is-selected .wp-social-link__is-incomplete, From be0e151a4d775a801c1fe9ab8047acefef5dbacb Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Mon, 3 Feb 2025 12:33:09 +0400 Subject: [PATCH 069/153] Editor: Display error message when loading current post fails (#68999) Co-authored-by: Mamaduka Co-authored-by: t-hamano --- .../editor/src/components/editor/index.js | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/packages/editor/src/components/editor/index.js b/packages/editor/src/components/editor/index.js index 21becea43cd7ee..80c5419caf9975 100644 --- a/packages/editor/src/components/editor/index.js +++ b/packages/editor/src/components/editor/index.js @@ -31,12 +31,17 @@ function Editor( { extraSidebarPanels, ...props } ) { - const { post, template, hasLoadedPost } = useSelect( + const { post, template, hasLoadedPost, error } = useSelect( ( select ) => { - const { getEntityRecord, hasFinishedResolution } = - select( coreStore ); + const { + getEntityRecord, + getResolutionError, + hasFinishedResolution, + } = select( coreStore ); + + const postArgs = [ 'postType', postType, postId ]; return { - post: getEntityRecord( 'postType', postType, postId ), + post: getEntityRecord( ...postArgs ), template: templateId ? getEntityRecord( 'postType', @@ -44,11 +49,12 @@ function Editor( { templateId ) : undefined, - hasLoadedPost: hasFinishedResolution( 'getEntityRecord', [ - 'postType', - postType, - postId, - ] ), + hasLoadedPost: hasFinishedResolution( + 'getEntityRecord', + postArgs + ), + error: getResolutionError( 'getEntityRecord', postArgs ) + ?.message, }; }, [ postType, postId, templateId ] @@ -57,10 +63,15 @@ function Editor( { return ( <> { hasLoadedPost && ! post && ( - - { __( - "You attempted to edit an item that doesn't exist. Perhaps it was deleted?" - ) } + + { ! error + ? __( + "You attempted to edit an item that doesn't exist. Perhaps it was deleted?" + ) + : error } ) } { !! post && ( From 14955603b46957a00af95f31ca5a89b75e2c05ad Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Mon, 3 Feb 2025 13:52:07 +0400 Subject: [PATCH 070/153] Block Editor: Fix regression for root appender logic (#68994) Co-authored-by: Mamaduka Co-authored-by: t-hamano --- packages/block-editor/src/components/block-list/index.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/block-editor/src/components/block-list/index.js b/packages/block-editor/src/components/block-list/index.js index d3a2f0ae0795c8..61c5cc277c1355 100644 --- a/packages/block-editor/src/components/block-list/index.js +++ b/packages/block-editor/src/components/block-list/index.js @@ -201,6 +201,11 @@ function Items( { getDefaultBlockName(), rootClientId ) ); + const hasSelectedRoot = !! ( + rootClientId && + selectedBlockClientId && + rootClientId === selectedBlockClientId + ); return { order: _order, @@ -214,8 +219,8 @@ function Items( { hasAppender && ! _isZoomOut() && ( hasCustomAppender || - showRootAppender || - rootClientId === selectedBlockClientId ), + hasSelectedRoot || + showRootAppender ), }; }, [ rootClientId, hasAppender, hasCustomAppender ] From ebbe466a31807bb74509589859fd0ec391c2d1b8 Mon Sep 17 00:00:00 2001 From: Shail Mehta Date: Mon, 3 Feb 2025 15:27:57 +0530 Subject: [PATCH 071/153] Archives: Add Color Support (#68685) * Archives: Add Color Support Co-authored-by: shail-mehta Co-authored-by: carolinan --- docs/reference-guides/core-blocks.md | 2 +- packages/block-library/src/archives/block.json | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/reference-guides/core-blocks.md b/docs/reference-guides/core-blocks.md index 3579b9b81bf48f..6a8f3255297c46 100644 --- a/docs/reference-guides/core-blocks.md +++ b/docs/reference-guides/core-blocks.md @@ -14,7 +14,7 @@ Display a date archive of your posts. ([Source](https://github.com/WordPress/gut - **Name:** core/archives - **Category:** widgets -- **Supports:** align, interactivity (clientNavigation), spacing (margin, padding), typography (fontSize, lineHeight), ~~html~~ +- **Supports:** align, color (background, gradients, link, text), interactivity (clientNavigation), spacing (margin, padding), typography (fontSize, lineHeight), ~~html~~ - **Attributes:** displayAsDropdown, showLabel, showPostCounts, type ## Audio diff --git a/packages/block-library/src/archives/block.json b/packages/block-library/src/archives/block.json index 7fe956a994ed5a..0351a4b694c002 100644 --- a/packages/block-library/src/archives/block.json +++ b/packages/block-library/src/archives/block.json @@ -54,6 +54,15 @@ "fontSize": true } }, + "color": { + "gradients": true, + "link": true, + "__experimentalDefaultControls": { + "background": true, + "text": true, + "link": true + } + }, "interactivity": { "clientNavigation": true } From 693e315bd00ac36828364bc0b0d8f1fe22b5963c Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Mon, 3 Feb 2025 15:31:45 +0530 Subject: [PATCH 072/153] Shadow Panel: Add reset button (#68981) * feat: add remove button for block editor shadow panel * refactor: simplify the markup * refactor: revert `toggle` markup and use consistent wording * a11y: return focus to parent button on reset Co-authored-by: yogeshbhutkar Co-authored-by: t-hamano Co-authored-by: Mamaduka --- .../global-styles/shadow-panel-components.js | 55 ++++++++++++++----- .../src/components/global-styles/style.scss | 23 ++++++++ 2 files changed, 65 insertions(+), 13 deletions(-) diff --git a/packages/block-editor/src/components/global-styles/shadow-panel-components.js b/packages/block-editor/src/components/global-styles/shadow-panel-components.js index 1cfdff0be286ee..c335ef29384f4d 100644 --- a/packages/block-editor/src/components/global-styles/shadow-panel-components.js +++ b/packages/block-editor/src/components/global-styles/shadow-panel-components.js @@ -13,8 +13,8 @@ import { Composite, Tooltip, } from '@wordpress/components'; -import { useMemo } from '@wordpress/element'; -import { shadow as shadowIcon, Icon, check } from '@wordpress/icons'; +import { useMemo, useRef } from '@wordpress/element'; +import { shadow as shadowIcon, Icon, check, reset } from '@wordpress/icons'; /** * External dependencies @@ -119,7 +119,7 @@ export function ShadowPopover( { shadow, onShadowChange, settings } ) { ( { + const shadowButtonRef = useRef( undefined ); + const toggleProps = { onClick: onToggle, className: clsx( { 'is-open': isOpen } ), 'aria-expanded': isOpen, + ref: shadowButtonRef, + }; + + const removeButtonProps = { + onClick: () => { + if ( isOpen ) { + onToggle(); + } + onShadowChange( undefined ); + // Return focus to parent button. + shadowButtonRef.current?.focus(); + }, + className: clsx( + 'block-editor-global-styles__shadow-editor__remove-button', + { 'is-open': isOpen } + ), + label: __( 'Remove' ), }; return ( - + { !! shadow && ( + + ) } + ); }; } diff --git a/packages/block-editor/src/components/global-styles/style.scss b/packages/block-editor/src/components/global-styles/style.scss index c51ffa3116d9f0..5684cf9c0d3034 100644 --- a/packages/block-editor/src/components/global-styles/style.scss +++ b/packages/block-editor/src/components/global-styles/style.scss @@ -24,6 +24,7 @@ .block-editor-global-styles__shadow-dropdown { display: block; padding: 0; + position: relative; button { width: 100%; @@ -35,6 +36,28 @@ } } +.block-editor-global-styles__shadow-editor__remove-button { + position: absolute; + right: 0; + top: $grid-unit; + margin: auto $grid-unit auto; + opacity: 0; + @media not (prefers-reduced-motion) { + transition: opacity 0.1s ease-in-out; + } + + .block-editor-global-styles__shadow-dropdown:hover &, + &:focus, + &:hover { + opacity: 1; + } + + @media (hover: none) { + // Show reset button on devices that do not support hover. + opacity: 1; + } +} + // These styles are similar to the color palette. .block-editor-global-styles__shadow-indicator { appearance: none; From ae20971817823e3578dba3cb31130e003d79886f Mon Sep 17 00:00:00 2001 From: Akanshu Singh <61490175+singhakanshu00@users.noreply.github.com> Date: Mon, 3 Feb 2025 22:02:20 +0530 Subject: [PATCH 073/153] Disable hover animation on preview frame for classic themes (#68976) Co-authored-by: singhakanshu00 Co-authored-by: t-hamano Co-authored-by: carolinan Co-authored-by: stokesman --- packages/edit-site/src/components/resizable-frame/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/edit-site/src/components/resizable-frame/index.js b/packages/edit-site/src/components/resizable-frame/index.js index ecb7204f9f05ba..fee65fbd9dfff8 100644 --- a/packages/edit-site/src/components/resizable-frame/index.js +++ b/packages/edit-site/src/components/resizable-frame/index.js @@ -254,7 +254,7 @@ function ResizableFrame( { } } } whileHover={ - canvas === 'view' + canvas === 'view' && isBlockTheme ? { scale: 1.005, transition: { From 51d5372bc4d5a9daa6260f1c5d4619d4f43aa299 Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Tue, 4 Feb 2025 10:49:25 +0900 Subject: [PATCH 074/153] Block support: Preserve aria-label value in comment delimiter (#69002) Co-authored-by: t-hamano Co-authored-by: Mamaduka Co-authored-by: fabiankaegy --- packages/block-editor/src/hooks/aria-label.js | 11 ++-- .../parser/apply-built-in-validation-fixes.js | 18 +++++-- .../blocks/src/api/parser/fix-aria-label.js | 51 +++++++++++++++++++ packages/blocks/src/api/parser/test/index.js | 33 ++++++++++++ 4 files changed, 102 insertions(+), 11 deletions(-) create mode 100644 packages/blocks/src/api/parser/fix-aria-label.js diff --git a/packages/block-editor/src/hooks/aria-label.js b/packages/block-editor/src/hooks/aria-label.js index 7f93aa4ff8c8b2..89de261a169385 100644 --- a/packages/block-editor/src/hooks/aria-label.js +++ b/packages/block-editor/src/hooks/aria-label.js @@ -4,13 +4,6 @@ import { addFilter } from '@wordpress/hooks'; import { hasBlockSupport } from '@wordpress/blocks'; -const ARIA_LABEL_SCHEMA = { - type: 'string', - source: 'attribute', - attribute: 'aria-label', - selector: '*', -}; - /** * Filters registered block settings, extending attributes with ariaLabel using aria-label * of the first node. @@ -28,7 +21,9 @@ export function addAttribute( settings ) { // Gracefully handle if settings.attributes is undefined. settings.attributes = { ...settings.attributes, - ariaLabel: ARIA_LABEL_SCHEMA, + ariaLabel: { + type: 'string', + }, }; } diff --git a/packages/blocks/src/api/parser/apply-built-in-validation-fixes.js b/packages/blocks/src/api/parser/apply-built-in-validation-fixes.js index 13dbb1e6825c96..52d6583265e6b9 100644 --- a/packages/blocks/src/api/parser/apply-built-in-validation-fixes.js +++ b/packages/blocks/src/api/parser/apply-built-in-validation-fixes.js @@ -2,6 +2,7 @@ * Internal dependencies */ import { fixCustomClassname } from './fix-custom-classname'; +import { fixAriaLabel } from './fix-aria-label'; /** * Attempts to fix block invalidation by applying build-in validation fixes @@ -15,11 +16,22 @@ import { fixCustomClassname } from './fix-custom-classname'; * @return {WPBlock} Fixed block object */ export function applyBuiltInValidationFixes( block, blockType ) { - const updatedBlockAttributes = fixCustomClassname( - block.attributes, + const { attributes, originalContent } = block; + let updatedBlockAttributes = attributes; + + // Fix block invalidation for className attribute. + updatedBlockAttributes = fixCustomClassname( + attributes, + blockType, + originalContent + ); + // Fix block invalidation for ariaLabel attribute. + updatedBlockAttributes = fixAriaLabel( + updatedBlockAttributes, blockType, - block.originalContent + originalContent ); + return { ...block, attributes: updatedBlockAttributes, diff --git a/packages/blocks/src/api/parser/fix-aria-label.js b/packages/blocks/src/api/parser/fix-aria-label.js new file mode 100644 index 00000000000000..79fa30c713da20 --- /dev/null +++ b/packages/blocks/src/api/parser/fix-aria-label.js @@ -0,0 +1,51 @@ +/** + * Internal dependencies + */ +import { hasBlockSupport } from '../registration'; +import { parseWithAttributeSchema } from './get-block-attributes'; + +const ARIA_LABEL_ATTR_SCHEMA = { + type: 'string', + source: 'attribute', + selector: '[data-aria-label] > *', + attribute: 'aria-label', +}; + +/** + * Given an HTML string, returns the aria-label attribute assigned to + * the root element in the markup. + * + * @param {string} innerHTML Markup string from which to extract the aria-label. + * + * @return {string} The aria-label assigned to the root element. + */ +export function getHTMLRootElementAriaLabel( innerHTML ) { + const parsed = parseWithAttributeSchema( + `
${ innerHTML }
`, + ARIA_LABEL_ATTR_SCHEMA + ); + return parsed; +} + +/** + * Given a parsed set of block attributes, if the block supports ariaLabel + * and an aria-label attribute is found, the aria-label attribute is assigned + * to the block attributes. + * + * @param {Object} blockAttributes Original block attributes. + * @param {Object} blockType Block type settings. + * @param {string} innerHTML Original block markup. + * + * @return {Object} Filtered block attributes. + */ +export function fixAriaLabel( blockAttributes, blockType, innerHTML ) { + if ( ! hasBlockSupport( blockType, 'ariaLabel', false ) ) { + return blockAttributes; + } + const modifiedBlockAttributes = { ...blockAttributes }; + const ariaLabel = getHTMLRootElementAriaLabel( innerHTML ); + if ( ariaLabel ) { + modifiedBlockAttributes.ariaLabel = ariaLabel; + } + return modifiedBlockAttributes; +} diff --git a/packages/blocks/src/api/parser/test/index.js b/packages/blocks/src/api/parser/test/index.js index 42923a7d3eeb35..452fca329af76b 100644 --- a/packages/blocks/src/api/parser/test/index.js +++ b/packages/blocks/src/api/parser/test/index.js @@ -82,6 +82,39 @@ describe( 'block parser', () => { } ); } ); + it( 'should apply aria-label block validation fixes', () => { + registerBlockType( 'core/test-block', { + ...defaultBlockSettings, + attributes: { + fruit: { + type: 'string', + source: 'text', + selector: 'div', + }, + }, + supports: { + ariaLabel: true, + }, + save: ( { attributes } ) => ( +
+ { attributes.fruit } +
+ ), + } ); + + const block = parseRawBlock( { + blockName: 'core/test-block', + innerHTML: '
Bananas
', + attrs: { fruit: 'Bananas' }, + } ); + + expect( block.name ).toEqual( 'core/test-block' ); + expect( block.attributes ).toEqual( { + fruit: 'Bananas', + ariaLabel: 'custom-label', + } ); + } ); + it( 'should create the requested block if it exists', () => { registerBlockType( 'core/test-block', defaultBlockSettings ); From edbd36057d3d25b7140af9e90a2adcca02a9201c Mon Sep 17 00:00:00 2001 From: Gulamdastgir-Momin <156418087+Gulamdastgir-Momin@users.noreply.github.com> Date: Tue, 4 Feb 2025 07:43:16 +0530 Subject: [PATCH 075/153] Added discord in social links. (#68848) * Added discord in social links. * Remove separator color fixtures. * Restore separator color fixture. * Added svg version. Co-authored-by: Gulamdastgir-Momin Co-authored-by: t-hamano Co-authored-by: mrfoxtalbot Co-authored-by: donalirl --- .../block-library/src/social-link/icons/discord.js | 10 ++++++++++ packages/block-library/src/social-link/icons/index.js | 1 + packages/block-library/src/social-link/index.php | 4 ++++ .../src/social-link/socials-with-bg.scss | 5 +++++ .../src/social-link/socials-without-bg.scss | 4 ++++ packages/block-library/src/social-link/variations.js | 7 +++++++ .../fixtures/blocks/core__social-link-discord.html | 1 + .../fixtures/blocks/core__social-link-discord.json | 11 +++++++++++ .../blocks/core__social-link-discord.parsed.json | 11 +++++++++++ .../blocks/core__social-link-discord.serialized.html | 1 + 10 files changed, 55 insertions(+) create mode 100644 packages/block-library/src/social-link/icons/discord.js create mode 100644 test/integration/fixtures/blocks/core__social-link-discord.html create mode 100644 test/integration/fixtures/blocks/core__social-link-discord.json create mode 100644 test/integration/fixtures/blocks/core__social-link-discord.parsed.json create mode 100644 test/integration/fixtures/blocks/core__social-link-discord.serialized.html diff --git a/packages/block-library/src/social-link/icons/discord.js b/packages/block-library/src/social-link/icons/discord.js new file mode 100644 index 00000000000000..6cb6165515369c --- /dev/null +++ b/packages/block-library/src/social-link/icons/discord.js @@ -0,0 +1,10 @@ +/** + * WordPress dependencies + */ +import { Path, SVG } from '@wordpress/primitives'; + +export const DiscordIcon = () => ( + + + +); diff --git a/packages/block-library/src/social-link/icons/index.js b/packages/block-library/src/social-link/icons/index.js index 422ff6f02dd20e..bcc1976a7efb03 100644 --- a/packages/block-library/src/social-link/icons/index.js +++ b/packages/block-library/src/social-link/icons/index.js @@ -5,6 +5,7 @@ export * from './bluesky'; export * from './chain'; export * from './codepen'; export * from './deviantart'; +export * from './discord'; export * from './dribbble'; export * from './dropbox'; export * from './etsy'; diff --git a/packages/block-library/src/social-link/index.php b/packages/block-library/src/social-link/index.php index f241daff2a11a8..9775f6dece5d7d 100644 --- a/packages/block-library/src/social-link/index.php +++ b/packages/block-library/src/social-link/index.php @@ -169,6 +169,10 @@ function block_core_social_link_services( $service = '', $field = '' ) { 'name' => 'DeviantArt', 'icon' => '', ), + 'discord' => array( + 'name' => 'Discord', + 'icon' => '', + ), 'dribbble' => array( 'name' => 'Dribbble', 'icon' => '', diff --git a/packages/block-library/src/social-link/socials-with-bg.scss b/packages/block-library/src/social-link/socials-with-bg.scss index 35420fc624c0e6..b51b718459739d 100644 --- a/packages/block-library/src/social-link/socials-with-bg.scss +++ b/packages/block-library/src/social-link/socials-with-bg.scss @@ -33,6 +33,11 @@ color: #fff; } +.wp-social-link-discord { + background-color: #5865f2; + color: #fff; +} + .wp-social-link-dribbble { background-color: #e94c89; color: #fff; diff --git a/packages/block-library/src/social-link/socials-without-bg.scss b/packages/block-library/src/social-link/socials-without-bg.scss index 24538b29824b17..12b8620efb9f7f 100644 --- a/packages/block-library/src/social-link/socials-without-bg.scss +++ b/packages/block-library/src/social-link/socials-without-bg.scss @@ -22,6 +22,10 @@ color: #02e49b; } +.wp-social-link-discord { + color: #5865f2; +} + .wp-social-link-dribbble { color: #e94c89; } diff --git a/packages/block-library/src/social-link/variations.js b/packages/block-library/src/social-link/variations.js index a97a396882d761..59fb469181449d 100644 --- a/packages/block-library/src/social-link/variations.js +++ b/packages/block-library/src/social-link/variations.js @@ -9,6 +9,7 @@ import { ChainIcon, CodepenIcon, DeviantArtIcon, + DiscordIcon, DribbbleIcon, DropboxIcon, EtsyIcon, @@ -108,6 +109,12 @@ const variations = [ title: 'DeviantArt', icon: DeviantArtIcon, }, + { + name: 'discord', + attributes: { service: 'discord' }, + title: 'Discord', + icon: DiscordIcon, + }, { name: 'dribbble', attributes: { service: 'dribbble' }, diff --git a/test/integration/fixtures/blocks/core__social-link-discord.html b/test/integration/fixtures/blocks/core__social-link-discord.html new file mode 100644 index 00000000000000..e060dec0d1673f --- /dev/null +++ b/test/integration/fixtures/blocks/core__social-link-discord.html @@ -0,0 +1 @@ + diff --git a/test/integration/fixtures/blocks/core__social-link-discord.json b/test/integration/fixtures/blocks/core__social-link-discord.json new file mode 100644 index 00000000000000..fa5ce3ebf051d3 --- /dev/null +++ b/test/integration/fixtures/blocks/core__social-link-discord.json @@ -0,0 +1,11 @@ +[ + { + "name": "core/social-link", + "isValid": true, + "attributes": { + "url": "https://example.com/", + "service": "discord" + }, + "innerBlocks": [] + } +] diff --git a/test/integration/fixtures/blocks/core__social-link-discord.parsed.json b/test/integration/fixtures/blocks/core__social-link-discord.parsed.json new file mode 100644 index 00000000000000..7904c03b69d9d8 --- /dev/null +++ b/test/integration/fixtures/blocks/core__social-link-discord.parsed.json @@ -0,0 +1,11 @@ +[ + { + "blockName": "core/social-link-discord", + "attrs": { + "url": "https://example.com/" + }, + "innerBlocks": [], + "innerHTML": "", + "innerContent": [] + } +] diff --git a/test/integration/fixtures/blocks/core__social-link-discord.serialized.html b/test/integration/fixtures/blocks/core__social-link-discord.serialized.html new file mode 100644 index 00000000000000..c61b5ffcb46a57 --- /dev/null +++ b/test/integration/fixtures/blocks/core__social-link-discord.serialized.html @@ -0,0 +1 @@ + From 06379a3d51be05d10ebdfdc9029a94c5c5984306 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Tue, 4 Feb 2025 09:10:16 +0400 Subject: [PATCH 076/153] Query Block: Fix 'parents' argument validation (#68983) Co-authored-by: Mamaduka Co-authored-by: t-hamano --- backport-changelog/6.8/8245.md | 3 +++ lib/compat/wordpress-6.8/blocks.php | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 backport-changelog/6.8/8245.md diff --git a/backport-changelog/6.8/8245.md b/backport-changelog/6.8/8245.md new file mode 100644 index 00000000000000..ca9bc3588c5cec --- /dev/null +++ b/backport-changelog/6.8/8245.md @@ -0,0 +1,3 @@ +https://github.com/WordPress/wordpress-develop/pull/8245 + +* https://github.com/WordPress/gutenberg/pull/68983 diff --git a/lib/compat/wordpress-6.8/blocks.php b/lib/compat/wordpress-6.8/blocks.php index 90be78cd1457fb..1d27215762fe42 100644 --- a/lib/compat/wordpress-6.8/blocks.php +++ b/lib/compat/wordpress-6.8/blocks.php @@ -217,3 +217,20 @@ function gutenberg_update_ignored_hooked_blocks_postmeta( $post ) { add_filter( 'rest_pre_insert_page', 'gutenberg_update_ignored_hooked_blocks_postmeta' ); add_filter( 'rest_pre_insert_post', 'gutenberg_update_ignored_hooked_blocks_postmeta' ); add_filter( 'rest_pre_insert_wp_block', 'gutenberg_update_ignored_hooked_blocks_postmeta' ); + +/** + * Update Query `parents` argument validation for hierarchical post types. + * A zero is a valid parent ID for hierarchical post types. Used to display top-level items. + * + * @param array $query The query vars. + * @param WP_Block $block Block instance. + * @return array The filtered query vars. + */ +function gutenberg_parents_query_vars_from_query_block( $query, $block ) { + if ( ! empty( $block->context['query']['parents'] ) && is_post_type_hierarchical( $query['post_type'] ) ) { + $query['post_parent__in'] = array_unique( array_map( 'intval', $block->context['query']['parents'] ) ); + } + + return $query; +} +add_filter( 'query_loop_block_query_vars', 'gutenberg_parents_query_vars_from_query_block', 10, 2 ); From 2670a566ebd437c8f42d3ac36dbfd3133551a583 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Tue, 4 Feb 2025 14:41:46 +0400 Subject: [PATCH 077/153] REST API: Add support for the 'ignore_sticky_posts' argument (#68970) Co-authored-by: Mamaduka Co-authored-by: spacedmonkey Co-authored-by: TimothyBJacobs Co-authored-by: iamtakashi --- backport-changelog/6.8/8228.md | 3 ++ lib/compat/wordpress-6.8/rest-api.php | 46 +++++++++++++++++++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 backport-changelog/6.8/8228.md diff --git a/backport-changelog/6.8/8228.md b/backport-changelog/6.8/8228.md new file mode 100644 index 00000000000000..0b3774ffffa5ba --- /dev/null +++ b/backport-changelog/6.8/8228.md @@ -0,0 +1,3 @@ +https://github.com/WordPress/wordpress-develop/pull/8228 + +* https://github.com/WordPress/gutenberg/pull/68970 diff --git a/lib/compat/wordpress-6.8/rest-api.php b/lib/compat/wordpress-6.8/rest-api.php index cc3d3e89014e93..fc68077b67f765 100644 --- a/lib/compat/wordpress-6.8/rest-api.php +++ b/lib/compat/wordpress-6.8/rest-api.php @@ -48,7 +48,6 @@ function gutenberg_add_default_template_part_areas_to_index( WP_REST_Response $r $response->data['default_template_part_areas'] = get_allowed_block_template_part_areas(); return $response; } - add_filter( 'rest_index', 'gutenberg_add_default_template_part_areas_to_index' ); /** @@ -70,5 +69,48 @@ function gutenberg_add_default_template_types_to_index( WP_REST_Response $respon $response->data['default_template_types'] = $indexed_template_types; return $response; } - add_filter( 'rest_index', 'gutenberg_add_default_template_types_to_index' ); + +/** + * Adds `ignore_sticky` parameter to the post collection endpoint. + * + * Note: Backports into the wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php file. + * + * @param array $query_params JSON Schema-formatted collection parameters. + * @param WP_Post_Type $post_type Post type object. + * @return array + */ +function gutenberg_modify_post_collection_paramt( $query_params, WP_Post_Type $post_type ) { + if ( 'post' === $post_type->name && ! isset( $query_params['ignore_sticky'] ) ) { + $query_params['ignore_sticky'] = array( + 'description' => __( 'Whether to ignore sticky posts or not.' ), + 'type' => 'boolean', + 'default' => false, + ); + } + + return $query_params; +} +add_filter( 'rest_post_collection_params', 'gutenberg_modify_post_collection_paramt', 10, 2 ); + +/** + * Modify posts query based on `ignore_sticky` parameter. + * + * Note: Backports into the wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php file. + * + * @param array $prepared_args Array of arguments for WP_User_Query. + * @param WP_REST_Request $request The REST API request. + * @return array Modified arguments + */ +function gutenberg_modify_post_collection_query( $args, WP_REST_Request $request ) { + /* + * Honor the original REST API `post__in` behavior. Don't prepend sticky posts + * when `post__in` has been specified. + */ + if ( isset( $request['ignore_sticky'] ) && empty( $args['post__in'] ) ) { + $args['ignore_sticky_posts'] = $request['ignore_sticky']; + } + + return $args; +} +add_filter( 'rest_post_query', 'gutenberg_modify_post_collection_query', 10, 2 ); From af2915fae5cd9d0e50719e7e8887794bd2be8dbb Mon Sep 17 00:00:00 2001 From: Sunil Prajapati <61308756+akasunil@users.noreply.github.com> Date: Tue, 4 Feb 2025 17:39:57 +0530 Subject: [PATCH 078/153] Featured Image block: Use resolution tool component (#68471) * Removed custom dropdown and implemented resolution tool component * Remove constant file and use inline constant * Extract resolution tool logic to separate component Co-authored-by: akasunil Co-authored-by: Mamaduka --- .../post-featured-image/dimension-controls.js | 45 +------------------ .../src/post-featured-image/edit.js | 42 +++++++++++++++-- 2 files changed, 41 insertions(+), 46 deletions(-) diff --git a/packages/block-library/src/post-featured-image/dimension-controls.js b/packages/block-library/src/post-featured-image/dimension-controls.js index 9a71a96b2db846..4bc343635f2f93 100644 --- a/packages/block-library/src/post-featured-image/dimension-controls.js +++ b/packages/block-library/src/post-featured-image/dimension-controls.js @@ -10,19 +10,7 @@ import { __experimentalUseCustomUnits as useCustomUnits, __experimentalToolsPanelItem as ToolsPanelItem, } from '@wordpress/components'; -import { - useSettings, - privateApis as blockEditorPrivateApis, - store as blockEditorStore, -} from '@wordpress/block-editor'; -import { useSelect } from '@wordpress/data'; - -/** - * Internal dependencies - */ -import { unlock } from '../lock-unlock'; - -const { ResolutionTool } = unlock( blockEditorPrivateApis ); +import { useSettings } from '@wordpress/block-editor'; const SCALE_OPTIONS = ( <> @@ -45,7 +33,6 @@ const SCALE_OPTIONS = ( ); const DEFAULT_SCALE = 'cover'; -const DEFAULT_SIZE = 'full'; const scaleHelp = { cover: __( @@ -61,9 +48,8 @@ const scaleHelp = { const DimensionControls = ( { clientId, - attributes: { aspectRatio, width, height, scale, sizeSlug }, + attributes: { aspectRatio, width, height, scale }, setAttributes, - media, } ) => { const [ availableUnits, defaultRatios, themeRatios, showDefaultRatios ] = useSettings( @@ -75,18 +61,6 @@ const DimensionControls = ( { const units = useCustomUnits( { availableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ], } ); - const imageSizes = useSelect( - ( select ) => select( blockEditorStore ).getSettings().imageSizes, - [] - ); - const imageSizeOptions = imageSizes - .filter( ( { slug } ) => { - return media?.media_details?.sizes?.[ slug ]?.source_url; - } ) - .map( ( { name, slug } ) => ( { - value: slug, - label: name, - } ) ); const onDimensionChange = ( dimension, nextValue ) => { const parsedValue = parseFloat( nextValue ); @@ -230,21 +204,6 @@ const DimensionControls = ( { ) } - { !! imageSizeOptions.length && ( - - setAttributes( { sizeSlug: nextSizeSlug } ) - } - isShownByDefault={ false } - resetAllFilter={ () => ( { - sizeSlug: DEFAULT_SIZE, - } ) } - /> - ) } ); }; diff --git a/packages/block-library/src/post-featured-image/edit.js b/packages/block-library/src/post-featured-image/edit.js index 6afe2c29e25045..9fd64b29908e42 100644 --- a/packages/block-library/src/post-featured-image/edit.js +++ b/packages/block-library/src/post-featured-image/edit.js @@ -27,6 +27,8 @@ import { __experimentalUseBorderProps as useBorderProps, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, useBlockEditingMode, + privateApis as blockEditorPrivateApis, + store as blockEditorStore, } from '@wordpress/block-editor'; import { useMemo, useEffect, useState } from '@wordpress/element'; import { __, sprintf } from '@wordpress/i18n'; @@ -40,12 +42,37 @@ import DimensionControls from './dimension-controls'; import OverlayControls from './overlay-controls'; import Overlay from './overlay'; import { useToolsPanelDropdownMenuProps } from '../utils/hooks'; +import { unlock } from '../lock-unlock'; const ALLOWED_MEDIA_TYPES = [ 'image' ]; +const { ResolutionTool } = unlock( blockEditorPrivateApis ); +const DEFAULT_MEDIA_SIZE_SLUG = 'full'; + +function FeaturedImageResolutionTool( { image, value, onChange } ) { + const { imageSizes } = useSelect( ( select ) => { + const { getSettings } = select( blockEditorStore ); + return { + imageSizes: getSettings().imageSizes, + }; + }, [] ); + + if ( ! imageSizes?.length ) { + return null; + } + + const imageSizeOptions = imageSizes + .filter( + ( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url + ) + .map( ( { name, slug } ) => ( { value: slug, label: name } ) ); -function getMediaSourceUrlBySizeSlug( media, slug ) { return ( - media?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url + ); } @@ -125,7 +152,9 @@ export default function PostFeaturedImageEdit( { [ featuredImage, postTypeSlug, postId ] ); - const mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug ); + const mediaUrl = + media?.media_details?.sizes?.[ sizeSlug ]?.source_url || + media?.source_url; const blockProps = useBlockProps( { style: { width, height, aspectRatio }, @@ -291,6 +320,13 @@ export default function PostFeaturedImageEdit( { /> ) } + + setAttributes( { sizeSlug: nextSizeSlug } ) + } + /> From b0e328f34efabd1097d55aed32772f8d2594d388 Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Wed, 5 Feb 2025 06:58:33 +0000 Subject: [PATCH 079/153] chore(release): publish - @wordpress/block-directory@5.17.1 - @wordpress/edit-post@8.17.1 - @wordpress/edit-site@6.17.1 - @wordpress/editor@14.17.1 --- package-lock.json | 8 ++++---- packages/block-directory/package.json | 2 +- packages/edit-post/package.json | 2 +- packages/edit-site/package.json | 2 +- packages/editor/package.json | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c8ec35e2c3a99..b7cf99a110d796 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49960,7 +49960,7 @@ }, "packages/block-directory": { "name": "@wordpress/block-directory", - "version": "5.17.0", + "version": "5.17.1", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51024,7 +51024,7 @@ }, "packages/edit-post": { "name": "@wordpress/edit-post", - "version": "8.17.0", + "version": "8.17.1", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51071,7 +51071,7 @@ }, "packages/edit-site": { "name": "@wordpress/edit-site", - "version": "6.17.0", + "version": "6.17.1", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51177,7 +51177,7 @@ }, "packages/editor": { "name": "@wordpress/editor", - "version": "14.17.0", + "version": "14.17.1", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json index b3af341dba0f37..f7750c2e49f170 100644 --- a/packages/block-directory/package.json +++ b/packages/block-directory/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-directory", - "version": "5.17.0", + "version": "5.17.1", "description": "Extend editor with block directory features to search, download and install blocks.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json index ab9096f89903a2..0403f1b952eef9 100644 --- a/packages/edit-post/package.json +++ b/packages/edit-post/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-post", - "version": "8.17.0", + "version": "8.17.1", "description": "Edit Post module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json index e830ee3066c0ce..637032e303e9e8 100644 --- a/packages/edit-site/package.json +++ b/packages/edit-site/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-site", - "version": "6.17.0", + "version": "6.17.1", "description": "Edit Site Page module for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/editor/package.json b/packages/editor/package.json index bfa645fa88a74b..3b40e5965b6a33 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/editor", - "version": "14.17.0", + "version": "14.17.1", "description": "Enhanced block editor for WordPress posts.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", From 589e763287a8cc9a2750196f81f4cffcc6558121 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Wed, 5 Feb 2025 00:39:55 -0700 Subject: [PATCH 080/153] ComboboxControl: Add an `isLoading` prop to show a loading spinner (#68990) Co-authored-by: adamsilverstein Co-authored-by: Mamaduka Co-authored-by: ciampo --- packages/components/CHANGELOG.md | 2 ++ packages/components/src/combobox-control/README.md | 10 +++++++++- packages/components/src/combobox-control/index.tsx | 5 ++++- packages/components/src/combobox-control/style.scss | 5 ++++- packages/components/src/combobox-control/types.ts | 7 +++++++ 5 files changed, 26 insertions(+), 3 deletions(-) diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index c487b0a17a288d..a36773a8e16d66 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- `ComboboxControl`: Add an `isLoading` prop to show a loading spinner ([#68990](https://github.com/WordPress/gutenberg/pull/68990)) + ## 29.3.0 (2025-01-29) ### Enhancements diff --git a/packages/components/src/combobox-control/README.md b/packages/components/src/combobox-control/README.md index 4089cf9c56e9b5..7a11c8b95fe2e9 100644 --- a/packages/components/src/combobox-control/README.md +++ b/packages/components/src/combobox-control/README.md @@ -39,6 +39,7 @@ function MyComboboxControl() { label="Font Size" value={ fontSize } onChange={ setFontSize } + isLoading={ isLoading } options={ filteredOptions } onFilterValueChange={ ( inputValue ) => setFilteredOptions( @@ -112,13 +113,20 @@ If the control is clicked, the dropdown will expand regardless of this prop. - Required: No - Default: `true` -### placeholder +#### placeholder If passed, the combobox input will show a placeholder string if no values are present. - Type: `string` - Required: No +#### isLoading + +Show a spinner (and hide the suggestions dropdown) while data about the matching suggestions (ie the `options` prop) is loading + +- Type: `Boolean` +- Required: No + #### __experimentalRenderItem Custom renderer invoked for each option in the suggestion list. The render prop receives as its argument an object containing, under the `item` key, the single option's data (directly from the array of data passed to the `options` prop). diff --git a/packages/components/src/combobox-control/index.tsx b/packages/components/src/combobox-control/index.tsx index 28510c8653d02e..9c6bd2a4d75dd2 100644 --- a/packages/components/src/combobox-control/index.tsx +++ b/packages/components/src/combobox-control/index.tsx @@ -35,6 +35,7 @@ import type { TokenInputProps } from '../form-token-field/types'; import { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props'; import { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events'; import { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size'; +import Spinner from '../spinner'; const noop = () => {}; @@ -126,6 +127,7 @@ function ComboboxControl( props: ComboboxControlProps ) { help, allowReset = true, className, + isLoading = false, messages = { selected: __( 'Item selected.' ), }, @@ -362,6 +364,7 @@ function ComboboxControl( props: ComboboxControlProps ) { onChange={ onInputChange } /> + { isLoading && } { allowReset && ( From 177743059a87db2ba5f11f83dc8964e543bf3a03 Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Fri, 7 Feb 2025 16:51:30 +0530 Subject: [PATCH 104/153] Duotone Settings: Add `reset` button and improve toggle rendering in FiltersPanel (#68672) * Duotone Settings: Add reset button and improve toggle rendering in FiltersPanel * refactor: revert usage of `clearable` prop * refactor: hover on button to show `reset` * refactor: remove the usage of `ItemGroup` and add `css` for border * refactor: update button label to 'Reset' and adjust border color in filters panel Co-authored-by: yogeshbhutkar Co-authored-by: t-hamano --- .../components/global-styles/filters-panel.js | 69 +++++++++++++------ .../src/components/global-styles/style.scss | 27 ++++++++ 2 files changed, 75 insertions(+), 21 deletions(-) diff --git a/packages/block-editor/src/components/global-styles/filters-panel.js b/packages/block-editor/src/components/global-styles/filters-panel.js index 64322d0fd5d5c9..3aed7255e411b4 100644 --- a/packages/block-editor/src/components/global-styles/filters-panel.js +++ b/packages/block-editor/src/components/global-styles/filters-panel.js @@ -9,8 +9,6 @@ import clsx from 'clsx'; import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, - __experimentalItemGroup as ItemGroup, - __experimentalItem as Item, __experimentalHStack as HStack, __experimentalZStack as ZStack, __experimentalDropdownContentWrapper as DropdownContentWrapper, @@ -21,9 +19,11 @@ import { Dropdown, Flex, FlexItem, + Button, } from '@wordpress/components'; import { __, _x } from '@wordpress/i18n'; -import { useCallback, useMemo } from '@wordpress/element'; +import { useCallback, useMemo, useRef } from '@wordpress/element'; +import { reset as resetIcon } from '@wordpress/icons'; /** * Internal dependencies @@ -117,6 +117,50 @@ const LabeledColorIndicator = ( { indicator, label } ) => ( ); +const renderToggle = + ( duotone, resetDuotone ) => + ( { onToggle, isOpen } ) => { + const duotoneButtonRef = useRef( undefined ); + + const toggleProps = { + onClick: onToggle, + className: clsx( { 'is-open': isOpen } ), + 'aria-expanded': isOpen, + ref: duotoneButtonRef, + }; + + const removeButtonProps = { + onClick: () => { + if ( isOpen ) { + onToggle(); + } + resetDuotone(); + // Return focus to parent button. + duotoneButtonRef.current?.focus(); + }, + className: 'block-editor-panel-duotone-settings__reset', + label: __( 'Reset' ), + }; + + return ( + <> + + { duotone && ( +