Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 2, 2026

Bumps the payloadcms group with 12 updates in the / directory:

Package From To
@payloadcms/admin-bar 3.72.0 3.74.0
@payloadcms/db-sqlite 3.72.0 3.74.0
@payloadcms/email-nodemailer 3.72.0 3.74.0
@payloadcms/email-resend 3.72.0 3.74.0
@payloadcms/next 3.72.0 3.74.0
@payloadcms/plugin-form-builder 3.72.0 3.74.0
@payloadcms/plugin-sentry 3.72.0 3.74.0
@payloadcms/plugin-seo 3.72.0 3.74.0
@payloadcms/richtext-lexical 3.72.0 3.74.0
@payloadcms/storage-vercel-blob 3.72.0 3.74.0
@payloadcms/ui 3.72.0 3.74.0
payload 3.72.0 3.74.0

Updates @payloadcms/admin-bar from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/admin-bar's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/db-sqlite from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/db-sqlite's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/email-nodemailer from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/email-nodemailer's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/email-resend from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/email-resend's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/next from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/next's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits
  • de4fa0c chore(release): v3.74.0 [skip ci]
  • 94254da feat: add support for custom UnpublishButton component (#15400)
  • 2ce26fa fix(next): version view throws useLocale() server error (#15380)
  • 5561799 fix: widgets and other features failing with transitive dependency imports (#...
  • 5658ec2 templates(deps): bump Next.js versions (#15365)
  • 592f404 fix(next): ensure query preset from url is applied (#15323)
  • dfc1600 fix: remove depth from count operation types (#15356)
  • e9af097 fix(next): ensure save preset button is not shown when there are no changes (...
  • b3796f5 chore(release): v3.73.0 [skip ci]
  • 1b7b13d feat(drizzle): predefined migration for blocksAsJSON: true (#15257)
  • Additional commits viewable in compare view

Updates @payloadcms/plugin-form-builder from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/plugin-form-builder's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/plugin-sentry from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/plugin-sentry's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/plugin-seo from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/plugin-seo's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/richtext-lexical from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/richtext-lexical's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/storage-vercel-blob from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/storage-vercel-blob's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits

Updates @payloadcms/ui from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/ui's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits
  • de4fa0c chore(release): v3.74.0 [skip ci]
  • 99d61db chore(ui): move unpublish actions into document controls dropdown (#15417)
  • 17c0a3f chore: replace rmdirSync to rmSync (#15420)
  • 94254da feat: add support for custom UnpublishButton component (#15400)
  • fb2b602 feat(ui): allows opting out of popup closing logic (#15407)
  • 0f55464 feat(ui): allows customizing Popup component portal className (#15406)
  • 5561799 fix: widgets and other features failing with transitive dependency imports (#...
  • 2b3b9d5 ci: cache e2e prod preparation to run once instead of per-shard, various impr...
  • 453e8a6 fix(ui): use the formatAdminUrl function to generate unpublish url (#15375)
  • 5658ec2 templates(deps): bump Next.js versions (#15365)
  • Additional commits viewable in compare view

Updates payload from 3.72.0 to 3.74.0

Release notes

Sourced from payload's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits
  • de4fa0c chore(release): v3.74.0 [skip ci]
  • 2dc2e7c fix: isolate payload-preferences by auth collection (#15425)
  • 85d5263 feat: thread override access in doc level hooks (#15421)
  • 9239164 feat: extend strictDraftTypes to all draft operations (#15292)
  • 6b45fee chore: export getSafeFileName utility (#15424)
  • 94254da feat: add support for custom UnpublishButton component (#15400)
  • 99b051e fix: traverseFields returning wrong parentPath dot notation for non-localised...
  • 5561799 fix: widgets and other features failing with transitive dependency imports (#...
  • 7043e3f chore(deps): bump tsx (#15363)
  • 2511c02 fix: replace deprecated scmp with crypto.timingSafeEqual (#15322)
  • Additional commits viewable in compare view

Updates @payloadcms/drizzle from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/drizzle's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.


... (truncated)

Commits
  • de4fa0c chore(release): v3.74.0 [skip ci]
  • b3796f5 chore(release): v3.73.0 [skip ci]
  • 1b7b13d feat(drizzle): predefined migration for blocksAsJSON: true (#15257)
  • 4f5a9c2 fix(drizzle): d1 sqlite IN querying of id when any other join is present in...
  • e95f26d fix: find distinct sort on a different field (#15233)
  • See full diff in compare view

Updates @payloadcms/graphql from 3.72.0 to 3.74.0

Release notes

Sourced from @​payloadcms/graphql's releases.

v3.74.0

v3.74.0 (2026-01-30)

🚀 Features

  • thread override access in doc level hooks (#15421) (85d5263)
  • extend strictDraftTypes to all draft operations (#15292) (9239164)
  • add support for custom UnpublishButton component (#15400) (94254da)
  • storage-r2: client uploads using R2 multipart api (#14733) (5c38902)
  • ui: allows opting out of popup closing logic (#15407) (fb2b602)
  • ui: allows customizing Popup component portal className (#15406) (0f55464)

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.

Bumps the payloadcms group with 12 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@payloadcms/admin-bar](https://github.com/payloadcms/payload/tree/HEAD/packages/admin-bar) | `3.72.0` | `3.74.0` |
| [@payloadcms/db-sqlite](https://github.com/payloadcms/payload/tree/HEAD/packages/db-sqlite) | `3.72.0` | `3.74.0` |
| [@payloadcms/email-nodemailer](https://github.com/payloadcms/payload/tree/HEAD/packages/email-nodemailer) | `3.72.0` | `3.74.0` |
| [@payloadcms/email-resend](https://github.com/payloadcms/payload/tree/HEAD/packages/email-resend) | `3.72.0` | `3.74.0` |
| [@payloadcms/next](https://github.com/payloadcms/payload/tree/HEAD/packages/next) | `3.72.0` | `3.74.0` |
| [@payloadcms/plugin-form-builder](https://github.com/payloadcms/payload/tree/HEAD/packages/plugin-form-builder) | `3.72.0` | `3.74.0` |
| [@payloadcms/plugin-sentry](https://github.com/payloadcms/payload/tree/HEAD/packages/plugin-sentry) | `3.72.0` | `3.74.0` |
| [@payloadcms/plugin-seo](https://github.com/payloadcms/payload/tree/HEAD/packages/plugin-seo) | `3.72.0` | `3.74.0` |
| [@payloadcms/richtext-lexical](https://github.com/payloadcms/payload/tree/HEAD/packages/richtext-lexical) | `3.72.0` | `3.74.0` |
| [@payloadcms/storage-vercel-blob](https://github.com/payloadcms/payload/tree/HEAD/packages/storage-vercel-blob) | `3.72.0` | `3.74.0` |
| [@payloadcms/ui](https://github.com/payloadcms/payload/tree/HEAD/packages/ui) | `3.72.0` | `3.74.0` |
| [payload](https://github.com/payloadcms/payload/tree/HEAD/packages/payload) | `3.72.0` | `3.74.0` |



Updates `@payloadcms/admin-bar` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/admin-bar)

Updates `@payloadcms/db-sqlite` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/db-sqlite)

Updates `@payloadcms/email-nodemailer` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/email-nodemailer)

Updates `@payloadcms/email-resend` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/email-resend)

Updates `@payloadcms/next` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/next)

Updates `@payloadcms/plugin-form-builder` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/plugin-form-builder)

Updates `@payloadcms/plugin-sentry` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/plugin-sentry)

Updates `@payloadcms/plugin-seo` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/plugin-seo)

Updates `@payloadcms/richtext-lexical` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/richtext-lexical)

Updates `@payloadcms/storage-vercel-blob` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/storage-vercel-blob)

Updates `@payloadcms/ui` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/ui)

Updates `payload` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/payload)

Updates `@payloadcms/drizzle` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/drizzle)

Updates `@payloadcms/graphql` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/graphql)

Updates `@payloadcms/plugin-cloud-storage` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/plugin-cloud-storage)

Updates `@payloadcms/translations` from 3.72.0 to 3.74.0
- [Release notes](https://github.com/payloadcms/payload/releases)
- [Commits](https://github.com/payloadcms/payload/commits/v3.74.0/packages/translations)

---
updated-dependencies:
- dependency-name: "@payloadcms/admin-bar"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/db-sqlite"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/email-nodemailer"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/email-resend"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/next"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/plugin-form-builder"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/plugin-sentry"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/plugin-seo"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/richtext-lexical"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/storage-vercel-blob"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/ui"
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: payload
  dependency-version: 3.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/drizzle"
  dependency-version: 3.74.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/graphql"
  dependency-version: 3.74.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/plugin-cloud-storage"
  dependency-version: 3.74.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: payloadcms
- dependency-name: "@payloadcms/translations"
  dependency-version: 3.74.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: payloadcms
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Feb 2, 2026
@github-actions
Copy link

github-actions bot commented Feb 2, 2026

@rchlfryn rchlfryn added this pull request to the merge queue Feb 2, 2026
Merged via the queue into main with commit f321d5c Feb 2, 2026
7 of 8 checks passed
@rchlfryn rchlfryn deleted the dependabot/npm_and_yarn/payloadcms-6b04ab24bc branch February 2, 2026 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants