Home

>

Tools

>

Payload CMS

>

Releases

>

3.0.0-beta.35

Payload CMS Release: 3.0.0-beta.35

Pre Release

Tag Name: v3.0.0-beta.35

Release Date: 5/21/2024

Payload CMS LogoPayload CMS

Payload CMS is a modern, self-hosted headless content management system built with TypeScript, Node.js, and MongoDB. It's designed specifically for developers who want full control over their content management system while maintaining a powerful admin interface for content editors.

TL;DR

PayloadCMS v3.0.0-beta.35: Enhanced Media Management, UI Fixes, and Breaking Changes

This beta release introduces focal point storage for uploads, addressing a long-standing feature request. It also fixes critical issues with user verification emails, relationship field handling, and rich text validation. A breaking change renames view components for better developer experience. This release improves stability and usability of the beta branch as it moves toward the final 3.0 release.

Highlight of the Release

    • Added focal point storage for uploads with focalX and focalY properties
    • Fixed critical user verification email functionality
    • Improved relationship field handling for search and sort operations
    • Breaking change: renamed view components for better developer experience
    • Fixed rich text validation for required fields
    • Resolved UI issues with tooltips and browser save dialogs

Migration Guide

Breaking Changes: View Component Renaming

The exports of DefaultListView and DefaultEditView have been renamed to remove the "Default" prefix, becoming simply ListView and EditView. This change affects import statements in your code.

Before:

import { DefaultEditView } from '@payloadcms/next/views'
import { DefaultListView } from '@payloadcms/next/views'

After:

import { EditView } from '@payloadcms/next/views'
import { ListView } from '@payloadcms/next/views'

To migrate, search your codebase for imports of these components and update them to use the new names. This is a straightforward find-and-replace operation that should not affect the functionality of your application.

Upgrade Recommendations

This release contains important bug fixes and a new feature for focal point storage on uploads, making it a recommended upgrade for most users of the beta branch. However, be aware of the breaking change to view component names.

For developers using DefaultListView or DefaultEditView:

  • Update your import statements as described in the migration guide before upgrading.

For all other users:

  • This is a recommended upgrade, especially if you've encountered any of the fixed issues like broken user verification emails or relationship field problems.

To upgrade, update your package.json to reference v3.0.0-beta.35 and run your package manager's install command:

npm install @payloadcms/[email protected]
# or
yarn add @payloadcms/[email protected]
# or
pnpm add @payloadcms/[email protected]

Bug Fixes

User Verification

  • Fixed broken user verification emails that were causing a 422 validation error due to incorrect email formatting in the from field. The issue was resolved by updating the from property to use the correct defaultFromAddress instead of incorrectly using defaultFromName for both the name and address parts.

UI Improvements

  • Fixed tooltip positioning issues that were causing display problems in the admin interface
  • Prevented the browser's save dialog from appearing when using save hotkeys with no actual changes to save
  • Fixed relationship cell formatted values not updating when search parameters change
  • Resolved SEO plugin "white screen of death" when choosing existing media for meta images

Rich Text Editor

  • Fixed required field validation for Lexical rich text editor when content was manually removed
  • Improved node validation messages for better user feedback
  • Fixed rich text container elements direction in Slate editor

Relationship Fields

  • Separated sort and search fields when looking up relationships, fixing unexpected behavior described in issues #4815 and #5222
  • Fixed relationship cell formatted values not updating when search, sort, limit, or where filters change

Other Fixes

  • Fixed page metadata generation not working in Turbopack
  • Added ESM import paths for GraphQL packages
  • Fixed attributes for GraphQL packages

New Features

Focal Point Storage for Uploads

The ability to store focal points on uploaded images has been added, addressing a long-standing feature request (Discussion #4082). Images now store focalX and focalY properties, allowing developers to implement more intelligent image cropping based on the most important part of an image. This feature mirrors PR #6364 from the main branch and brings it to the beta branch.

Improved Component Exports

The DefaultListView component is now exported, allowing developers to reuse it in custom implementations or plugins. This provides greater flexibility when extending the admin UI.

Security Updates

No security fixes were explicitly mentioned in this release.

Performance Improvements

No specific performance improvements were mentioned in this release. The focus appears to be on feature additions, bug fixes, and breaking changes rather than performance optimizations.

Impact Summary

This release brings significant improvements to PayloadCMS beta branch with a focus on stability and usability. The addition of focal point storage for uploads enhances media management capabilities, allowing for more intelligent image cropping - a feature many users have requested. Critical bugs have been fixed, particularly the user verification email system which was completely broken in previous versions.

The UI experience has been improved with fixes to tooltips, relationship fields, and browser save dialogs. Rich text editing is more reliable with proper validation for required fields. The breaking change to view component naming improves API consistency but requires code updates.

Overall, this release represents an important step toward stabilizing the 3.0 beta branch, addressing key issues while adding valuable features. The changes primarily affect developers who need to update import statements and content editors who will benefit from improved UI reliability and new focal point functionality.

Full Release Notes

v3.0.0-beta.35 (2024-05-21)

Features

Bug Fixes

  • user verification email broken (#6442) (23f9a32)
  • ui: blocks browser save dialog from opening when hotkey used with no changes (#6366) (0190eb8)
  • separate sort and search fields when looking up relationship. (#6440) (f482fdc)
  • ui: tooltip positioning issues (#6439) (ed47661)
  • ui: update relationship cell formatted value when when search changes (#6208) (e682cb1)
  • richtext-lexical: field required validation not working if content was removed manually (#6435) (fa7cc37)
  • attributes graphql packages, adds esm import path (#6431) (1d81eef)
  • plugin-seo: white screen of death on choosing an existing media for meta image (#6424) (8fcfac6)

BREAKING CHANGES

Change the exports of DefaultListView and DefaultEditView to be renamed
without "Default" as ListView

// before
import { DefaultEditView } from '@payloadcms/next/views'
import { DefaultListView } from '@payloadcms/next/views'

// after 
import { EditView } from '@payloadcms/next/views'
import { ListView } from '@payloadcms/next/views'

Contributors

Statistics:

File Changed99
Line Additions974
Line Deletions629
Line Changes1,603
Total Commits17

User Affected:

  • Need to update import statements for ListView and EditView components due to breaking changes
  • Can now utilize focal point data on uploads with new `focalX` and `focalY` properties
  • Benefit from fixed ESM import paths for GraphQL packages
  • Can reuse the ListView component in custom implementations

Contributors:

AlessioGrdenolfepaulpopusJarrodMFleschr1tsuuandershermansenjessrynkar