Unclaimed project
Are you a maintainer of payload? Claim this project to take control of your public changelog and roadmap.
Changelog
Payload is the open-source, fullstack Next.js framework, giving you instant backend superpowers. Get a full TypeScript backend and admin panel instantly. Use Payload as a headless CMS or for building powerful applications.
Last updated 17 days ago
Your own personal AI assistant. Any OS. Any Platform. The lobster way. ๐ฆ
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
Override Access in Document-Level Hooks - Access the overrideAccess value inside collection and global hooks. Useful when hook logic needs to know whether access control was bypassed, such as when querying related documents up a hierarchy. #15421
export const Posts: CollectionConfig = {
slug: 'posts',
hooks: {
beforeChange: [
({ overrideAccess, req }) => {
if (overrideAccess) {
// Access control was bypassed
}
},
],
},
}
Extended strictDraftTypes to All Operations - When strictDraftTypes: true is enabled, TypeScript now enforces draft type safety across all Local API operations (not just queries). The draft option is forbidden for collections/globals without drafts enabled, preventing silent runtime behavior where draft flags are ignored. #15292
import { buildConfig } from 'payload'
export default buildConfig({
typescript: {
strictDraftTypes: true, // Enables compile-time draft enforcement
},
// ...
})
โ ๏ธ Note: Generic collection slugs may require explicit type assertions when using draft options.
Custom UnpublishButton Component - Customize the UnpublishButton in collection and global configs, following the same pattern as PublishButton and SaveButton. Previously hardcoded. #15400
export const Posts: CollectionConfig = {
slug: 'posts',
admin: {
components: {
edit: {
UnpublishButton: '/components/CustomUnpublishButton',
},
},
},
}
R2 Multipart Client Uploads (storage-r2) - Upload large files directly from the client using R2's multipart API. Files are split into smaller parts and uploaded separately, avoiding Cloudflare Worker memory limits. #14733
Popup Prevent Close Attribute (ui) - Add interactive elements inside popups without triggering close behavior by adding the data-popup-prevent-close attribute. #15407
<Popup>
<button data-popup-prevent-close onClick={handleClick}>
Click me without closing
</button>
</Popup>
Popup Portal className (ui) - Customize the Popup component's portal container with the new portalClassName prop. #15406
<Popup portalClassName="my-custom-portal-class">
{/* content */}
</Popup>