Home

>

Tools

>

Payload CMS

>

Releases

>

3.0.0-beta.38

Payload CMS Release: 3.0.0-beta.38

Pre Release

Tag Name: v3.0.0-beta.38

Release Date: 5/30/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.38 brings important bug fixes and feature enhancements to improve the developer and user experience. This release includes UI improvements for button sizing consistency, fixes for field validation errors, better relationship field handling, and new translations. It also introduces improved loading states and extracts form state logic for better reusability.

Highlight of the Release

    • Improved UI consistency with standardized add/remove button sizing
    • Fixed field validation errors with admin.disableListColumn property
    • Added new translations for user email registration errors
    • Improved relationship field handling and querying capabilities
    • Extracted form state logic for better code reusability

Migration Guide

No breaking changes are introduced in this beta release that would require migration steps. However, if you're using custom field components with admin.disableListColumn property, ensure your implementation is compatible with the fixes in this release.

If you're using the Lexical rich text editor with custom implementations, be aware of the changes to floating handle positioning and HTML conversion which might affect your custom components.

Upgrade Recommendations

This beta release includes important bug fixes and feature enhancements that improve the overall stability and user experience of PayloadCMS. If you're already using v3.0.0-beta.37, upgrading to beta.38 is recommended to benefit from these improvements.

For developers using relationship fields, rich text editors, or custom field components, this update addresses several issues that could impact your application's functionality and user experience.

To upgrade, update your package.json dependency:

"payload": "^3.0.0-beta.38"

Then run your package manager's install command:

npm install
# or
yarn
# or
pnpm install

Bug Fixes

UI Improvements

  • Fixed inconsistent sizing of add/remove buttons to ensure they have the same dimensions
  • Fixed field validation errors when using the admin.disableListColumn property
  • Ensured relationship field pills properly respect the isSortable property

Relationship Field Fixes

  • Fixed duplicate options appearing in relationship where builder
  • Added ability to query relationships not equal to ID
  • Fixed relationship query pagination issues

Rich Text Editor Fixes

  • Fixed issues with Lexical rich text editor:
    • Properly centered add and drag-block handles
    • Fixed checklist HTML converter incorrectly outputting children
    • Fixed floating handle positioning for certain HTML elements
    • Disabled instanceof HTMLImageElement check that caused server-side issues

Database Fixes

  • Fixed PostgreSQL database issues:
    • Fixed error on delete operations having joins
    • Fixed UUID custom DB name handling
    • Fixed query with 'like' on ID columns
    • Fixed nested groups inside nested blocks

Other Fixes

  • Added new userEmailAlreadyRegistered translations
  • Fixed image resize for TIFF files
  • Fixed regression of filterOptions using different transaction
  • Fixed duplicate document creation when done in quick succession
  • Fixed missing date locales

New Features

Improved Loading States

The UI now has improved loading states, providing a better user experience when navigating through the admin panel and performing operations.

Extracted Form State Logic

Form state logic has been extracted from endpoints for better reusability, making it easier for developers to work with form data across different parts of the application.

Horizontal Rule Feature for Rich Text

The rich text editor now includes a Horizontal Rule feature, allowing content editors to add visual separators in their content.

Security Updates

Dependency Updates

Several security-related dependency updates have been included in this release:

  • Updated express from 4.18.2 to 4.19.2 across multiple examples
  • Bumped ip from 2.0.0 to 2.0.1 in various examples
  • Updated follow-redirects and es5-ext packages to address security vulnerabilities
  • Updated webpack-dev-middleware to resolve a high severity security issue

Performance Improvements

Rich Text Editor Performance

The Lexical rich text editor has seen several performance improvements:

  • Limited unnecessary floating handle positioning updates
  • Minimized the number of times sanitizeFields is called
  • Improved block handle positioning for better user interaction

Database Optimizations

  • Added index to version status field for better query performance
  • Fixed relationship query pagination for more efficient data retrieval

Impact Summary

PayloadCMS v3.0.0-beta.38 delivers significant improvements to the developer and user experience with a focus on UI consistency, field validation, and relationship handling. The release addresses several pain points reported by the community, including button sizing inconsistencies, field validation errors, and relationship querying capabilities.

For developers, the extraction of form state logic provides better code reusability, while fixes to relationship field handling and database operations improve reliability. Content editors will appreciate the more consistent UI with standardized button sizing and improved loading states.

The rich text editor enhancements, particularly around handle positioning and HTML conversion, make content creation more intuitive. Database optimizations and security updates ensure the platform remains performant and secure.

Overall, this beta release represents an important step toward a stable v3.0.0, addressing key issues while introducing useful features that enhance the platform's usability and developer experience.

Full Release Notes

v3.0.0-beta.38 (2024-05-30)

Features

  • next,ui: improves loading states (#6434) (92f458d)
  • extracts buildFormState logic from endpoint for reuse (#6501) (321e97f)

Bug Fixes

  • cpa: safer command exists check (#6569) (4884f0d)
  • ui: adjusts sizing of remove/add buttons to be same size (#6529) (f1db24e)
  • ui field validation error with admin.disableListColumn property (#6531) (7f15147)
  • translations: adds new userEmailAlreadyRegistered translations (#6550) (e0a6db7)
  • cpa: more package manager detection improvements (#6566) (0d7d3e5)
  • duplicate options appearing in relationship where builder (#6557) (3474642)
  • plugin-search: Render error on custom UI component (#6562) (aa02801)
  • ensure relationship field pills respect isSortable property (#6561) (425576b)
  • ability to query relationships not equal to ID (#6555) (043a91d)

Contributors

Statistics:

File Changed300
Line Additions26,089
Line Deletions8,500
Line Changes34,589
Total Commits250

User Affected:

  • Benefit from extracted form state logic for better code reuse
  • Can now properly query relationships with 'not equal to ID' operations
  • Fixed field validation errors with `admin.disableListColumn` property
  • Better handling of relationship field options in the where builder

Contributors:

dependabot[bot]DanRibbensUBaggelerAlessioGrmhjmaasmaxmorozoffakhil-naiduJarrodMFleschtylandavisjessrynkardenolfeSnailedltPatrikKozakSimYunSuppaulpopusjmikrutr1tsuuBohdanK-W32jacobsfletchkendelljosephkpkonghk01ChrisGV04rafalnawojczykrfdomingues98mike-keefeMrFriggoBlankeosdiesieben07gor3atenstanfranciscolourencoDracoBluefturmelandershermansendonovanglover