Change8

v3.67.0

Breaking Changes
📦 payload-cmsView on GitHub →
1 breaking3 features🐛 7 fixes🔧 4 symbols

Summary

This release introduces `groupBy` support for query presets and enables guest cart functionality in the ecommerce plugin with a reworked access configuration. Several UI and hook-related bugs were also resolved.

⚠️ Breaking Changes

  • plugin-ecommerce: The access configuration structure within `ecommercePlugin` has been reworked to support secure guest carts. Users must update their access configuration object passed to `ecommercePlugin` to align with the new structure (e.g., replacing old access keys with `isAdmin` and `isDocumentOwner`). See release notes for the exact mapping.

Migration Steps

  1. If using `plugin-ecommerce`, review and update the `access` configuration object passed to `ecommercePlugin` to match the new structure, which includes replacing older access keys with `isAdmin` and `isDocumentOwner`.

✨ New Features

  • Added support for saving and restoring `groupBy` state when switching between query presets.
  • plugin-ecommerce: Enabled guest carts, allowing guest users to create and manage carts secured by a local storage secret. This feature is enabled by default.
  • plugin-ecommerce: Added `isLoading` status to all hooks for conditional UI state management.

🐛 Bug Fixes

  • Added missing `beforeInput` and `afterInput` properties to the `UploadAdmin` type.
  • Added missing `afterOperation` and `beforeOperation` hook calls.
  • Corrected the type definition for sanitized versions.
  • plugin-multi-tenant: Moved `getGlobalViewRedirect` from utilities to RSC exports.
  • UI: Fixed autosave not being queued while a background process was in flight.
  • UI: Ensured block error CSS is only applied to the affected block.
  • UI: Added missing translation support to the `SelectMany` component.

🔧 Affected Symbols

ecommercePluginUploadAdmingetGlobalViewRedirectSelectMany