TL;DR
Payload CMS v0.11.0 introduces significant admin UI improvements with per-page pagination controls, URL-saved list filters, and enhanced rich text editor functionality. This release also fixes critical bugs in array fields, relationship searches, and upload handling while adding a dynamic URL field to upload collections for better asset management. The update focuses on improving developer experience and admin interface usability.
Highlight of the Release
- New pagination controls with customizable per-page settings that persist via preferences
- List filters now saved in URL for improved navigation and sharing filtered views
- Enhanced rich text editor with improved link functionality and extensible enter key behavior
- Dynamic URL field automatically added to upload-enabled collections
- Fixed critical bugs in array fields, relationship searches, and upload handling
Migration Guide
Field Type Changes
The name property is now required on all field types. If you have custom field types or are creating fields programmatically, ensure all fields have a name property:
// Before
const field = {
type: 'text',
label: 'My Field'
};
// After
const field = {
type: 'text',
name: 'myField', // Now required
label: 'My Field'
};
TypeScript Updates
This release includes stricter field typing. If you're using TypeScript, you may need to update your field type definitions to match the more strict typing requirements.
Upload Collections
If you're using upload-enabled collections, a dynamic URL field is now automatically added. No action is required, but you may want to update any code that references uploaded assets to use this new field for better consistency.
Upgrade Recommendations
This release is recommended for all Payload CMS users, especially those who:
- Use array or block fields with nested structures
- Work with relationship fields across multiple collections
- Utilize the rich text editor extensively
- Manage upload collections
The upgrade should be straightforward with minimal breaking changes. The main consideration is ensuring all field types have a required name property.
To upgrade:
npm install [email protected]
# or
yarn add [email protected]
After upgrading, test your admin interface thoroughly, especially if you have complex nested array/block fields or custom rich text elements.
Bug Fixes
Critical Bug Fixes
- Array/Block Fields: Fixed issue where array/block fields with only nested array block fields would break the admin UI (#338)
- Relationship Searches: Fixed searching functionality when working with multiple relationship collections (#341)
- Upload RTE Element: Fixed crash in admin when no upload collection was present (#343)
- Field Types: Made the 'name' property required on field types for better type safety (#337)
- TypeScript Support: Improved TypeScript types for better development experience
- Row Field Types: Fixed proper typing for row fields
- Build Process: Now using proper error code on webpack build failures
- Per-Page Functionality: Fixed issue where per-page setting wasn't properly modifying search queries
New Features
Pagination and Filtering Improvements
- Per-Page Controls: Added customizable pagination with per-page settings that persist via user preferences
- URL-Saved Filters: Active list filters are now saved in the URL, making it easier to share filtered views
- Safety Checks: Added safety measures when querying by ID with invalid values
Rich Text Editor Enhancements
- Improved Link Functionality: Enhanced the rich text link interface for better usability
- Extensible Enter Key Behavior: Added ability to extend the rich text editor's enter key break-out functionality in custom elements
Upload Collection Improvements
- Dynamic URL Field: Automatically added to upload-enabled collections, making it easier to reference uploaded assets
- Admin Thumbnail Integration: Ensured admin thumbnails properly use the new URL field
Security Updates
No specific security fixes were mentioned in this release.
Performance Improvements
Admin UI Performance
- Improved list view performance by implementing more efficient pagination controls
- Enhanced search query handling for better response times when filtering content
- More strict typing and safety checks help prevent runtime errors that could impact performance
Build Process Improvements
- Fixed webpack build failure handling with proper error codes
- Removed Node.js 15 from CI pipeline for more consistent build results
Impact Summary
Payload CMS v0.11.0 delivers significant improvements to the admin experience with new pagination controls, URL-saved filters, and enhanced rich text editing capabilities. The addition of a dynamic URL field to upload collections streamlines asset management, while numerous bug fixes address critical issues with array fields, relationship searches, and upload handling.
For developers, the release brings stricter typing and improved TypeScript support, though it does require ensuring all field types have a name property. Content creators will benefit from more reliable relationship searches and improved navigation through paginated content.
This update represents a solid enhancement to both the developer and user experience, with a focus on UI improvements and bug fixes that address real-world usage patterns. The changes are largely non-breaking, making this a recommended upgrade for all Payload CMS users.
Full Release Notes
0.11.0 (2021-10-20)
Bug Fixes
- #338, array / block fields with only nested array block fields break admin UI (86e88d9)
- #341 - searching on multiple relationship collections (3b99ded)
- #343 - upload rte element crashes admin when no upload collection present (914cca6)
- make name required on field types (#337) (b257e01)
- more strict field typing (84f6a9d)
- per page now properly modifies search query (fcd9c28)
- properly types row field (7d49302)
- removes node 15 from CI (a2df67e)
- use proper error code on webpack build failure (2eb8154)
Features
- adds dynamic url field to upload-enabled collections (cc4d1fd)
- adds safety checks while querying on id with bad values (900f05e)
- admin: initial per page component (3715e01)
- allows richText enter key break out functionality to be extended in custom elements (ca91f47)
- improves richtext link (423ca01)
- per-page: add pagination to admin config (c132f2f)
- per-page: set and load from preferences (d88ce2d)
- saves active list filters in URL, implements per-page control (a6fc1fd)