Home

>

Tools

>

Payload CMS

>

Releases

>

3.0.0-beta.125

Payload CMS Release: 3.0.0-beta.125

Pre Release

Tag Name: v3.0.0-beta.125

Release Date: 11/6/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

Payload CMS v3.0.0-beta.125 brings significant enhancements to the platform with new features like filtering join documents using a where property, improved language support with Swedish and Czech translations for the SEO plugin, and a "Powered by Payload" header in Next.js configurations. This release also addresses several UI bugs, including fixes for JSON field display, upload field updates in edit popups, and issues with locked documents. TypeScript improvements for RequestContext augmentation and support for custom endpoints with PUT method make development more robust.

Highlight of the Release

    • Added filtering capability to join fields with new where property
    • Added Swedish and Czech translations to the SEO plugin
    • Fixed upload field updates to reflect in edit popup changes
    • Improved JSON field display with minimum height of 3 lines
    • Fixed type augmentation of RequestContext for TypeScript users
    • Added support for custom endpoints with method: 'put'

Migration Guide

No breaking changes were introduced in this release that would require migration steps. The improvements and bug fixes are backward compatible with previous beta versions.

If you're using custom endpoints with method: 'put' that weren't working previously, they should now function correctly without any changes to your code.

For TypeScript users who were attempting to augment the RequestContext type, this functionality now works as documented in the Payload docs.

Upgrade Recommendations

This beta release contains several important bug fixes and feature enhancements that improve the developer and content editor experience. It's recommended to upgrade if you:

  1. Use join fields and would benefit from filtering capabilities
  2. Need Swedish or Czech translations for the SEO plugin
  3. Have experienced issues with upload field updates in edit popups
  4. Use JSON fields and want improved display options
  5. Have been affected by the RequestContext type augmentation issue
  6. Use custom endpoints with PUT method

As this is still a beta release, make sure to test thoroughly in a development environment before deploying to production.

Bug Fixes

UI Fixes

  • JSON Field Display: JSON fields now have a minimum height of 3 lines and support a configurable maxHeight in admin props, preventing content wrapping issues and improving readability.

  • Upload Field Updates: Fixed an issue where changes made to upload fields in the edit drawer weren't reflected until page refresh. Now, document fetches are reloaded upon saving within the edit drawer.

  • Locked Documents: Fixed a bug where the updatedAt field in locked-docs collection could be updated by non-owners when using custom fields with the useField hook.

TypeScript and API Fixes

  • RequestContext Type Augmentation: Fixed type augmentation of RequestContext to properly work with module declaration, allowing developers to extend the interface as documented.

  • Custom Endpoints with PUT Method: Restored support for custom endpoints with method: 'put', which was working in v2.0 but broken in v3.0 beta.

Other Fixes

  • CPA: Removed lock file on project creation to prevent potential conflicts.

New Features

Join Field Filtering with where Property

The join field now supports a where property directly in the config, allowing you to filter join documents with contextual conditions. This powerful addition lets you automatically filter documents based on specific criteria, such as showing only items that require action.

X-Powered-By Payload Header

Added an x-powered-by header that includes Payload alongside Next.js in the response headers. The header respects the nextConfig poweredBy: false setting to completely disable it if needed.

SEO Plugin Language Support

  • Added Swedish translations for the SEO plugin
  • Added Czech translations for the SEO plugin

Website Template Improvements

The website template has been enhanced with:

  • Configured image sizes for better performance
  • Simplified environment variables for easier setup
  • Updated README with improved documentation

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

Website Template Performance

The website template now includes configured image sizes, which helps optimize image loading and improves overall site performance by ensuring appropriate image dimensions are served based on context.

JSON Field Rendering

The improvements to JSON fields with minimum and maximum height settings help with UI performance by preventing excessive vertical space usage and improving the readability of JSON content.

Impact Summary

This release significantly enhances Payload CMS with both developer-focused improvements and user experience refinements. The addition of filtering capabilities to join fields provides developers with more control over related content display, while the fixes to upload fields and JSON display directly improve the content editing experience.

The internationalization efforts continue with new language support for the SEO plugin, making Payload more accessible to Swedish and Czech-speaking users. TypeScript improvements ensure better type safety and developer experience when extending the platform.

The website template improvements demonstrate Payload's commitment to performance and ease of setup, with configured image sizes and simplified environment variables. These changes collectively make Payload more powerful, user-friendly, and internationally accessible while addressing several important bugs that affected day-to-day usage.

Full Release Notes

v3.0.0-beta.125 (2024-11-06)

🚀 Features

  • add join field config where property (#8973) (93a55d1)
  • adds x-powered-by Payload header in next config (#9027) (ddc9d97)
  • plugin-seo: add czech translation (#8998) (4652e8d)
  • plugin-seo: add Swedish translations (#9007) (3e31b7a)
  • templates: website template now has configured image sizes, updated readme and simplified env vars for setting up (#9036) (201d686)

🐛 Bug Fixes

  • custom endpoints with method: 'put' (#9037) (9ce2ba6)
  • type augmentation of RequestContext (#9035) (f52b7c4)
  • cpa: remove lock file on project creation (cdcefa8)
  • ui: json fields can now take a maxHeight in admin props and there's a mininum height of 3 lines (#9018) (3ca203e)
  • ui: ensure upload field updates reflect in edit popup changes (#9034) (2175e5c)
  • ui: updatedAt field in locked-docs collection able to be updated by non-owner (#9026) (ebd3c02)

🤝 Contributors

Statistics:

File Changed128
Line Additions27,129
Line Deletions344
Line Changes27,473
Total Commits17

User Affected:

  • Can now filter join documents using a `where` property directly in the config
  • Can properly augment the `RequestContext` type in TypeScript
  • Can use custom endpoints with `method: 'put'` which was previously not working
  • Benefit from improved JSON field display with minimum height of 3 lines and configurable max height

Contributors:

JesperWepaulpopusPatrikKozakMrFriggojmikrutdenolfer1tsuuDanRibbens