TL;DR
Payload CMS v0.10.4 brings performance improvements for large documents, better handling of empty group fields, and fixes for array objects and image resizing. This release focuses on enhancing developer experience with exposed components and improved API functionality while addressing several bugs in the core system.
Highlight of the Release
- Performance improvements for saving large documents
- Exposed Pill component for custom UI development
- Empty group fields now default to empty objects
- Local update API can now replace existing files with newly uploaded ones
- Fixed array object ID saving
Migration Guide
No migration is required for this release. The changes are backward compatible and should work seamlessly with existing Payload CMS implementations.
If you're using TypeScript and have extended the local findByID function, you may want to review your implementation to ensure it aligns with the updated type definitions.
Upgrade Recommendations
This is a recommended upgrade for all Payload CMS users, especially those working with:
- Large documents that may benefit from performance improvements
- Applications using group fields
- Systems that handle file uploads and replacements
- Projects using array relationships
The release contains no breaking changes and should be a safe upgrade from v0.10.0.
Bug Fixes
Array Object ID Saving
Fixed an issue where array objects weren't properly saving IDs, which could cause problems with relationships and data integrity.
Date Field Error Message Positioning
Corrected the positioning of error messages in date fields to ensure they're properly visible to users.
TypeScript Definitions
Improved TypeScript definitions by properly typing the optional request parameter in the local findByID function.
Documentation Corrections
- Fixed links in collection hooks documentation
- Corrected the refresh-token REST route documentation
New Features
Exposed Pill Component
The Pill component is now exposed for re-use in custom UI development, allowing developers to maintain consistent styling when extending the admin interface.
Empty Group Field Handling
Empty group fields now default to empty objects rather than undefined values, making data structures more consistent and predictable. This change is implemented as a virtual-only adjustment to maintain backward compatibility.
File Replacement in Local API
The local update API now supports replacing existing files with newly uploaded ones through the overwriteExistingFiles option, streamlining content management workflows.
Image Resizing Improvements
Image resizing now works when either width or height exceeds the specified limits, providing more flexible image handling capabilities.
Security Updates
No specific security fixes were included in this release.
Performance Improvements
Large Document Saving
Significant performance improvements have been implemented when saving large documents, reducing processing time and improving the overall editing experience for content-heavy sites.
Virtual Empty Group Population
Empty group population has been adjusted to be virtual-only, which optimizes memory usage and improves overall system performance.
Impact Summary
Payload CMS v0.10.4 delivers notable performance improvements for handling large documents and introduces several quality-of-life enhancements for developers. The exposed Pill component enables more consistent custom UI development, while the ability to replace existing files through the local update API streamlines content management workflows.
Bug fixes for array object ID saving and date field error message positioning improve the reliability and usability of the system. The standardization of empty group fields to default to empty objects creates more predictable data structures.
This release represents an incremental but valuable update that enhances both developer and content editor experiences without introducing breaking changes.
Full Release Notes
0.10.4 (2021-09-22)
Bug Fixes
- allows image resizing if either width or height is larger (8661115)
- array objects now properly save IDs (2b8f925)
- date field error message position (03c0435)
- properly types optional req in local findByID (02e7fe3)
Features
- adjusts empty group population to be virtual only (8a890fd)
- allows local update api to replace existing files with newly uploaded ones (dbbff4c)
- defaults empty group fields to empty object (39a8e2c)
- defaults empty group fields to empty object (e39ece4)
- exposes Pill component for re-use (7e8df10)
- performance improvement while saving large docs (901ad49)