} State */
diff --git a/packages/data/src/test/registry-selectors.js b/packages/data/src/test/registry-selectors.js
index edcadef8356c6..b9e8e61a90a64 100644
--- a/packages/data/src/test/registry-selectors.js
+++ b/packages/data/src/test/registry-selectors.js
@@ -1,13 +1,9 @@
-/**
- * External dependencies
- */
-import createSelector from 'rememo';
-
/**
* Internal dependencies
*/
import { createRegistry } from '../registry';
import { createRegistrySelector } from '../factory';
+import { createSelector } from '..';
import createReduxStore from '../redux-store';
const getElementCount = createRegistrySelector( ( select ) => () => {
diff --git a/packages/dataviews/CHANGELOG.md b/packages/dataviews/CHANGELOG.md
index 5ac7c2adbab91..3fbb7a27319a2 100644
--- a/packages/dataviews/CHANGELOG.md
+++ b/packages/dataviews/CHANGELOG.md
@@ -2,6 +2,12 @@
## Unreleased
+### Breaking changes
+
+- Removed the `onDetailsChange` event only available for the list layout. We are looking into adding actions to the list layout, including primary ones.
+
+## 0.9.0 (2024-04-03)
+
### Enhancement
- The `enumeration` type has been removed and we'll introduce new field types soon. The existing filters will still work as before given they checked for field.elements, which is still a condition filters should have.
diff --git a/packages/dataviews/README.md b/packages/dataviews/README.md
index efe7a8d3be8b5..59d5b5306a60d 100644
--- a/packages/dataviews/README.md
+++ b/packages/dataviews/README.md
@@ -283,10 +283,6 @@ Whether the items should be rendered asynchronously. Useful when there's a field
Callback that signals the user selected one of more items, and takes them as parameter. So far, only the `list` view implements it.
-### `onDetailsChange`: `function`
-
-Callback that signals the user triggered the details for one of more items, and takes them as paremeter. So far, only the `list` view implements it.
-
## Types
### Layouts
diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json
index e7e68de1a548f..cb89d15f78738 100644
--- a/packages/dataviews/package.json
+++ b/packages/dataviews/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dataviews",
- "version": "0.8.0",
+ "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/dataviews/src/dataviews.js b/packages/dataviews/src/dataviews.js
index 8b7d3f4819c8f..7e9a9482eec5a 100644
--- a/packages/dataviews/src/dataviews.js
+++ b/packages/dataviews/src/dataviews.js
@@ -41,7 +41,6 @@ export default function DataViews( {
paginationInfo,
supportedLayouts,
onSelectionChange = defaultOnSelectionChange,
- onDetailsChange = null,
deferredRendering = false,
} ) {
const [ selection, setSelection ] = useState( [] );
@@ -136,7 +135,6 @@ export default function DataViews( {
getItemId={ getItemId }
isLoading={ isLoading }
onSelectionChange={ onSetSelection }
- onDetailsChange={ onDetailsChange }
selection={ selection }
deferredRendering={ deferredRendering }
setOpenedFilter={ setOpenedFilter }
diff --git a/packages/dataviews/src/style.scss b/packages/dataviews/src/style.scss
index 92a096384dc19..127a3182ba95b 100644
--- a/packages/dataviews/src/style.scss
+++ b/packages/dataviews/src/style.scss
@@ -492,26 +492,6 @@
justify-content: space-between;
}
- .dataviews-view-list__details-button {
- align-self: center;
- opacity: 0;
- }
-
- li.is-selected,
- li:hover,
- li:focus-within {
- .dataviews-view-list__details-button {
- opacity: 1;
- }
- }
-
- li.is-selected {
- .dataviews-view-list__details-button {
- &:focus {
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) currentColor;
- }
- }
- }
}
.dataviews-action-modal {
diff --git a/packages/dataviews/src/view-list.js b/packages/dataviews/src/view-list.js
index 7d4b322579a54..2fdff99574758 100644
--- a/packages/dataviews/src/view-list.js
+++ b/packages/dataviews/src/view-list.js
@@ -11,12 +11,10 @@ import {
__experimentalHStack as HStack,
__experimentalVStack as VStack,
privateApis as componentsPrivateApis,
- Button,
Spinner,
VisuallyHidden,
} from '@wordpress/components';
import { useCallback, useEffect, useRef } from '@wordpress/element';
-import { info } from '@wordpress/icons';
import { __ } from '@wordpress/i18n';
/**
@@ -36,7 +34,6 @@ function ListItem( {
item,
isSelected,
onSelect,
- onDetailsChange,
mediaField,
primaryField,
visibleFields,
@@ -118,18 +115,6 @@ function ListItem( {
- { onDetailsChange && (
-
- }
- className="dataviews-view-list__details-button"
- onClick={ () => onDetailsChange( [ item ] ) }
- icon={ info }
- label={ __( 'View details' ) }
- size="compact"
- />
-
- ) }
);
@@ -142,7 +127,6 @@ export default function ViewList( {
isLoading,
getItemId,
onSelectionChange,
- onDetailsChange,
selection,
deferredRendering,
id: preferredId,
@@ -215,7 +199,6 @@ export default function ViewList( {
item={ item }
isSelected={ item === selectedItem }
onSelect={ onSelect }
- onDetailsChange={ onDetailsChange }
mediaField={ mediaField }
primaryField={ primaryField }
visibleFields={ visibleFields }
diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md
index faefed7ca326b..9c3f87fc47b90 100644
--- a/packages/date/CHANGELOG.md
+++ b/packages/date/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.55.0 (2024-04-03)
+
## 4.54.0 (2024-03-21)
## 4.53.0 (2024-03-06)
diff --git a/packages/date/package.json b/packages/date/package.json
index 295e86eee2c7a..bb8e2b093d5fd 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/date",
- "version": "4.54.0",
+ "version": "4.55.0",
"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 caaac3e235a8c..d40214548c691 100644
--- a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md
+++ b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.6.0 (2024-04-03)
+
## 5.5.0 (2024-03-21)
## 5.4.0 (2024-03-06)
diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json
index 8cb7fbd789296..b3d80de66cbb0 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": "5.5.0",
+ "version": "5.6.0",
"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 9593fcba15b13..dd2e5c5f1e603 100644
--- a/packages/deprecated/CHANGELOG.md
+++ b/packages/deprecated/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
## 3.54.0 (2024-03-21)
## 3.53.0 (2024-03-06)
diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json
index 866e4060f0e6d..8dcf5a7f46155 100644
--- a/packages/deprecated/package.json
+++ b/packages/deprecated/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/deprecated",
- "version": "3.54.0",
+ "version": "3.55.0",
"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 53fc62d7ba236..3f6bffe41b839 100644
--- a/packages/docgen/CHANGELOG.md
+++ b/packages/docgen/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.64.0 (2024-04-03)
+
## 1.63.0 (2024-03-21)
## 1.62.0 (2024-03-06)
diff --git a/packages/docgen/package.json b/packages/docgen/package.json
index 5dae56fdbb710..ea6c2352b45ad 100644
--- a/packages/docgen/package.json
+++ b/packages/docgen/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/docgen",
- "version": "1.63.0",
+ "version": "1.64.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/CHANGELOG.md b/packages/dom-ready/CHANGELOG.md
index 46e9ac58be96e..90867e2c69d0e 100644
--- a/packages/dom-ready/CHANGELOG.md
+++ b/packages/dom-ready/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
## 3.54.0 (2024-03-21)
## 3.53.0 (2024-03-06)
diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json
index fb05972660ecb..2dcaaca29d72c 100644
--- a/packages/dom-ready/package.json
+++ b/packages/dom-ready/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom-ready",
- "version": "3.54.0",
+ "version": "3.55.0",
"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 27f08a230a746..c35332bd7196a 100644
--- a/packages/dom/CHANGELOG.md
+++ b/packages/dom/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
- fix return types of `focus.tabbable` methods to be `HTMLElement` instead of `Element`.
## 3.54.0 (2024-03-21)
diff --git a/packages/dom/package.json b/packages/dom/package.json
index df55ae17de7c3..fc96b5eec383e 100644
--- a/packages/dom/package.json
+++ b/packages/dom/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom",
- "version": "3.54.0",
+ "version": "3.55.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/CHANGELOG.md b/packages/e2e-test-utils-playwright/CHANGELOG.md
index 35905303a6722..19fe80aa4f749 100644
--- a/packages/e2e-test-utils-playwright/CHANGELOG.md
+++ b/packages/e2e-test-utils-playwright/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 0.23.0 (2024-04-03)
+
## 0.22.0 (2024-03-21)
## 0.21.0 (2024-03-06)
diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json
index d2a09fae68031..22cdf228b407b 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": "0.22.0",
+ "version": "0.23.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/CHANGELOG.md b/packages/e2e-test-utils/CHANGELOG.md
index 6e22d32b71529..3a7b47f9d7e72 100644
--- a/packages/e2e-test-utils/CHANGELOG.md
+++ b/packages/e2e-test-utils/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 10.26.0 (2024-04-03)
+
## 10.25.0 (2024-03-21)
## 10.24.0 (2024-03-06)
diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json
index 4d2d044798a4d..ead20fee3fd2c 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": "10.25.0",
+ "version": "10.26.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/CHANGELOG.md b/packages/e2e-tests/CHANGELOG.md
index 9d7f29e62d0be..7ab7c2c20bf55 100644
--- a/packages/e2e-tests/CHANGELOG.md
+++ b/packages/e2e-tests/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.26.0 (2024-04-03)
+
## 7.25.0 (2024-03-21)
## 7.24.0 (2024-03-06)
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index 69f3312655cab..85ffb990cc260 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-tests",
- "version": "7.25.0",
+ "version": "7.26.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/CHANGELOG.md b/packages/edit-post/CHANGELOG.md
index cb9c3aa7df32d..ca044bea78139 100644
--- a/packages/edit-post/CHANGELOG.md
+++ b/packages/edit-post/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.32.0 (2024-04-03)
+
## 7.31.0 (2024-03-21)
## 7.30.0 (2024-03-06)
diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json
index 5d8e6efec03cf..2de988fa00d6c 100644
--- a/packages/edit-post/package.json
+++ b/packages/edit-post/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-post",
- "version": "7.31.0",
+ "version": "7.32.0",
"description": "Edit Post module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -58,8 +58,7 @@
"@wordpress/warning": "file:../warning",
"@wordpress/widgets": "file:../widgets",
"classnames": "^2.3.1",
- "memize": "^2.1.0",
- "rememo": "^4.0.2"
+ "memize": "^2.1.0"
},
"peerDependencies": {
"react": "^18.0.0",
diff --git a/packages/edit-post/src/store/selectors.js b/packages/edit-post/src/store/selectors.js
index af22848dd1b9d..7110750c2034d 100644
--- a/packages/edit-post/src/store/selectors.js
+++ b/packages/edit-post/src/store/selectors.js
@@ -1,12 +1,7 @@
-/**
- * External dependencies
- */
-import createSelector from 'rememo';
-
/**
* WordPress dependencies
*/
-import { createRegistrySelector } from '@wordpress/data';
+import { createSelector, createRegistrySelector } from '@wordpress/data';
import { store as interfaceStore } from '@wordpress/interface';
import { store as preferencesStore } from '@wordpress/preferences';
import { store as coreStore } from '@wordpress/core-data';
diff --git a/packages/edit-site/CHANGELOG.md b/packages/edit-site/CHANGELOG.md
index b8f8fa68623bf..d49faa82e2e01 100644
--- a/packages/edit-site/CHANGELOG.md
+++ b/packages/edit-site/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.32.0 (2024-04-03)
+
## 5.31.0 (2024-03-21)
## 5.30.0 (2024-03-06)
diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json
index c467435407d82..9834d63b7f3f0 100644
--- a/packages/edit-site/package.json
+++ b/packages/edit-site/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-site",
- "version": "5.31.0",
+ "version": "5.32.0",
"description": "Edit Site Page module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -27,6 +27,7 @@
"react-native": "src/index",
"dependencies": {
"@babel/runtime": "^7.16.0",
+ "@react-spring/web": "^9.4.5",
"@wordpress/a11y": "file:../a11y",
"@wordpress/api-fetch": "file:../api-fetch",
"@wordpress/blob": "file:../blob",
@@ -75,8 +76,7 @@
"fast-deep-equal": "^3.1.3",
"is-plain-object": "^5.0.0",
"memize": "^2.1.0",
- "react-autosize-textarea": "^7.1.0",
- "rememo": "^4.0.2"
+ "react-autosize-textarea": "^7.1.0"
},
"peerDependencies": {
"react": "^18.0.0",
diff --git a/packages/edit-site/src/components/layout/animation.js b/packages/edit-site/src/components/layout/animation.js
new file mode 100644
index 0000000000000..6de490cf9852f
--- /dev/null
+++ b/packages/edit-site/src/components/layout/animation.js
@@ -0,0 +1,122 @@
+/**
+ * External dependencies
+ */
+import { Controller } from '@react-spring/web';
+
+/**
+ * WordPress dependencies
+ */
+import { useLayoutEffect, useMemo, useRef } from '@wordpress/element';
+
+function getAbsolutePosition( element ) {
+ return {
+ top: element.offsetTop,
+ left: element.offsetLeft,
+ };
+}
+
+const ANIMATION_DURATION = 300;
+
+/**
+ * Hook used to compute the styles required to move a div into a new position.
+ *
+ * The way this animation works is the following:
+ * - It first renders the element as if there was no animation.
+ * - It takes a snapshot of the position of the block to use it
+ * as a destination point for the animation.
+ * - It restores the element to the previous position using a CSS transform
+ * - It uses the "resetAnimation" flag to reset the animation
+ * from the beginning in order to animate to the new destination point.
+ *
+ * @param {Object} $1 Options
+ * @param {*} $1.triggerAnimationOnChange Variable used to trigger the animation if it changes.
+ */
+function useMovingAnimation( { triggerAnimationOnChange } ) {
+ const ref = useRef();
+
+ // Whenever the trigger changes, we need to take a snapshot of the current
+ // position of the block to use it as a destination point for the animation.
+ const { previous, prevRect } = useMemo(
+ () => ( {
+ previous: ref.current && getAbsolutePosition( ref.current ),
+ prevRect: ref.current && ref.current.getBoundingClientRect(),
+ } ),
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ [ triggerAnimationOnChange ]
+ );
+
+ useLayoutEffect( () => {
+ if ( ! previous || ! ref.current ) {
+ return;
+ }
+
+ // We disable the animation if the user has a preference for reduced
+ // motion.
+ const disableAnimation = window.matchMedia(
+ '(prefers-reduced-motion: reduce)'
+ ).matches;
+
+ if ( disableAnimation ) {
+ return;
+ }
+
+ const controller = new Controller( {
+ x: 0,
+ y: 0,
+ width: prevRect.width,
+ height: prevRect.height,
+ config: { duration: ANIMATION_DURATION },
+ onChange( { value } ) {
+ if ( ! ref.current ) {
+ return;
+ }
+ let { x, y, width, height } = value;
+ x = Math.round( x );
+ y = Math.round( y );
+ width = Math.round( width );
+ height = Math.round( height );
+ const finishedMoving = x === 0 && y === 0;
+ ref.current.style.transformOrigin = 'center center';
+ ref.current.style.transform = finishedMoving
+ ? null // Set to `null` to explicitly remove the transform.
+ : `translate3d(${ x }px,${ y }px,0)`;
+ ref.current.style.width = finishedMoving
+ ? null
+ : `${ width }px`;
+ ref.current.style.height = finishedMoving
+ ? null
+ : `${ height }px`;
+ },
+ } );
+
+ ref.current.style.transform = undefined;
+ const destination = ref.current.getBoundingClientRect();
+
+ const x = Math.round( prevRect.left - destination.left );
+ const y = Math.round( prevRect.top - destination.top );
+ const width = destination.width;
+ const height = destination.height;
+
+ controller.start( {
+ x: 0,
+ y: 0,
+ width,
+ height,
+ from: { x, y, width: prevRect.width, height: prevRect.height },
+ } );
+
+ return () => {
+ controller.stop();
+ controller.set( {
+ x: 0,
+ y: 0,
+ width: prevRect.width,
+ height: prevRect.height,
+ } );
+ };
+ }, [ previous, prevRect ] );
+
+ return ref;
+}
+
+export default useMovingAnimation;
diff --git a/packages/edit-site/src/components/layout/index.js b/packages/edit-site/src/components/layout/index.js
index d15be016173b0..d95f9d597db43 100644
--- a/packages/edit-site/src/components/layout/index.js
+++ b/packages/edit-site/src/components/layout/index.js
@@ -51,12 +51,13 @@ import { useCommonCommands } from '../../hooks/commands/use-common-commands';
import { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';
import { useIsSiteEditorLoading } from './hooks';
import useLayoutAreas from './router';
+import useMovingAnimation from './animation';
const { useCommands } = unlock( coreCommandsPrivateApis );
const { useCommandContext } = unlock( commandsPrivateApis );
const { useGlobalStyle } = unlock( blockEditorPrivateApis );
-const ANIMATION_DURATION = 0.5;
+const ANIMATION_DURATION = 0.3;
export default function Layout() {
// This ensures the edited entity id and type are initialized properly.
@@ -114,7 +115,10 @@ export default function Layout() {
const isEditorLoading = useIsSiteEditorLoading();
const [ isResizableFrameOversized, setIsResizableFrameOversized ] =
useState( false );
- const { areas, widths } = useLayoutAreas();
+ const { key: routeKey, areas, widths } = useLayoutAreas();
+ const animationRef = useMovingAnimation( {
+ triggerAnimationOnChange: canvasMode + '__' + routeKey,
+ } );
// This determines which animation variant should apply to the header.
// There is also a `isDistractionFreeHovering` state that gets priority
@@ -239,7 +243,9 @@ export default function Layout() {
} }
transition={ {
type: 'tween',
- duration: disableMotion ? 0 : 0.2,
+ duration: disableMotion
+ ? 0
+ : ANIMATION_DURATION,
ease: 'easeOut',
} }
>
@@ -315,22 +321,7 @@ export default function Layout() {
{ canvasResizer }
{ !! canvasSize.width && (
-
-
+
) }
) }
diff --git a/packages/edit-site/src/components/layout/router.js b/packages/edit-site/src/components/layout/router.js
index b137963fc0053..2b783ce895927 100644
--- a/packages/edit-site/src/components/layout/router.js
+++ b/packages/edit-site/src/components/layout/router.js
@@ -33,6 +33,7 @@ export default function useLayoutAreas() {
if ( path === '/page' ) {
const isListLayout = layout === 'list' || ! layout;
return {
+ key: 'pages-list',
areas: {
content: ,
preview: isListLayout && (
@@ -62,6 +63,7 @@ export default function useLayoutAreas() {
// Regular other post types
if ( postType && postId ) {
return {
+ key: 'page',
areas: {
preview: ,
mobile:
@@ -76,6 +78,7 @@ export default function useLayoutAreas() {
if ( path === '/wp_template' ) {
const isListLayout = isCustom !== 'true' && layout === 'list';
return {
+ key: 'templates-list',
areas: {
content: (
,
mobile: ,
@@ -134,6 +139,7 @@ export default function useLayoutAreas() {
// Fallback shows the home page preview
return {
+ key: 'default',
areas: {
preview: ,
mobile:
diff --git a/packages/edit-site/src/components/layout/style.scss b/packages/edit-site/src/components/layout/style.scss
index ad33768989a81..ede76dba5390a 100644
--- a/packages/edit-site/src/components/layout/style.scss
+++ b/packages/edit-site/src/components/layout/style.scss
@@ -93,6 +93,8 @@
position: relative;
flex-grow: 1;
z-index: z-index(".edit-site-layout__canvas-container");
+ // When animating the frame size can exceed its container size.
+ overflow: visible;
&.is-resizing::after {
// This covers the whole content which ensures mouse up triggers
diff --git a/packages/edit-site/src/components/page-patterns/use-patterns.js b/packages/edit-site/src/components/page-patterns/use-patterns.js
index 606ac59a02d98..b16fddbf81034 100644
--- a/packages/edit-site/src/components/page-patterns/use-patterns.js
+++ b/packages/edit-site/src/components/page-patterns/use-patterns.js
@@ -1,13 +1,8 @@
-/**
- * External dependencies
- */
-import createSelector from 'rememo';
-
/**
* WordPress dependencies
*/
import { parse } from '@wordpress/blocks';
-import { useSelect } from '@wordpress/data';
+import { useSelect, createSelector } from '@wordpress/data';
import { store as coreStore } from '@wordpress/core-data';
import { store as editorStore } from '@wordpress/editor';
import { decodeEntities } from '@wordpress/html-entities';
diff --git a/packages/edit-site/src/components/sidebar-dataviews/default-views.js b/packages/edit-site/src/components/sidebar-dataviews/default-views.js
index 2240b6bf76b5b..7610adb006509 100644
--- a/packages/edit-site/src/components/sidebar-dataviews/default-views.js
+++ b/packages/edit-site/src/components/sidebar-dataviews/default-views.js
@@ -42,7 +42,7 @@ const DEFAULT_PAGE_BASE = {
// better to keep track of the hidden ones.
hiddenFields: [ 'date', 'featured-image' ],
layout: {
- ...DEFAULT_CONFIG_PER_VIEW_TYPE[ LAYOUT_TABLE ],
+ ...DEFAULT_CONFIG_PER_VIEW_TYPE[ LAYOUT_LIST ],
},
};
diff --git a/packages/edit-widgets/CHANGELOG.md b/packages/edit-widgets/CHANGELOG.md
index c761d542ca2ac..570cbeebc3d7a 100644
--- a/packages/edit-widgets/CHANGELOG.md
+++ b/packages/edit-widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.32.0 (2024-04-03)
+
## 5.31.0 (2024-03-21)
## 5.30.0 (2024-03-06)
diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json
index ad28183151cae..ad69c29b26af2 100644
--- a/packages/edit-widgets/package.json
+++ b/packages/edit-widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-widgets",
- "version": "5.31.0",
+ "version": "5.32.0",
"description": "Widgets Page module for WordPress..",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -53,8 +53,7 @@
"@wordpress/reusable-blocks": "file:../reusable-blocks",
"@wordpress/url": "file:../url",
"@wordpress/widgets": "file:../widgets",
- "classnames": "^2.3.1",
- "rememo": "^4.0.2"
+ "classnames": "^2.3.1"
},
"peerDependencies": {
"react": "^18.0.0",
diff --git a/packages/editor/CHANGELOG.md b/packages/editor/CHANGELOG.md
index 71ef77165bd27..3ab47ec1ebbf8 100644
--- a/packages/editor/CHANGELOG.md
+++ b/packages/editor/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 13.32.0 (2024-04-03)
+
## 13.31.0 (2024-03-21)
## 13.30.0 (2024-03-06)
diff --git a/packages/editor/package.json b/packages/editor/package.json
index 7e34872964801..09fef01dea30c 100644
--- a/packages/editor/package.json
+++ b/packages/editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/editor",
- "version": "13.31.0",
+ "version": "13.32.0",
"description": "Enhanced block editor for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -67,7 +67,6 @@
"date-fns": "^3.6.0",
"memize": "^2.1.0",
"react-autosize-textarea": "^7.1.0",
- "rememo": "^4.0.2",
"remove-accents": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/editor/src/components/post-trash/check.js b/packages/editor/src/components/post-trash/check.js
index ecc0d63c9436b..b86cdf2e3d4d7 100644
--- a/packages/editor/src/components/post-trash/check.js
+++ b/packages/editor/src/components/post-trash/check.js
@@ -1,7 +1,7 @@
/**
* WordPress dependencies
*/
-import { withSelect } from '@wordpress/data';
+import { useSelect } from '@wordpress/data';
import { store as coreStore } from '@wordpress/core-data';
/**
@@ -9,26 +9,26 @@ import { store as coreStore } from '@wordpress/core-data';
*/
import { store as editorStore } from '../../store';
-function PostTrashCheck( { isNew, postId, canUserDelete, children } ) {
- if ( isNew || ! postId || ! canUserDelete ) {
+export default function PostTrashCheck( { children } ) {
+ const { canTrashPost } = useSelect( ( select ) => {
+ const { isEditedPostNew, getCurrentPostId, getCurrentPostType } =
+ select( editorStore );
+ const { getPostType, canUser } = select( coreStore );
+ const postType = getPostType( getCurrentPostType() );
+ const postId = getCurrentPostId();
+ const isNew = isEditedPostNew();
+ const resource = postType?.rest_base || ''; // eslint-disable-line camelcase
+ const canUserDelete =
+ postId && resource ? canUser( 'delete', resource, postId ) : false;
+
+ return {
+ canTrashPost: ( ! isNew || postId ) && canUserDelete,
+ };
+ }, [] );
+
+ if ( ! canTrashPost ) {
return null;
}
return children;
}
-
-export default withSelect( ( select ) => {
- const { isEditedPostNew, getCurrentPostId, getCurrentPostType } =
- select( editorStore );
- const { getPostType, canUser } = select( coreStore );
- const postId = getCurrentPostId();
- const postType = getPostType( getCurrentPostType() );
- const resource = postType?.rest_base || ''; // eslint-disable-line camelcase
-
- return {
- isNew: isEditedPostNew(),
- postId,
- canUserDelete:
- postId && resource ? canUser( 'delete', resource, postId ) : false,
- };
-} )( PostTrashCheck );
diff --git a/packages/editor/src/components/template-validation-notice/index.js b/packages/editor/src/components/template-validation-notice/index.js
index 64e2227e30feb..4aa1faac4bd9c 100644
--- a/packages/editor/src/components/template-validation-notice/index.js
+++ b/packages/editor/src/components/template-validation-notice/index.js
@@ -1,63 +1,61 @@
/**
* WordPress dependencies
*/
-import { Notice } from '@wordpress/components';
+import {
+ Notice,
+ __experimentalConfirmDialog as ConfirmDialog,
+} from '@wordpress/components';
import { __ } from '@wordpress/i18n';
-import { withSelect, withDispatch } from '@wordpress/data';
-import { compose } from '@wordpress/compose';
+import { useDispatch, useSelect } from '@wordpress/data';
+import { useState } from '@wordpress/element';
import { store as blockEditorStore } from '@wordpress/block-editor';
-function TemplateValidationNotice( { isValid, ...props } ) {
+export default function TemplateValidationNotice() {
+ const [ showConfirmDialog, setShowConfirmDialog ] = useState( false );
+ const isValid = useSelect( ( select ) => {
+ return select( blockEditorStore ).isValidTemplate();
+ }, [] );
+ const { setTemplateValidity, synchronizeTemplate } =
+ useDispatch( blockEditorStore );
+
if ( isValid ) {
return null;
}
- const confirmSynchronization = () => {
- if (
- // eslint-disable-next-line no-alert
- window.confirm(
- __(
- 'Resetting the template may result in loss of content, do you want to continue?'
- )
- )
- ) {
- props.synchronizeTemplate();
- }
- };
-
return (
-
- { __(
- 'The content of your post doesn’t match the template assigned to your post type.'
- ) }
-
+ <>
+ setTemplateValidity( true ),
+ },
+ {
+ label: __( 'Reset the template' ),
+ onClick: () => setShowConfirmDialog( true ),
+ },
+ ] }
+ >
+ { __(
+ 'The content of your post doesn’t match the template assigned to your post type.'
+ ) }
+
+ {
+ setShowConfirmDialog( false );
+ synchronizeTemplate();
+ } }
+ onCancel={ () => setShowConfirmDialog( false ) }
+ >
+ { __(
+ 'Resetting the template may result in loss of content, do you want to continue?'
+ ) }
+
+ >
);
}
-
-export default compose( [
- withSelect( ( select ) => ( {
- isValid: select( blockEditorStore ).isValidTemplate(),
- } ) ),
- withDispatch( ( dispatch ) => {
- const { setTemplateValidity, synchronizeTemplate } =
- dispatch( blockEditorStore );
- return {
- resetTemplateValidity: () => setTemplateValidity( true ),
- synchronizeTemplate,
- };
- } ),
-] )( TemplateValidationNotice );
diff --git a/packages/editor/src/components/template-validation-notice/style.scss b/packages/editor/src/components/template-validation-notice/style.scss
deleted file mode 100644
index dde63f7e36b14..0000000000000
--- a/packages/editor/src/components/template-validation-notice/style.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-.editor-template-validation-notice {
- display: flex;
- justify-content: space-between;
- align-items: center;
-
- .components-button {
- margin-left: 5px;
- }
-}
diff --git a/packages/editor/src/store/private-selectors.js b/packages/editor/src/store/private-selectors.js
index 0dc802e34394e..5abd72f13713b 100644
--- a/packages/editor/src/store/private-selectors.js
+++ b/packages/editor/src/store/private-selectors.js
@@ -1,13 +1,8 @@
-/**
- * External dependencies
- */
-import createSelector from 'rememo';
-
/**
* WordPress dependencies
*/
import { store as blockEditorStore } from '@wordpress/block-editor';
-import { createRegistrySelector } from '@wordpress/data';
+import { createSelector, createRegistrySelector } from '@wordpress/data';
import {
layout,
symbol,
diff --git a/packages/editor/src/store/selectors.js b/packages/editor/src/store/selectors.js
index 80761f3c7b2c7..d5848ed8f08e9 100644
--- a/packages/editor/src/store/selectors.js
+++ b/packages/editor/src/store/selectors.js
@@ -1,8 +1,3 @@
-/**
- * External dependencies
- */
-import createSelector from 'rememo';
-
/**
* WordPress dependencies
*/
@@ -14,7 +9,7 @@ import {
} from '@wordpress/blocks';
import { isInTheFuture, getDate } from '@wordpress/date';
import { addQueryArgs, cleanForSlug } from '@wordpress/url';
-import { createRegistrySelector } from '@wordpress/data';
+import { createSelector, createRegistrySelector } from '@wordpress/data';
import deprecated from '@wordpress/deprecated';
import { Platform } from '@wordpress/element';
import { layout } from '@wordpress/icons';
diff --git a/packages/editor/src/style.scss b/packages/editor/src/style.scss
index f0593f4bee268..fd8f5821392c6 100644
--- a/packages/editor/src/style.scss
+++ b/packages/editor/src/style.scss
@@ -31,4 +31,3 @@
@import "./components/preview-dropdown/style.scss";
@import "./components/table-of-contents/style.scss";
@import "./components/template-areas/style.scss";
-@import "./components/template-validation-notice/style.scss";
diff --git a/packages/element/CHANGELOG.md b/packages/element/CHANGELOG.md
index 9051a38f5935f..9f550034ac18e 100644
--- a/packages/element/CHANGELOG.md
+++ b/packages/element/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.32.0 (2024-04-03)
+
## 5.31.0 (2024-03-21)
## 5.30.0 (2024-03-06)
diff --git a/packages/element/package.json b/packages/element/package.json
index 3d33fcd0e7f7b..7ff8337e40fbf 100644
--- a/packages/element/package.json
+++ b/packages/element/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/element",
- "version": "5.31.0",
+ "version": "5.32.0",
"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 d0ba0d764ba40..2d7f8021e74b2 100644
--- a/packages/env/CHANGELOG.md
+++ b/packages/env/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 9.7.0 (2024-04-03)
+
## 9.6.0 (2024-03-21)
## 9.5.0 (2024-03-06)
diff --git a/packages/env/package.json b/packages/env/package.json
index ebefbdc7702a5..8ec27779f8a1c 100644
--- a/packages/env/package.json
+++ b/packages/env/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/env",
- "version": "9.6.0",
+ "version": "9.7.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/CHANGELOG.md b/packages/escape-html/CHANGELOG.md
index a6a2cb7442c90..f787e7786d981 100644
--- a/packages/escape-html/CHANGELOG.md
+++ b/packages/escape-html/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.55.0 (2024-04-03)
+
## 2.54.0 (2024-03-21)
## 2.53.0 (2024-03-06)
diff --git a/packages/escape-html/package.json b/packages/escape-html/package.json
index 4a0b22fe7d5c5..e17a058b7a6ee 100644
--- a/packages/escape-html/package.json
+++ b/packages/escape-html/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/escape-html",
- "version": "2.54.0",
+ "version": "2.55.0",
"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 84a16bb1d115a..9c664cded072d 100644
--- a/packages/eslint-plugin/CHANGELOG.md
+++ b/packages/eslint-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 17.12.0 (2024-04-03)
+
## 17.11.0 (2024-03-21)
## 17.10.0 (2024-03-06)
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 6a5d92d07034f..f0d39009fd662 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/eslint-plugin",
- "version": "17.11.0",
+ "version": "17.12.0",
"description": "ESLint plugin for WordPress development.",
"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 648d3345a5559..504e4bca51527 100644
--- a/packages/format-library/CHANGELOG.md
+++ b/packages/format-library/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.32.0 (2024-04-03)
+
## 4.31.0 (2024-03-21)
## 4.30.0 (2024-03-06)
diff --git a/packages/format-library/package.json b/packages/format-library/package.json
index 7c50c822ee4c4..46caea9c00b41 100644
--- a/packages/format-library/package.json
+++ b/packages/format-library/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/format-library",
- "version": "4.31.0",
+ "version": "4.32.0",
"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 090edd1e2c150..7c184927d3bd8 100644
--- a/packages/hooks/CHANGELOG.md
+++ b/packages/hooks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
## 3.54.0 (2024-03-21)
## 3.53.0 (2024-03-06)
diff --git a/packages/hooks/package.json b/packages/hooks/package.json
index 89fb6afd300fe..8455a0fc274ae 100644
--- a/packages/hooks/package.json
+++ b/packages/hooks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/hooks",
- "version": "3.54.0",
+ "version": "3.55.0",
"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 a52c7c799d325..f7b0a1d3b362f 100644
--- a/packages/html-entities/CHANGELOG.md
+++ b/packages/html-entities/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
## 3.54.0 (2024-03-21)
## 3.53.0 (2024-03-06)
diff --git a/packages/html-entities/package.json b/packages/html-entities/package.json
index e7f4861fc03b6..daae7f99ee7da 100644
--- a/packages/html-entities/package.json
+++ b/packages/html-entities/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/html-entities",
- "version": "3.54.0",
+ "version": "3.55.0",
"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 6786d223940e3..0b5b96d6275aa 100644
--- a/packages/i18n/CHANGELOG.md
+++ b/packages/i18n/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.55.0 (2024-04-03)
+
## 4.54.0 (2024-03-21)
## 4.53.0 (2024-03-06)
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index 6230875619594..ba8a216536791 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/i18n",
- "version": "4.54.0",
+ "version": "4.55.0",
"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 3f942aff1d486..59e754bec29cf 100644
--- a/packages/icons/CHANGELOG.md
+++ b/packages/icons/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 9.46.0 (2024-04-03)
+
## 9.45.0 (2024-03-21)
## 9.44.0 (2024-03-06)
diff --git a/packages/icons/package.json b/packages/icons/package.json
index 39a8db99276cc..135bc4e63622d 100644
--- a/packages/icons/package.json
+++ b/packages/icons/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/icons",
- "version": "9.45.0",
+ "version": "9.46.0",
"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 6cf208f1edf88..b184b5af56f09 100644
--- a/packages/interactivity-router/CHANGELOG.md
+++ b/packages/interactivity-router/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.5.0 (2024-04-03)
+
## 1.4.0 (2024-03-21)
## 1.3.0 (2024-03-06)
diff --git a/packages/interactivity-router/package.json b/packages/interactivity-router/package.json
index e1ba6cc677362..95642c6e4331d 100644
--- a/packages/interactivity-router/package.json
+++ b/packages/interactivity-router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity-router",
- "version": "1.4.0",
+ "version": "1.5.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/CHANGELOG.md b/packages/interactivity/CHANGELOG.md
index 42630b0862c75..7f4dd9296facc 100644
--- a/packages/interactivity/CHANGELOG.md
+++ b/packages/interactivity/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.4.0 (2024-04-03)
+
## 5.3.0 (2024-03-21)
### Bug Fixes
diff --git a/packages/interactivity/package.json b/packages/interactivity/package.json
index 155791ec826ca..c65ae931a366e 100644
--- a/packages/interactivity/package.json
+++ b/packages/interactivity/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity",
- "version": "5.3.0",
+ "version": "5.4.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/CHANGELOG.md b/packages/interface/CHANGELOG.md
index e880d7331d2a2..785c331ece13f 100644
--- a/packages/interface/CHANGELOG.md
+++ b/packages/interface/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.32.0 (2024-04-03)
+
## 5.31.0 (2024-03-21)
## 5.30.0 (2024-03-06)
diff --git a/packages/interface/package.json b/packages/interface/package.json
index 54a5a70d8c3ec..9444ef3a34237 100644
--- a/packages/interface/package.json
+++ b/packages/interface/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interface",
- "version": "5.31.0",
+ "version": "5.32.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/CHANGELOG.md b/packages/is-shallow-equal/CHANGELOG.md
index 6606517301267..8f3036556a09f 100644
--- a/packages/is-shallow-equal/CHANGELOG.md
+++ b/packages/is-shallow-equal/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.55.0 (2024-04-03)
+
## 4.54.0 (2024-03-21)
## 4.53.0 (2024-03-06)
diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json
index 7f43e79e3cf77..f41f55ec3ed91 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": "4.54.0",
+ "version": "4.55.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/CHANGELOG.md b/packages/jest-console/CHANGELOG.md
index 173a94c756964..56f9ea2fa64c9 100644
--- a/packages/jest-console/CHANGELOG.md
+++ b/packages/jest-console/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.26.0 (2024-04-03)
+
## 7.25.0 (2024-03-21)
## 7.24.0 (2024-03-06)
diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json
index 10e52780fece9..6cd4805cb9ae9 100644
--- a/packages/jest-console/package.json
+++ b/packages/jest-console/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-console",
- "version": "7.25.0",
+ "version": "7.26.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/CHANGELOG.md b/packages/jest-preset-default/CHANGELOG.md
index 81acd7621b250..cc507b0155648 100644
--- a/packages/jest-preset-default/CHANGELOG.md
+++ b/packages/jest-preset-default/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 11.26.0 (2024-04-03)
+
## 11.25.0 (2024-03-21)
## 11.24.0 (2024-03-06)
diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json
index 3e2383ebe0499..cf2543468ee06 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": "11.25.0",
+ "version": "11.26.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/CHANGELOG.md b/packages/jest-puppeteer-axe/CHANGELOG.md
index 9893111d7cfe3..55b46371ef457 100644
--- a/packages/jest-puppeteer-axe/CHANGELOG.md
+++ b/packages/jest-puppeteer-axe/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.26.0 (2024-04-03)
+
## 6.25.0 (2024-03-21)
## 6.24.0 (2024-03-06)
diff --git a/packages/jest-puppeteer-axe/package.json b/packages/jest-puppeteer-axe/package.json
index b4845c6b5a60b..a2ad2143d8e4b 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": "6.25.0",
+ "version": "6.26.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/CHANGELOG.md b/packages/keyboard-shortcuts/CHANGELOG.md
index e3ca51c3fc6b7..8e85dac2f56dc 100644
--- a/packages/keyboard-shortcuts/CHANGELOG.md
+++ b/packages/keyboard-shortcuts/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.32.0 (2024-04-03)
+
## 4.31.0 (2024-03-21)
## 4.30.0 (2024-03-06)
diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json
index 2ed8d3ef94426..44e35fa72f62c 100644
--- a/packages/keyboard-shortcuts/package.json
+++ b/packages/keyboard-shortcuts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keyboard-shortcuts",
- "version": "4.31.0",
+ "version": "4.32.0",
"description": "Handling keyboard shortcuts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -28,8 +28,7 @@
"@babel/runtime": "^7.16.0",
"@wordpress/data": "file:../data",
"@wordpress/element": "file:../element",
- "@wordpress/keycodes": "file:../keycodes",
- "rememo": "^4.0.2"
+ "@wordpress/keycodes": "file:../keycodes"
},
"peerDependencies": {
"react": "^18.0.0"
diff --git a/packages/keyboard-shortcuts/src/store/selectors.js b/packages/keyboard-shortcuts/src/store/selectors.js
index 2d4f5976247b0..d27bcc9d32ff9 100644
--- a/packages/keyboard-shortcuts/src/store/selectors.js
+++ b/packages/keyboard-shortcuts/src/store/selectors.js
@@ -1,11 +1,7 @@
-/**
- * External dependencies
- */
-import createSelector from 'rememo';
-
/**
* WordPress dependencies
*/
+import { createSelector } from '@wordpress/data';
import {
displayShortcut,
shortcutAriaLabel,
diff --git a/packages/keycodes/CHANGELOG.md b/packages/keycodes/CHANGELOG.md
index dcb0f3e7861a7..0422c3a00d016 100644
--- a/packages/keycodes/CHANGELOG.md
+++ b/packages/keycodes/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
## 3.54.0 (2024-03-21)
## 3.53.0 (2024-03-06)
diff --git a/packages/keycodes/package.json b/packages/keycodes/package.json
index ce93c3c2d2a7e..1b6e9387bca20 100644
--- a/packages/keycodes/package.json
+++ b/packages/keycodes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keycodes",
- "version": "3.54.0",
+ "version": "3.55.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/CHANGELOG.md b/packages/lazy-import/CHANGELOG.md
index 027c94d881a7a..54991e2279feb 100644
--- a/packages/lazy-import/CHANGELOG.md
+++ b/packages/lazy-import/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.42.0 (2024-04-03)
+
## 1.41.0 (2024-03-21)
## 1.40.0 (2024-03-06)
diff --git a/packages/lazy-import/package.json b/packages/lazy-import/package.json
index 3355429775850..3b8eaef59219f 100644
--- a/packages/lazy-import/package.json
+++ b/packages/lazy-import/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/lazy-import",
- "version": "1.41.0",
+ "version": "1.42.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/CHANGELOG.md b/packages/list-reusable-blocks/CHANGELOG.md
index dc2a24f523ce6..4c30aad5d7808 100644
--- a/packages/list-reusable-blocks/CHANGELOG.md
+++ b/packages/list-reusable-blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.32.0 (2024-04-03)
+
## 4.31.0 (2024-03-21)
## 4.30.0 (2024-03-06)
diff --git a/packages/list-reusable-blocks/package.json b/packages/list-reusable-blocks/package.json
index e94910ed56713..8177a936be029 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": "4.31.0",
+ "version": "4.32.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/CHANGELOG.md b/packages/media-utils/CHANGELOG.md
index 04594fd713396..518619ba06125 100644
--- a/packages/media-utils/CHANGELOG.md
+++ b/packages/media-utils/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.46.0 (2024-04-03)
+
## 4.45.0 (2024-03-21)
## 4.44.0 (2024-03-06)
diff --git a/packages/media-utils/package.json b/packages/media-utils/package.json
index 8affe9efb2bf4..a60ec6093f41b 100644
--- a/packages/media-utils/package.json
+++ b/packages/media-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/media-utils",
- "version": "4.45.0",
+ "version": "4.46.0",
"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 124dd957d946a..2a9c606f282ca 100644
--- a/packages/notices/CHANGELOG.md
+++ b/packages/notices/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.23.0 (2024-04-03)
+
## 4.22.0 (2024-03-21)
## 4.21.0 (2024-03-06)
diff --git a/packages/notices/package.json b/packages/notices/package.json
index 25c280a2c48b2..b6f3fa0afa3fd 100644
--- a/packages/notices/package.json
+++ b/packages/notices/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/notices",
- "version": "4.22.0",
+ "version": "4.23.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/CHANGELOG.md b/packages/npm-package-json-lint-config/CHANGELOG.md
index 62218ec73b281..d6fb9b8ff9062 100644
--- a/packages/npm-package-json-lint-config/CHANGELOG.md
+++ b/packages/npm-package-json-lint-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.40.0 (2024-04-03)
+
## 4.39.0 (2024-03-21)
## 4.38.0 (2024-03-06)
diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json
index 81c234cf61743..7a072b1b1bdc9 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": "4.39.0",
+ "version": "4.40.0",
"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 35abff89bb8cb..7860edd0d010a 100644
--- a/packages/nux/CHANGELOG.md
+++ b/packages/nux/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.17.0 (2024-04-03)
+
## 8.16.0 (2024-03-21)
## 8.15.0 (2024-03-06)
diff --git a/packages/nux/package.json b/packages/nux/package.json
index 2066134fe2519..acc129e6f2c6f 100644
--- a/packages/nux/package.json
+++ b/packages/nux/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/nux",
- "version": "8.16.0",
+ "version": "8.17.0",
"description": "NUX (New User eXperience) module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -37,8 +37,7 @@
"@wordpress/deprecated": "file:../deprecated",
"@wordpress/element": "file:../element",
"@wordpress/i18n": "file:../i18n",
- "@wordpress/icons": "file:../icons",
- "rememo": "^4.0.2"
+ "@wordpress/icons": "file:../icons"
},
"peerDependencies": {
"react": "^18.0.0",
diff --git a/packages/nux/src/store/selectors.js b/packages/nux/src/store/selectors.js
index e87cf688a1ba3..44b2d7321f1f7 100644
--- a/packages/nux/src/store/selectors.js
+++ b/packages/nux/src/store/selectors.js
@@ -1,7 +1,7 @@
/**
- * External dependencies
+ * WordPress dependencies
*/
-import createSelector from 'rememo';
+import { createSelector } from '@wordpress/data';
/**
* An object containing information about a guide.
diff --git a/packages/patterns/CHANGELOG.md b/packages/patterns/CHANGELOG.md
index 38d7a41c2f152..bb23c22e67416 100644
--- a/packages/patterns/CHANGELOG.md
+++ b/packages/patterns/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.16.0 (2024-04-03)
+
## 1.15.0 (2024-03-21)
## 1.14.0 (2024-03-06)
diff --git a/packages/patterns/package.json b/packages/patterns/package.json
index 19edc4df3fb80..1aafdab5fece4 100644
--- a/packages/patterns/package.json
+++ b/packages/patterns/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/patterns",
- "version": "1.15.0",
+ "version": "1.16.0",
"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 2b731e80cfcc6..0a828779a8d58 100644
--- a/packages/plugins/CHANGELOG.md
+++ b/packages/plugins/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.23.0 (2024-04-03)
+
## 6.22.0 (2024-03-21)
## 6.21.0 (2024-03-06)
diff --git a/packages/plugins/package.json b/packages/plugins/package.json
index 23b86be21c3bb..6a9adb3b3f0a8 100644
--- a/packages/plugins/package.json
+++ b/packages/plugins/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/plugins",
- "version": "6.22.0",
+ "version": "6.23.0",
"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 5f7ea4fab9b7a..411d7a758e91c 100644
--- a/packages/postcss-plugins-preset/CHANGELOG.md
+++ b/packages/postcss-plugins-preset/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.39.0 (2024-04-03)
+
## 4.38.0 (2024-03-21)
## 4.37.0 (2024-03-06)
diff --git a/packages/postcss-plugins-preset/package.json b/packages/postcss-plugins-preset/package.json
index a7baab486e870..761c576ca25dd 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": "4.38.0",
+ "version": "4.39.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/CHANGELOG.md b/packages/postcss-themes/CHANGELOG.md
index ec482b6ac998e..cf84f5fb542ee 100644
--- a/packages/postcss-themes/CHANGELOG.md
+++ b/packages/postcss-themes/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.38.0 (2024-04-03)
+
## 5.37.0 (2024-03-21)
## 5.36.0 (2024-03-06)
diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json
index 6002659a16738..3fb854e47a328 100644
--- a/packages/postcss-themes/package.json
+++ b/packages/postcss-themes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/postcss-themes",
- "version": "5.37.0",
+ "version": "5.38.0",
"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 eb75e928b5a19..a7a72f9ae21ea 100644
--- a/packages/preferences-persistence/CHANGELOG.md
+++ b/packages/preferences-persistence/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.47.0 (2024-04-03)
+
## 1.46.0 (2024-03-21)
## 1.45.0 (2024-03-06)
diff --git a/packages/preferences-persistence/package.json b/packages/preferences-persistence/package.json
index 492ce2a9468ed..b90b33d072609 100644
--- a/packages/preferences-persistence/package.json
+++ b/packages/preferences-persistence/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences-persistence",
- "version": "1.46.0",
+ "version": "1.47.0",
"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 b54f53b8daca5..db8a13bf8890d 100644
--- a/packages/preferences/CHANGELOG.md
+++ b/packages/preferences/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.32.0 (2024-04-03)
+
## 3.31.0 (2024-03-21)
## 3.30.0 (2024-03-06)
diff --git a/packages/preferences/package.json b/packages/preferences/package.json
index bcdb1805110e1..2f4a8ccbd16b4 100644
--- a/packages/preferences/package.json
+++ b/packages/preferences/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences",
- "version": "3.31.0",
+ "version": "3.32.0",
"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 62d648a5fa605..56244a832dc4c 100644
--- a/packages/prettier-config/CHANGELOG.md
+++ b/packages/prettier-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.12.0 (2024-04-03)
+
## 3.11.0 (2024-03-21)
## 3.10.0 (2024-03-06)
diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json
index 56d44512eea07..c4e4db7bffe33 100644
--- a/packages/prettier-config/package.json
+++ b/packages/prettier-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/prettier-config",
- "version": "3.11.0",
+ "version": "3.12.0",
"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 1a1a2e078ec7d..69f75efe2a72f 100644
--- a/packages/primitives/CHANGELOG.md
+++ b/packages/primitives/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.53.0 (2024-04-03)
+
## 3.52.0 (2024-03-21)
## 3.51.0 (2024-03-06)
diff --git a/packages/primitives/package.json b/packages/primitives/package.json
index 2982cfb4c1d20..6ed1adf3d7fc8 100644
--- a/packages/primitives/package.json
+++ b/packages/primitives/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/primitives",
- "version": "3.52.0",
+ "version": "3.53.0",
"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 691f6ec9f844b..7b9fe860dbe0e 100644
--- a/packages/priority-queue/CHANGELOG.md
+++ b/packages/priority-queue/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.55.0 (2024-04-03)
+
## 2.54.0 (2024-03-21)
## 2.53.0 (2024-03-06)
diff --git a/packages/priority-queue/package.json b/packages/priority-queue/package.json
index d9d270935e1f2..25366e59aa29e 100644
--- a/packages/priority-queue/package.json
+++ b/packages/priority-queue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/priority-queue",
- "version": "2.54.0",
+ "version": "2.55.0",
"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 d360becd6dbec..7a9c92f102d99 100644
--- a/packages/private-apis/CHANGELOG.md
+++ b/packages/private-apis/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 0.37.0 (2024-04-03)
+
## 0.36.0 (2024-03-21)
## 0.35.0 (2024-03-06)
diff --git a/packages/private-apis/package.json b/packages/private-apis/package.json
index c6aea8eda192f..94361a7dc80af 100644
--- a/packages/private-apis/package.json
+++ b/packages/private-apis/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/private-apis",
- "version": "0.36.0",
+ "version": "0.37.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/CHANGELOG.md b/packages/project-management-automation/CHANGELOG.md
index 5d627a729bb6b..46139f1621f6b 100644
--- a/packages/project-management-automation/CHANGELOG.md
+++ b/packages/project-management-automation/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.54.0 (2024-04-03)
+
## 1.53.0 (2024-03-21)
## 1.52.0 (2024-03-06)
diff --git a/packages/project-management-automation/package.json b/packages/project-management-automation/package.json
index 4ed061b14dcd1..831ae3cbfad32 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": "1.53.0",
+ "version": "1.54.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/CHANGELOG.md b/packages/react-i18n/CHANGELOG.md
index b911709cb56fd..3d3f93ffe3828 100644
--- a/packages/react-i18n/CHANGELOG.md
+++ b/packages/react-i18n/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.53.0 (2024-04-03)
+
## 3.52.0 (2024-03-21)
## 3.51.0 (2024-03-06)
diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json
index 27de673c5a0ff..e16e8bb115bbb 100644
--- a/packages/react-i18n/package.json
+++ b/packages/react-i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/react-i18n",
- "version": "3.52.0",
+ "version": "3.53.0",
"description": "React bindings for @wordpress/i18n.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/react-native-editor/CHANGELOG.md b/packages/react-native-editor/CHANGELOG.md
index 5ad91131d6d9c..91f115a41da6b 100644
--- a/packages/react-native-editor/CHANGELOG.md
+++ b/packages/react-native-editor/CHANGELOG.md
@@ -10,6 +10,7 @@ For each user feature we should also add a importance categorization label to i
-->
## Unreleased
+- [*] Add empty fallback option for the BottomSheetSelectControl component
## 1.116.0
- [**] Highlight color formatting style improvements [#57650]
diff --git a/packages/readable-js-assets-webpack-plugin/CHANGELOG.md b/packages/readable-js-assets-webpack-plugin/CHANGELOG.md
index c5f9e22bf7ca8..a70eaf257edc8 100644
--- a/packages/readable-js-assets-webpack-plugin/CHANGELOG.md
+++ b/packages/readable-js-assets-webpack-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.38.0 (2024-04-03)
+
## 2.37.0 (2024-03-21)
## 2.36.0 (2024-03-06)
diff --git a/packages/readable-js-assets-webpack-plugin/package.json b/packages/readable-js-assets-webpack-plugin/package.json
index 2591335bfb8df..3667574f79466 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": "2.37.0",
+ "version": "2.38.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/CHANGELOG.md b/packages/redux-routine/CHANGELOG.md
index e8bcb1730878c..adf7b594f04a7 100644
--- a/packages/redux-routine/CHANGELOG.md
+++ b/packages/redux-routine/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.55.0 (2024-04-03)
+
## 4.54.0 (2024-03-21)
## 4.53.0 (2024-03-06)
diff --git a/packages/redux-routine/package.json b/packages/redux-routine/package.json
index 6ff0db272fab6..79a77d0459bc0 100644
--- a/packages/redux-routine/package.json
+++ b/packages/redux-routine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/redux-routine",
- "version": "4.54.0",
+ "version": "4.55.0",
"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 90d7137584861..0d668c2aeaa4e 100644
--- a/packages/reusable-blocks/CHANGELOG.md
+++ b/packages/reusable-blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.32.0 (2024-04-03)
+
## 4.31.0 (2024-03-21)
## 4.30.0 (2024-03-06)
diff --git a/packages/reusable-blocks/package.json b/packages/reusable-blocks/package.json
index 89ddf25d261fd..0dfea26589936 100644
--- a/packages/reusable-blocks/package.json
+++ b/packages/reusable-blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/reusable-blocks",
- "version": "4.31.0",
+ "version": "4.32.0",
"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 90c5848701b9c..740977f65a584 100644
--- a/packages/rich-text/CHANGELOG.md
+++ b/packages/rich-text/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.32.0 (2024-04-03)
+
## 6.31.0 (2024-03-21)
## 6.30.0 (2024-03-06)
diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json
index 3ce0e694b811e..12017280cd9ee 100644
--- a/packages/rich-text/package.json
+++ b/packages/rich-text/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/rich-text",
- "version": "6.31.0",
+ "version": "6.32.0",
"description": "Rich text value and manipulation API.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -39,8 +39,7 @@
"@wordpress/escape-html": "file:../escape-html",
"@wordpress/i18n": "file:../i18n",
"@wordpress/keycodes": "file:../keycodes",
- "memize": "^2.1.0",
- "rememo": "^4.0.2"
+ "memize": "^2.1.0"
},
"peerDependencies": {
"react": "^18.0.0"
diff --git a/packages/rich-text/src/store/selectors.js b/packages/rich-text/src/store/selectors.js
index cdc597aee0d99..df87c6a99211a 100644
--- a/packages/rich-text/src/store/selectors.js
+++ b/packages/rich-text/src/store/selectors.js
@@ -1,7 +1,7 @@
/**
- * External dependencies
+ * WordPress dependencies
*/
-import createSelector from 'rememo';
+import { createSelector } from '@wordpress/data';
/**
* Returns all the available format types.
diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md
index 0b10fdca92d1d..7a6d69812f937 100644
--- a/packages/router/CHANGELOG.md
+++ b/packages/router/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 0.24.0 (2024-04-03)
+
## 0.23.0 (2024-03-21)
## 0.22.0 (2024-03-06)
diff --git a/packages/router/package.json b/packages/router/package.json
index ff1c13acce9bc..2e21fd204cf7d 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/router",
- "version": "0.23.0",
+ "version": "0.24.0",
"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 f71f8d79a066b..a43dc8a3d0ba6 100644
--- a/packages/scripts/CHANGELOG.md
+++ b/packages/scripts/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 27.6.0 (2024-04-03)
+
## 27.5.0 (2024-03-21)
## 27.4.0 (2024-03-06)
diff --git a/packages/scripts/package.json b/packages/scripts/package.json
index bc25c487bc864..a97d80578dc3c 100644
--- a/packages/scripts/package.json
+++ b/packages/scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/scripts",
- "version": "27.5.0",
+ "version": "27.6.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/CHANGELOG.md b/packages/server-side-render/CHANGELOG.md
index ceb6c1362f9c4..c66a6be10de31 100644
--- a/packages/server-side-render/CHANGELOG.md
+++ b/packages/server-side-render/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.32.0 (2024-04-03)
+
## 4.31.0 (2024-03-21)
## 4.30.0 (2024-03-06)
diff --git a/packages/server-side-render/package.json b/packages/server-side-render/package.json
index 7a5cc91cd358d..c91cda42efa31 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": "4.31.0",
+ "version": "4.32.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/CHANGELOG.md b/packages/shortcode/CHANGELOG.md
index cb40a92168d4b..9b8b9adddb9de 100644
--- a/packages/shortcode/CHANGELOG.md
+++ b/packages/shortcode/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
## 3.54.0 (2024-03-21)
## 3.53.0 (2024-03-06)
diff --git a/packages/shortcode/package.json b/packages/shortcode/package.json
index d05a0874b210f..a3c3ce78a4edf 100644
--- a/packages/shortcode/package.json
+++ b/packages/shortcode/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/shortcode",
- "version": "3.54.0",
+ "version": "3.55.0",
"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 41d9aea3d4fcb..e62e99da56c78 100644
--- a/packages/style-engine/CHANGELOG.md
+++ b/packages/style-engine/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.38.0 (2024-04-03)
+
## 1.37.0 (2024-03-21)
## 1.36.0 (2024-03-06)
diff --git a/packages/style-engine/package.json b/packages/style-engine/package.json
index cd726edcfc02e..8cd0c0ac74c8f 100644
--- a/packages/style-engine/package.json
+++ b/packages/style-engine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/style-engine",
- "version": "1.37.0",
+ "version": "1.38.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/CHANGELOG.md b/packages/stylelint-config/CHANGELOG.md
index c4310f080d80a..5cb5f01d19087 100644
--- a/packages/stylelint-config/CHANGELOG.md
+++ b/packages/stylelint-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 21.38.0 (2024-04-03)
+
## 21.37.0 (2024-03-21)
## 21.36.0 (2024-03-06)
diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json
index 260b295a64404..66634231dfbc2 100644
--- a/packages/stylelint-config/package.json
+++ b/packages/stylelint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/stylelint-config",
- "version": "21.37.0",
+ "version": "21.38.0",
"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 2fc1c9f681bab..b344ebc08cbfb 100644
--- a/packages/sync/CHANGELOG.md
+++ b/packages/sync/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 0.17.0 (2024-04-03)
+
## 0.16.0 (2024-03-21)
## 0.15.0 (2024-03-06)
diff --git a/packages/sync/package.json b/packages/sync/package.json
index 32dab33ec18e3..388d23c7af672 100644
--- a/packages/sync/package.json
+++ b/packages/sync/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/sync",
- "version": "0.16.0",
+ "version": "0.17.0",
"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 1077c7eb42541..fad6d790fd5ab 100644
--- a/packages/token-list/CHANGELOG.md
+++ b/packages/token-list/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.55.0 (2024-04-03)
+
## 2.54.0 (2024-03-21)
## 2.53.0 (2024-03-06)
diff --git a/packages/token-list/package.json b/packages/token-list/package.json
index 6c07b79df6c02..5b3085ebae685 100644
--- a/packages/token-list/package.json
+++ b/packages/token-list/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/token-list",
- "version": "2.54.0",
+ "version": "2.55.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/CHANGELOG.md b/packages/undo-manager/CHANGELOG.md
index aeb6e697c9a51..eb3c582eea3d2 100644
--- a/packages/undo-manager/CHANGELOG.md
+++ b/packages/undo-manager/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 0.15.0 (2024-04-03)
+
## 0.14.0 (2024-03-21)
## 0.13.0 (2024-03-06)
diff --git a/packages/undo-manager/package.json b/packages/undo-manager/package.json
index 5a2ec36330e36..3d2a4aaeea99b 100644
--- a/packages/undo-manager/package.json
+++ b/packages/undo-manager/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/undo-manager",
- "version": "0.14.0",
+ "version": "0.15.0",
"description": "A small package to manage undo/redo.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/url/CHANGELOG.md b/packages/url/CHANGELOG.md
index 2c960354a30ab..c56c16c0e8645 100644
--- a/packages/url/CHANGELOG.md
+++ b/packages/url/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.56.0 (2024-04-03)
+
## 3.55.0 (2024-03-21)
## 3.54.0 (2024-03-06)
diff --git a/packages/url/package.json b/packages/url/package.json
index f4c762ccce443..0f585ceb44ab1 100644
--- a/packages/url/package.json
+++ b/packages/url/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/url",
- "version": "3.55.0",
+ "version": "3.56.0",
"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 6353350b6d738..b2a9506bf04fc 100644
--- a/packages/viewport/CHANGELOG.md
+++ b/packages/viewport/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.32.0 (2024-04-03)
+
## 5.31.0 (2024-03-21)
## 5.30.0 (2024-03-06)
diff --git a/packages/viewport/package.json b/packages/viewport/package.json
index 65ecd31883917..ff082d42d9fa1 100644
--- a/packages/viewport/package.json
+++ b/packages/viewport/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/viewport",
- "version": "5.31.0",
+ "version": "5.32.0",
"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 0fc58018105ec..f984c4920e1cf 100644
--- a/packages/warning/CHANGELOG.md
+++ b/packages/warning/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.55.0 (2024-04-03)
+
## 2.54.0 (2024-03-21)
## 2.53.0 (2024-03-06)
diff --git a/packages/warning/package.json b/packages/warning/package.json
index 727b37b8c6840..ecc2cfff82255 100644
--- a/packages/warning/package.json
+++ b/packages/warning/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/warning",
- "version": "2.54.0",
+ "version": "2.55.0",
"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 5fb456fce6e83..2c371c0a60b44 100644
--- a/packages/widgets/CHANGELOG.md
+++ b/packages/widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.32.0 (2024-04-03)
+
## 3.31.0 (2024-03-21)
## 3.30.0 (2024-03-06)
diff --git a/packages/widgets/package.json b/packages/widgets/package.json
index e9b3d860e7e66..2a93c8874c8b2 100644
--- a/packages/widgets/package.json
+++ b/packages/widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/widgets",
- "version": "3.31.0",
+ "version": "3.32.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/CHANGELOG.md b/packages/wordcount/CHANGELOG.md
index 7cff4cb11fc67..e1ec477337626 100644
--- a/packages/wordcount/CHANGELOG.md
+++ b/packages/wordcount/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.55.0 (2024-04-03)
+
## 3.54.0 (2024-03-21)
## 3.53.0 (2024-03-06)
diff --git a/packages/wordcount/package.json b/packages/wordcount/package.json
index 86068dd3dcbee..0cd3b24a57e9e 100644
--- a/packages/wordcount/package.json
+++ b/packages/wordcount/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/wordcount",
- "version": "3.54.0",
+ "version": "3.55.0",
"description": "WordPress word count utility.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/schemas/json/font-collection.json b/schemas/json/font-collection.json
index 627fdf978c050..e52455b220cdb 100644
--- a/schemas/json/font-collection.json
+++ b/schemas/json/font-collection.json
@@ -4,7 +4,7 @@
"type": "object",
"definitions": {
"fontFace": {
- "description": "Font face theme.json settings, with added preview property.",
+ "description": "Font face settings, with added preview property.",
"type": "object",
"properties": {
"preview": {
@@ -107,7 +107,7 @@
"type": "object",
"properties": {
"font_family_settings": {
- "description": "Font family theme.json settings, with added preview property.",
+ "description": "Font family settings, with added preview property.",
"type": "object",
"properties": {
"name": {
@@ -138,6 +138,7 @@
}
}
},
+ "required": [ "name", "fontFamily", "slug" ],
"additionalProperties": false
},
"categories": {
@@ -154,5 +155,5 @@
}
},
"additionalProperties": false,
- "required": [ "$schema", "slug", "name", "font_families" ]
+ "required": [ "font_families" ]
}
diff --git a/test/e2e/specs/editor/plugins/pattern-recursion.spec.js b/test/e2e/specs/editor/plugins/pattern-recursion.spec.js
index 72498bcdf9914..069f33d671d68 100644
--- a/test/e2e/specs/editor/plugins/pattern-recursion.spec.js
+++ b/test/e2e/specs/editor/plugins/pattern-recursion.spec.js
@@ -3,7 +3,42 @@
*/
const { test, expect } = require( '@wordpress/e2e-test-utils-playwright' );
-test.describe( 'Preventing Pattern Recursion', () => {
+test.describe( 'Preventing Pattern Recursion (client)', () => {
+ test.beforeEach( async ( { admin, editor, page } ) => {
+ await admin.createNewPost();
+ await editor.canvas
+ .locator( 'role=button[name="Add default block"i]' )
+ .click();
+ await page.evaluate( () => {
+ window.wp.data.dispatch( 'core/block-editor' ).updateSettings( {
+ __experimentalBlockPatterns: [
+ {
+ name: 'evil/recursive',
+ title: 'Evil recursive',
+ description: 'Evil recursive',
+ content:
+ 'Hello
',
+ },
+ ],
+ } );
+ } );
+ } );
+
+ test( 'prevents infinite loops due to recursive patterns', async ( {
+ editor,
+ } ) => {
+ await editor.insertBlock( {
+ name: 'core/pattern',
+ attributes: { slug: 'evil/recursive' },
+ } );
+ const warning = editor.canvas.getByText(
+ 'Pattern "evil/recursive" cannot be rendered inside itself'
+ );
+ await expect( warning ).toBeVisible();
+ } );
+} );
+
+test.describe( 'Preventing Pattern Recursion (server)', () => {
test.beforeAll( async ( { requestUtils } ) => {
await requestUtils.activatePlugin(
'gutenberg-test-protection-against-recursive-patterns'
@@ -21,15 +56,30 @@ test.describe( 'Preventing Pattern Recursion', () => {
} );
test( 'prevents infinite loops due to recursive patterns', async ( {
+ page,
editor,
} ) => {
- await editor.insertBlock( {
- name: 'core/pattern',
- attributes: { slug: 'evil/recursive' },
- } );
- const warning = editor.canvas.getByText(
- 'Pattern "evil/recursive" cannot be rendered inside itself'
- );
- await expect( warning ).toBeVisible();
+ // Click the Toggle block inserter button
+ await page
+ .getByRole( 'button', { name: 'Toggle block inserter' } )
+ .click();
+ // Click the Patterns tab
+ await page.getByRole( 'tab', { name: 'Patterns' } ).click();
+ // Click the Uncategorized tab
+ await page.getByRole( 'button', { name: 'Uncategorized' } ).click();
+ // Click the Evil recursive pattern
+ await page.getByRole( 'option', { name: 'Evil recursive' } ).click();
+ // By simply checking the editor content, we know that the pattern
+ // endpoint did not crash.
+ expect( await editor.getBlocks() ).toMatchObject( [
+ {
+ name: 'core/paragraph',
+ attributes: { content: 'Hello' },
+ },
+ {
+ name: 'core/paragraph',
+ attributes: { content: 'Hello' },
+ },
+ ] );
} );
} );
diff --git a/tools/webpack/blocks.js b/tools/webpack/blocks.js
index 080ee2e01242b..36329d39c1212 100644
--- a/tools/webpack/blocks.js
+++ b/tools/webpack/blocks.js
@@ -188,7 +188,8 @@ module.exports = [
// other core prefix (e.g. "wp_").
return result.replace(
new RegExp(
- functionName,
+ functionName +
+ '(?![a-zA-Z0-9_])',
'g'
),
( match ) =>