TL;DR
Payload CMS v3.0.0-beta.14 Release
What's New
This beta release primarily focuses on fixing critical issues with PostgreSQL database adapter, dependency management, and development workflow improvements. The most significant change is the shortening of relation names in the PostgreSQL adapter to prevent common errors.
Why It Matters
The PostgreSQL relation name shortening is a breaking change that resolves common errors users were experiencing with long relation names. This release also improves dependency management across packages, particularly for GraphQL and storage adapters.
Who Should Care
Users of the PostgreSQL adapter need to apply database migrations. Developers using Next.js with GraphQL and those working with S3 or Vercel Blob storage adapters will benefit from dependency fixes.
Highlight of the Release
- Fixed PostgreSQL relation names to prevent common errors (breaking change)
- Improved HMR support for PostgreSQL by properly destroying the database before re-initialization
- Fixed dependency management for storage adapters (S3 and Vercel Blob)
- Moved graphql-http from devDependencies to dependencies in Next.js package
- Fixed database adapter installation in create-payload-app
Migration Guide
PostgreSQL Migration Guide
This release includes a breaking change for users of the @payloadcms/db-postgres adapter. The names of auto-generated PostgreSQL relations have been shortened to prevent common errors related to PostgreSQL's name length limitations.
Required Steps:
- Run your application in development mode
- Generate a new migration:
pnpm payload migrate:create
- Apply the migration to your database:
pnpm payload migrate
This migration will update your database schema to use the new shortened relation names.
Upgrade Recommendations
For PostgreSQL Users
This is an important update that resolves common errors with relation names. Upgrade is recommended, but be prepared to run database migrations as outlined in the migration guide.
For Next.js with GraphQL Users
This update fixes dependency issues with graphql-http in the Next.js package. Upgrade is recommended for stability.
For Storage Adapter Users
If you're using S3 or Vercel Blob storage adapters, this update fixes dependency issues. Upgrade is recommended for reliability.
For Other Users
This update primarily focuses on specific issues and contains no major new features. You can upgrade at your convenience, but there's no urgent need if you're not affected by the fixed issues.
Bug Fixes
PostgreSQL Adapter Fixes
- Shortened relation names to prevent errors related to PostgreSQL's name length limitations
- Improved Hot Module Reloading (HMR) by properly destroying the database adapter before re-initialization
- Fixed database adapter installation in package.json when using create-payload-app
Dependency Fixes
- Fixed storage adapter dependencies for S3 and Vercel Blob adapters
- Moved graphql-http from devDependencies to dependencies in the Next.js package
- Reduced GraphQL dependencies to improve package management
CI/Build Improvements
- Removed email E2E tests due to failing Ethereal calls
- Adjusted pnpm engines version for better compatibility
New Features
No significant new features were added in this release. This beta update focuses primarily on bug fixes, dependency management, and development workflow improvements.
Security Updates
No security fixes were mentioned in this release.
Performance Improvements
Development Workflow Improvements
- Reduced GraphQL dependencies which may lead to smaller bundle sizes and faster installations
- Improved HMR for PostgreSQL by properly destroying the database connection before re-initialization, leading to more reliable development experience
No specific end-user performance improvements were noted in this release.
Impact Summary
This release primarily impacts PostgreSQL users with a breaking change that requires database migration but ultimately improves stability by shortening relation names to prevent common errors. It also addresses several dependency issues across packages, particularly for GraphQL in Next.js and storage adapters (S3 and Vercel Blob).
The most significant impact is on development workflow, with improved hot module reloading for PostgreSQL and better dependency management. The changes are focused on fixing specific issues rather than adding new features, making this a maintenance-focused release that improves overall stability and compatibility.
PostgreSQL users will need to follow the migration steps, but will benefit from fewer errors related to relation name length limitations. Next.js developers using GraphQL and storage adapter users will experience more reliable operation without needing to take any special migration steps.
Full Release Notes
⚠ BREAKING CHANGES
@payloadcms/db-postgres
- fix(db-postgres): shortens relation names (#5976)
Shortens the name of auto-generated Postgres relations. Should dramatically reduce errors for users in PG. Also handles an issue with HMR in Postgres by properly destroying the database adapter before re-initializing it.
This change will require anyone running @payloadcms/db-postgres to create a new migration and run it against their database.
- Run your application in development
pnpm payload migrate:create will generate the new migration
pnpm payload migrate will run the migration against your DB