TL;DR
Payload CMS v1.3.1 introduces a major enhancement with inline relationships, allowing users to create and edit related documents without leaving the current context. This release also includes several UI improvements like tooltips and custom button elements, along with numerous bug fixes for i18n support, field handling, and UI components. This update significantly improves the content management workflow by reducing context switching when working with related content.
Highlight of the Release
- Inline relationships - create and edit related documents without leaving the current context
- Improved tooltips with customizable display timing and delay
- Custom button HTML element support
- Document-level access control endpoints for more accurate admin UI permissions
- Better i18n support across multiple components
Migration Guide
No breaking changes were introduced in this release, so migration from v1.3.0 to v1.3.1 should be straightforward.
If you're using custom relationship field implementations, you may want to review the new inline relationship functionality to take advantage of the improved workflow. The new DocumentDrawer component and related hooks can be used in custom components as well.
For developers using TypeScript, note the improved type definitions for admin components, particularly for global admin group types.
Upgrade Recommendations
This release is recommended for all Payload CMS users, especially those who work extensively with relationship fields. The inline relationship editing feature significantly improves content management workflow, and the numerous bug fixes enhance overall stability.
The upgrade from v1.3.0 to v1.3.1 should be straightforward with no breaking changes. Simply update your Payload CMS dependency to the latest version:
npm install payload@latest
# or
yarn upgrade payload --latest
After upgrading, test your application thoroughly, especially if you have custom implementations involving relationship fields or select components.
Bug Fixes
- Fixed i18n support:
- Added i18n type to collection and globals admin.description
- Fixed label translation in "about to delete" dialog
- Fixed relationship tooltip label translations
- Fixed array collapsible label i18n object
Field Handling
- Fixed Select field handling to prevent setting data to undefined when value is null
- Added draftsEnabled to versionSchema in collections/globals
- Added draftsEnabled to baseSchema for tabs/arrays/groups with null enum support
- Fixed DateTime field stringification when used as title
UI and Navigation
- Fixed Dashboard link to correctly point to configured route
- Fixed list view date field display format
- Fixed collapsible children margin bottom
- Fixed drawer blur, scroll, and document sidebar issues
- Fixed relationship drawer permissions
- Prevented react-select from opening when toggling drawers
- Fixed escaping of react-select events when drawer is open
New Features
Inline Relationships
The standout feature of this release is inline relationships, which allows users to create and edit related documents without leaving their current context. This significantly improves content management workflow by reducing context switching.
- Added
DocumentDrawer component that opens related documents in a side drawer
- Retrofitted relationship fields (single, multi-select) to use the new drawer system
- Implemented proper permission handling for relationship drawers
- Added support for custom react-select components to enhance relationship UI
UI Improvements
- Added support for tooltips with customizable show and delay properties
- Introduced custom button HTML element for more flexible UI development
- Migrated from react-sortable-hoc to @dnd-kit for improved drag-and-drop functionality
- Added document-level access control endpoints for more accurate admin UI permissions
Security Updates
No specific security fixes were mentioned in this release.
Performance Improvements
- Improved useDocumentDrawer hook memoization to reduce unnecessary re-renders
- Enhanced drawer component architecture to prevent recursive rendering
- Prevented duplicative DocumentDrawer instances
- Optimized relationship field handling for better performance with large datasets
- Improved document drawer accessibility (a11y) for better screen reader support
Impact Summary
Payload CMS v1.3.1 delivers a significant workflow improvement through inline relationships, allowing content editors to create and edit related documents without leaving their current context. This feature alone can dramatically reduce the time spent navigating between different sections of the admin interface.
The release also addresses several pain points related to internationalization (i18n), fixing translation issues in various components like relationship tooltips, array fields, and delete dialogs. These improvements enhance the experience for users working with multilingual content.
UI enhancements like improved tooltips, custom button elements, and better date formatting contribute to a more polished and user-friendly admin interface. The migration from react-sortable-hoc to @dnd-kit also provides a more robust foundation for drag-and-drop functionality.
For developers, the addition of document-level access control endpoints enables more accurate permission handling in the admin UI, while improved TypeScript definitions enhance development experience.
Overall, this release focuses on workflow efficiency, internationalization support, and UI refinements that benefit both content editors and developers.
Full Release Notes
1.3.1 (2022-12-15)
Bug Fixes
- add i18n type to collection and globals admin.description (#1675) (049d560)
- adds draftsEnabled to baseSchema for tabs / arrays / groups & allows for null enum (80da898)
- adds draftsEnabled to versionSchema in collections / globals (f0db5e0)
- collapsible margin bottom adjustment (#1673) (64086e8)
- escapes react-select events when drawer is open (f290cda)
- label translation in about to delete dialog (#1667) (d9c45f6)
- list view date field display format (#1661) (934b443)
- removes case for select field that sets data to undefined if set to null (b4f39d5)
- Set 'Dashboard's link to config route (#1652) (940c1e8)
- stringifies date in DateTime field for useAsTitle (#1674) (a1813ca)
Features
- inline relationships (8d744c8)
- custom button html element (5592fb1)
- further Tooltip improvements (e101f92)
1.3.0 (2022-12-09)