fix(deps): update payloadcms monorepo to v3 (major) #68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^1.0.0→^3.0.0^0.11.0→^3.0.0^1.0.0→^3.0.0Release Notes
payloadcms/payload (@payloadcms/db-mongodb)
v3.74.0Compare Source
🚀 Features
Override Access in Document-Level Hooks - Access the
overrideAccessvalue 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. #15421Extended strictDraftTypes to All Operations - When
strictDraftTypes: trueis enabled, TypeScript now enforces draft type safety across all Local API operations (not just queries). Thedraftoption is forbidden for collections/globals without drafts enabled, preventing silent runtime behavior where draft flags are ignored. #15292Custom UnpublishButton Component - Customize the
UnpublishButtonin collection and global configs, following the same pattern asPublishButtonandSaveButton. Previously hardcoded. #15400R2 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-closeattribute. #15407Popup Portal className (ui) - Customize the Popup component's portal container with the new
portalClassNameprop. #15406🐛 Bug Fixes
📚 Documentation
🧪 Tests
fieldsandselectsuites faster (#15434) (26ba779)📝 Templates
🔨 Build
⚙️ CI
🏡 Chores
🤝 Contributors
v3.73.0Compare Source
🚀 Features
busyTimeoutoption (#15317) (0c235c3)blocksAsJSON: true(#15257) (1b7b13d)Feature Details
🔥 Next.js 16 Support - Full compatibility with Next.js 16, including Turbopack HMR and build support. Requires Next.js >16.1.1-canary.35 or 16.2.0+. Templates will be updated after Next.js 16.2.0 is released. Support for cache components will follow in a future release #14456
WAL Mode Support (db-sqlite) - Enable SQLite Write-Ahead Logging for improved concurrent read/write performance. Configurable synchronous mode and journal size limit. #15278
Busy Timeout Option (db-sqlite) - Set maximum wait time in milliseconds when the database is locked, preventing
SQLITE_BUSYerrors in high-concurrency scenarios. #15317Predefined Migration for blocksAsJSON (drizzle) - Migrate existing projects to use
blocksAsJSON: truewith a single command. Automatically updates your Payload config and generates the required migration. #15257Request Handler in Live Preview Hooks (live-preview) - The
useLivePreviewhook (React and Vue) now accepts arequestHandlerargument, allowing customization of data fetching. Useful when your frontend proxies requests or uses external middleware. #15302Select API for MCP Tools (plugin-mcp) - Find, Create, and Update tools for Globals and Collections now support the
selectAPI, reducing token usage and aligning with Payload's existing query capabilities. #15301Native useEffectEvent (ui) - Uses React's native
useEffectEventwhen available (React 19.2.0+), falling back to the existing polyfill for older versions. #15304🐛 Bug Fixes
idwhen any other join is present in the query (#15290) (4f5a9c2)select(#15289) (db40d7b)📚 Documentation
📝 Templates
⚙️ CI
🏡 Chores
🤝 Contributors
v3.72.0Compare Source
🚀 Features
Localized Status (Experimental) - Each locale can now track and manage its own publication status independently. Publish or unpublish individual locales without affecting others, with locale-aware UI and version history. Requires enabling at both config and collection level. #14667
Depth Parameter Support (plugin-mcp) - MCP resource tools now support a
depthparameter (0-10) to control relationship population depth. Usedepth: 0for lightweight ID-only responses or higher values for fully populated relationship data. Significantly reduces token count when reading documents. #14931🐛 Bug Fixes
(
4f452ac))selectinfindByIDwithdraft: truemay return a wrong version (#14742) (49c9fa9)📚 Documentation
🧪 Tests
@payloadcms/storage-s3 clientUploadsintegration test suite (#15194) (4dce061)⚙️ CI
🏡 Chores
@payloadcms/ui(#15195) (54db43d)🤝 Contributors
v3.71.1Compare Source
🐛 Bug Fixes
🤝 Contributors
v3.71.0Compare Source
🚀 Features
Feature Details
Job Queue Concurrency Supersedes - Newer jobs can automatically delete older pending jobs with the same concurrency key. Enables "last queued wins" behavior for scenarios where only the latest state matters. #15179
Exclusive Concurrency Controls - Prevents race conditions when multiple jobs operate on the same resource. Jobs with the same concurrency key will not run in parallel. Requires
enableConcurrencyControl: true(will default totruein v4.0). #15177Job Cancellation from Handlers - Throw
JobCancelledErrorfrom within a task or workflow handler to stop the job without retrying. #15119Custom Status Component - Replace the Status section in document or global edit views without replacing the entire Edit view. Useful for custom locale publishing logic or additional status indicators. #11154
Bulk Operations Single Transaction (db-mongodb) - Handle database transaction limitations when processing large numbers of documents in bulk operations. Useful for DocumentDB and Cosmos DB which have cursor limitations within transactions. #14387
Additional IANA Timezones & Custom UTC Offsets - Support for additional IANA timezone names via
DateTimeFormatAPI validation, custom UTC offsets in±HH:mmformat, and the ability to override the timezone field configuration. #15120Override the timezone field:
Strict Draft Types (typescript) - Opt-in
strictDraftTypesflag for correct type safety when querying drafts. When enabled,findoperations withdraft: truewill correctly type required fields as optional. Will become default in v4.0. #14388Validation Error Context (drizzle) - Unique constraint
ValidationErrors now includedata.collectionordata.globalfor better error context when debugging. #15147Server-Side Cart Logic (plugin-ecommerce) - Cart logic moved to the server with new REST API endpoints. New hooks:
onLogin(merge guest cart with user cart),onLogout(clear session),clearSession,mergeCart, andrefreshCart. Support for custom cart item matchers and MongoDB-style$incoperator for quantity changes. #15142refreshCart Method (plugin-ecommerce) - Manually refresh cart state after direct modifications, allowing the UI to stay in sync without being blocked by
addItem's uniqueness validation. #14767Import Functionality (plugin-import-export) - Complete plugin refactor with new import functionality. Config is now per-collection with required⚠️ BREAKING CHANGE
collectionsarray. Supports disabling import/export per collection and custom collection overrides. #14782Draft Parameter for MCP Find (plugin-mcp) - Query draft/unpublished documents via the MCP plugin's find tool using the new
draftboolean parameter. #14924Globals Support (plugin-mcp) - New MCP tools to
findandupdateglobals. #15091Request Parameter in Nested Docs (plugin-nested-docs) -
reqparameter added togenerateURLandgenerateLabelfunctions for more flexibility (e.g., reading current locale). #14617Skip Sync (plugin-search) - Conditionally skip syncing documents to the search index based on locale, document properties, or other criteria. #14928
Automatic Type Inference (sdk) - The SDK automatically uses your generated types via module augmentation—no need to manually pass
GeneratedTypes. #15167Proper Error Handling (sdk) - The SDK now throws
PayloadSDKErroron failed API requests withstatus,errors,response, andmessageproperties. #15148Japanese Translations (plugin-redirects) - Localized admin UI strings for Japanese users. #15080
🐛 Bug Fixes
$lookupwhen a join field is not selected (#15149) (e39b1b5)existsoperator on fields that have an array value in the db (#15152) (0afe200)altuser-defined values. (#15097) (3290b04)⚡ Performance
🛠 Refactors
📚 Documentation
🧪 Tests
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.