TL;DR
Payload CMS v0.14.0 introduces significant UI customization capabilities with new custom routes API and component injection patterns for Dashboard and Nav elements. This release also exports several core components for reuse, fixes multiple bugs in the admin UI, and improves the developer experience. The update focuses on giving developers more flexibility to tailor the admin interface while maintaining stability.
Highlight of the Release
- New custom routes API for extending the admin UI
- Before/After component injection pattern for Dashboard and Nav customization
- Core components exported for reuse (Dashboard, Nav, custom inputs)
- Multiple bug fixes for preview functionality, rich text editor, and relationship fields
- Improved cross-browser compatibility for file uploads
Migration Guide
No breaking changes were identified in this release that would require migration steps. The new features are additive and should not affect existing implementations.
If you're using custom components or extending the admin UI, you may want to review the new component injection patterns and custom routes API to potentially refactor your code to use these new, more maintainable approaches.
Upgrade Recommendations
This is a minor version update (0.13.6 → 0.14.0) that introduces new features without breaking changes. It's recommended to upgrade if you:
- Need to customize the admin UI beyond what was previously possible
- Have encountered any of the bugs fixed in this release
- Want to take advantage of the newly exported components
The upgrade should be straightforward - update your Payload CMS dependency to version 0.14.0 and test your application thoroughly, especially if you have custom admin UI components or extensions.
Bug Fixes
Admin UI Fixes
- Fixed preview button to ensure it gets up-to-date data (#393)
- Fixed Safari-specific bug with rich text links (#390)
- Fixed password functions to only run when authentication is enabled (#370)
- Fixed issue #408 (related to admin UI)
- Fixed issue #407 (admin interface bug)
Field and Data Handling Fixes
- Fixed
getDataByPath functionality to properly retrieve nested data
- Ensured local
findByID operations retain user context
- Fixed globals model typing for better TypeScript support
- Updated ImageSize types to allow null values for width and height
- Fixed cross-browser compatibility issues with drag and drop uploads
- Ensured proper row count setting in block fields
- Fixed relationship field searching to work correctly with many pages of results
New Features
Custom Routes API
A new API for building custom routes within the admin UI has been introduced, giving developers more flexibility to extend and customize the admin interface.
Component Injection Pattern
The release introduces a new pattern for injecting custom components before and after Dashboard and Nav elements, allowing for more granular UI customization without overriding entire components.
Exported Core Components
Several core components are now exported for re-import and customization:
- Default Dashboard component
- Default Nav component
- Custom text inputs
- Custom select inputs
These exports make it easier for developers to build upon existing components rather than recreating them from scratch.
Security Updates
No specific security fixes were mentioned in the release notes. The changes related to password functions (#370) were about conditional execution when authentication is enabled rather than addressing security vulnerabilities.
Performance Improvements
No specific performance improvements were highlighted in this release. The changes were primarily focused on new features, bug fixes, and developer experience improvements rather than performance optimizations.
Impact Summary
Payload CMS v0.14.0 significantly enhances the extensibility of the admin interface by introducing a custom routes API and component injection patterns. This gives developers much more control over the admin UI without having to override entire components.
The release also addresses several important bugs affecting the user experience, particularly around preview functionality, rich text editing in Safari, relationship field searching, and cross-browser upload compatibility.
By exporting core components like Dashboard, Nav, and custom input types, the release makes it easier for developers to build upon existing functionality rather than creating custom solutions from scratch. This should lead to more consistent admin interfaces and reduce development time for customizations.
Overall, this release represents a meaningful step forward in Payload's flexibility as a headless CMS, particularly for projects requiring tailored admin experiences.
Full Release Notes
0.14.0 (2022-01-03)
Bug Fixes
- #370, only performs password functions when auth enabled (9738873)
- #390, safari rich text link bug (a16b99b)
- #393, ensures preview button gets up to date data (2f47e39)
- #408 (5c3cfa4)
- #408 (e2c5d93)
- 407 (a09570c)
- allows null in ImageSize width and height types (ba79fd4)
- cross-browser upload drag and drop (4119eec)
- ensures getDataByPath works (140a3aa)
- ensures local findByID retains user (05288ee)
- ensures row count is set properly in block fields (9e091af)
- ensures searching relationships works with many pages of results (961787d)
- globals model typing (da7c0c9)
Features
- builds custom routes API, Before/After Dashboard and Nav custom components (e337c62)
- exports custom text and select inputs (52edb5b)
- exposes default Dashboard and Nav components for re-import (ffe8e17)