Payload CMS 3.0 introduces several updates and changes compared to version 2.0, with a focus on modernizing architecture, improving integrations, and enhancing developer experience:
- Next.js Integration: The admin panel and API now utilize Next.js instead of Express. This change improves scalability and compatibility, aligning with modern web development practices. Custom routes and middleware can be migrated to Next.js route handlers or hooks
- Payload
- GitHub
- .
- Updated Configuration:
next.config.jsneeds to be updated to use ESM format and wrapped withwithPayloadfor compatibility.- TypeScript configurations require adjustments, such as using the
moduleResolution: bundleroption for Next.js compatibilityGitHub - .
- Admin Panel Enhancements:
- Deprecated properties like
faviconandmeta.ogImageare replaced with more flexible options (iconsandopenGraph.images). - Admin styles and customizations are moved to Next.js’ modern tooling, such as
.scssfiles under specific foldersGitHub - .
- Email System Overhaul: Email functionality is abstracted into adapters, such as
nodemailerAdapter, for more flexible email service integration - GitHub
- .
- Breaking Changes in APIs: Updates to
livePreview,email, and other methods simplify configurations but require migration adjustments. Features like custom CSS for the admin panel now use Next.js layouts instead of inline properties - GitHub
- .
- Backward Compatibility: While some Express functionalities can still be used by configuring a custom server in Next.js, this is optional and primarily for legacy codebases
- GitHub
- .