Home

>

Tools

>

Payload CMS

>

Releases

>

3.0.0-beta.48

Payload CMS Release: 3.0.0-beta.48

Pre Release

Tag Name: v3.0.0-beta.48

Release Date: 6/17/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.48: Bug Fixes and UI Improvements

This beta release focuses on fixing several critical bugs in the admin UI and improving documentation in preparation for the stable v3 release. Key improvements include fixes for form validation, route navigation, language selection persistence, and proper typing for UI components. The release also prevents unnecessary column preference updates and ensures proper path handling in rich text components.

Highlight of the Release

    • Fixed critical bug preventing navigation to reset password routes
    • Improved form validation with proper array row validation messages
    • Enhanced TypeScript typing for Select components and their consumers
    • Fixed date hydration issues when user locale differs from server locale
    • Prevented unnecessary database storage of lexicalHTML fields
    • Comprehensive documentation updates preparing for the stable v3 release

Migration Guide

No migration steps are required for this beta release. This is a drop-in replacement for v3.0.0-beta.47 with bug fixes and minor improvements.

If you're using any of the specific features that were fixed in this release (such as reset password functionality, form validation with arrays, or date fields with different locales), you should update to benefit from these fixes.

For developers who have implemented custom solutions to work around the issues fixed in this release, you may want to review your code to remove any workarounds that are no longer necessary.

Upgrade Recommendations

This release is recommended for all users currently on the v3.0.0-beta track, especially those who:

  • Have encountered issues with reset password functionality
  • Use array fields with validation
  • Work with date fields across different locales
  • Have experienced issues with column preferences being unexpectedly updated
  • Use rich text components with complex path handling

As this is a beta release with primarily bug fixes and documentation improvements, the upgrade should be straightforward with minimal risk. The fixes address several important usability issues that could impact content editors and administrators.

To upgrade:

npm install [email protected]
# or
yarn add [email protected]
# or
pnpm add [email protected]

Bug Fixes

UI and Form Handling Fixes

  • Reset Password Route Navigation: Fixed an issue that prevented users from navigating to the reset password route. Added the ability to customize this route and improved documentation for all customizable admin panel routes (#6778).

  • Toast Notifications in Forms: Fixed form response handling by properly passing success and error toast handlers to the Form's handleResponse method, ensuring users receive appropriate feedback after form submissions (#6775).

  • Array Row Validation: Improved display of validation messages for array rows, making error feedback clearer and more helpful (#6781).

  • Language Selection Persistence: Fixed an issue where users could accidentally clear their language selection on the account view, causing potential UI inconsistencies (#6803).

Technical Fixes

  • Select Component Typing: Properly typed the Select element's onChange handler and updated components using it, improving type safety throughout the application (#6785).

  • Rich Text Path Handling: Fixed path handling in rich text components to ensure context paths always have precedence over prop paths, even when the context path is an empty string (#6782).

  • Windows Path Resolution: Fixed loader issues with Windows path resolution, ensuring consistent behavior across operating systems (#6804).

  • LexicalHTML Field Persistence: Fixed an issue where lexicalHTML fields were being unnecessarily persisted in the database (#6795).

  • Date Hydration: Resolved date hydration errors that occurred when a user's locale differed from the server locale (#6806).

New Features

Column Preferences Optimization

A new feature has been implemented that prevents column preferences from being set unless they are manually edited by the user. This addresses issue #6458 and helps avoid unintended changes to column configurations. Now, column preferences will only be updated when users explicitly make changes, improving the stability and predictability of the admin interface.

Security Updates

No specific security fixes were included in this release. The changes were primarily focused on bug fixes, UI improvements, and documentation updates.

Performance Improvements

Performance Optimizations

While this release doesn't include major performance-focused changes, several bug fixes contribute to improved performance:

  • Reduced Unnecessary Database Operations: By fixing the issue where lexicalHTML fields were being unnecessarily persisted in the database (#6795), the release reduces database write operations.

  • Optimized Column Preferences: The new feature preventing column preferences from being set unless manually edited (#6774) reduces unnecessary state updates and storage operations, potentially improving admin UI performance.

  • Improved Path Resolution: The fix for Windows path resolution in the loader (#6804) ensures more efficient file loading on Windows environments.

Impact Summary

This beta release of PayloadCMS focuses on stabilizing the v3 codebase with important bug fixes and documentation improvements. The changes primarily impact the admin UI experience, with fixes for form validation, navigation, language selection, and component typing.

For developers, the release offers improved TypeScript definitions, fixed path resolution on Windows, and better documentation. Content editors will benefit from clearer validation messages, proper toast notifications, and fixed language selection. Administrators will appreciate the prevention of unintended column preference changes and improved reset password functionality.

While this release doesn't introduce major new features, it addresses several critical bugs that could impact day-to-day usage of the CMS. The documentation updates also prepare users for the upcoming stable v3 release by restructuring admin component docs and removing outdated information about bundlers.

Overall, this is a quality-of-life improvement release that enhances stability and usability as PayloadCMS approaches its stable v3 release.

Full Release Notes

v3.0.0-beta.48 (2024-06-17)

Features

  • prevent setting column preferences unless edited (#6774) (7c35e88)

Bug Fixes

  • date hydration error if user locale is different to server (#6806) (a3e1856)
  • richtext-lexical: lexicalHTML field was persisted in database even though it should not (#6795) (6612bd1)
  • loader windows path resolution (#6804) (ce2ae95)
  • prevent clearing of language selection on account view (#6803) (1a03e9a)
  • ui,richtext-*: path from context should always have precedence over path from props, even if it's an empty string (#6782) (e7159c0)
  • ui: properly type Select element onChange type, as well as any components using it (#6785) (6287495)
  • array row validation messages (#6781) (0920c8a)
  • allows navigation to reset-pw route, adds customization for route (#6778) (680ed1d)
  • passes toast success and error handlers to form handleResponse fn (#6775) (ddc3ab5)

Contributors

Statistics:

File Changed172
Line Additions1,385
Line Deletions1,776
Line Changes3,161
Total Commits17

User Affected:

  • Better type safety with improved TypeScript definitions for Select components
  • Fixed path resolution issues on Windows environments
  • Improved documentation with restructured admin components docs and removal of outdated bundler information
  • Ability to customize reset password routes

Contributors:

jacobsfletchJarrodMFleschAlessioGrDanRibbenspaulpopusdenolfe