Migrating to Payload CMS v3.28.0
Version v3.28.0 introduces 1 breaking change. This guide details how to update your code.
Released: 3/11/2025
1
Breaking Changes
3
Migration Steps
7
Affected Symbols
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
withPayloadlexicalpayload-locked-documentsfield validate functiongraphql field namesi18n configurationupload.displayPreviewBreaking Changes
●Issue #1
Projects relying on server-only Payload dependencies being bundled during development might see unexpected behavior due to the new opt-in compilation performance flag. To maintain previous behavior, ensure you do not enable `devBundleServerPackages: false` in `withPayload` configuration.
Migration Steps
- 1To enable compilation performance improvements, update your `next.config.js` to include `{ devBundleServerPackages: false }` in the `withPayload` call: `export default withPayload(nextConfig, { devBundleServerPackages: false })`.
- 2If you manually installed `lexical`, update it to version `0.27.1`.
- 3If encountering richtext-lexical errors after the upgrade, perform a clean reinstall: 1. Delete `node_modules`. 2. Delete your lockfile (e.g., `pnpm-lock.json`). 3. Reinstall dependencies (e.g., `pnpm install`).
Release Summary
This release focuses on significant performance improvements via an opt-in compilation flag and upgrades the core Lexical dependency to 0.27.1, alongside numerous bug fixes across database, GraphQL, and UI components.
Need More Details?
View the full release notes and all changes for Payload CMS v3.28.0.
View Full Changelog