Payload CMS Release: 3.0.1

Tag Name: v3.0.1

Release Date: 11/19/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.1: Performance Boost & Bug Fixes

This patch release for PayloadCMS v3.0 delivers a significant performance improvement by reducing HTML payload sizes by up to 4x, making the admin panel faster and more efficient. It also fixes several UI issues including problems with upload selection, required field indicators, version diff views, and document data updates. Template issues have been addressed, and configuration options have been expanded to allow custom admin paths.

Highlight of the Release

    • HTML payload size reduced by up to 4x, significantly improving admin panel performance
    • Fixed issue with saving selections from upload has-many drawer
    • Added ability to set custom admin path routes from configuration
    • Fixed client-side document data not updating after save
    • Required indicators now properly display for select fields

Migration Guide

No migration steps are required for this patch release. This is a drop-in replacement for PayloadCMS v3.0.0 that includes performance improvements and bug fixes.

Upgrade Recommendations

We strongly recommend all PayloadCMS v3.0.0 users upgrade to v3.0.1 as soon as possible. This patch release provides significant performance improvements and fixes several important bugs that affect the admin UI experience.

To upgrade:

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

This is a patch release with no breaking changes, so the upgrade should be seamless with no code changes required.

Bug Fixes

  • Admin Configuration

    • Fixed issue to allow setting custom admin path routes from configuration (#8085)
  • UI Improvements

    • Fixed issue where selections from upload has-many drawer couldn't be saved (#9325)
    • Fixed client-side document data not updating after save (#9340)
    • Added required indicators for select fields that were missing despite being marked as required in config (#9348)
    • Fixed permissions handling within version diff view (#9346)
    • Fixed issue where nested rich text fields and custom components weren't rendering when using addFieldRow or replaceFieldRow methods (#9324)
  • Templates

    • Fixed website logo not displaying in template (#9334)
    • Moved seeding in website template to a separate route so timeout can be customized (#9327)
    • Updated website template seed function to use payload.auth for better JWT verification (#9331)

New Features

No major new features were introduced in this patch release. This is primarily a performance improvement and bug fix release for PayloadCMS v3.0.

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

The most significant improvement in this release is the substantial reduction in HTML payload size sent to the client, resulting in up to 4x smaller payloads (#9321). This was achieved by calling RenderServerComponent as a function instead of rendering it using JSX syntax.

HTML Size Comparison:

Admin Test Suite:

  • Dashboard: 331 kB → 83 kB (75% reduction)
  • Collections/custom-views-one Edit: 285 kB → 76.6 kB (73% reduction)

Fields Test Suite:

  • Collections/lexical Edit: 189 kB → 94.4 kB (50% reduction)
  • Collections/lexical List: 152 kB → 62.9 kB (59% reduction)

Community Test Suite:

  • Dashboard: 78.9 kB → 43.1 kB (45% reduction)

These improvements result in faster page loads and better overall performance in the admin panel, especially beneficial for users with slower internet connections or when working with complex content structures.

Impact Summary

PayloadCMS v3.0.1 is a significant patch release that focuses on performance optimization and bug fixes. The most notable improvement is the dramatic reduction in HTML payload size (up to 4x smaller), which makes the admin panel considerably faster and more responsive.

Several UI issues have been addressed, including problems with upload selection in drawers, missing required indicators for select fields, and client-side document data not updating after save. Template-related fixes improve the website template's functionality, particularly around seeding and logo display.

This release also enhances configuration options by allowing custom admin path routes, which gives developers more flexibility in setting up their PayloadCMS instances.

Overall, this patch release delivers important quality-of-life improvements for both developers and content editors using PayloadCMS, with no breaking changes or migration requirements.

Full Release Notes

v3.0.1 (2024-11-19)

⚡ Performance

  • significantly reduce HTML we send to the client. Up to 4x smaller (#9321) (5d2b0b3)

🐛 Bug Fixes

  • allow setting admin path route from config (#8085) (d3b0a04)
  • templates: website logo not showing (#9334) (7f65c83)
  • templates: seeding in website template moved to a separate route so timeout can be customised (#9327) (26cb1e1)
  • ui: could not save selection from upload has many drawer (#9325) (f42b1e1)
  • ui: client side doc data not updating after save (#9340) (661f450)
  • ui: show required indicator for select fields (#9348) (2c7ea63)
  • ui: proper permissions within version diff view (#9346) (188baec)
  • ui: addFieldRow set modified (#9324) (0f3f6e7)

🤝 Contributors

Statistics:

File Changed204
Line Additions21,367
Line Deletions13,535
Line Changes34,902
Total Commits28

User Affected:

  • Benefit from significantly reduced HTML payload sizes (up to 4x smaller)
  • Can now set custom admin path routes from config
  • Fixed issues with website template seeding and logo display
  • Better handling of permissions in version diff views

Contributors:

denolfeBlainMaguireAlessioGrpaulpopuszubricksJarrodMFleschgarrettgrohmanjmikrutjacobsfletchmarcmaceiraPatrikKozakjessrynkarakhrarovsaid