v3.41.0
payloadcms/payloadv3.41.0Jun 5, 2025by denolfe
AI Summary
This release focuses on UI enhancements, including document drawers for folders and a new custom component for edit menu items. It also introduces polymorphic join querying, improves Turbopack compatibility, and fixes several database-related issues including Postgres upsert operations and GLB/GLTF detection.
Key Highlights
- UI updates using document drawers for folder edit/create operations
- New 'editMenuItems' custom component for UI customization
- Improved Postgres query handling for null values and upserts
- Enhanced Rich Text editor controls including Ctrl+A selection
New Features
- Optionally exclude collection documents from browse-by-folder
- Turbopack compatibility improvements
- Polymorphic join querying by fields that don't exist in every collection
- Document drawers for folder edit/create
- New editMenuItems custom component
Full Release Notes
## [v3.41.0](https://github.com/payloadcms/payload/compare/v3.40.0...v3.41.0) (2025-06-05) ### 🚀 Features * optionally exclude collection documents from appearing in browse-by-folder ([#12654](https://github.com/payloadcms/payload/issues/12654)) ([337f618](https://github.com/payloadcms/payload/commit/337f618)) * improve turbopack compatibility ([#11376](https://github.com/payloadcms/payload/issues/11376)) ([319d335](https://github.com/payloadcms/payload/commit/319d335)) * polymorphic join querying by fields that don't exist in every collection ([#12648](https://github.com/payloadcms/payload/issues/12648)) ([2b40e0f](https://github.com/payloadcms/payload/commit/2b40e0f)) * **ui:** use document drawers for folder edit/create ([#12676](https://github.com/payloadcms/payload/issues/12676)) ([9581092](https://github.com/payloadcms/payload/commit/9581092)) * **ui:** adds new editMenuItems custom component ([#12649](https://github.com/payloadcms/payload/issues/12649)) ([625d8d9](https://github.com/payloadcms/payload/commit/625d8d9)) ### 🐛 Bug Fixes * correctly detect glb & gltf mimetypes during upload ([#12623](https://github.com/payloadcms/payload/issues/12623)) ([05eeddb](https://github.com/payloadcms/payload/commit/05eeddb)) * allow unnamed group fields to not set a label at all ([#12580](https://github.com/payloadcms/payload/issues/12580)) ([d561195](https://github.com/payloadcms/payload/commit/d561195)) * **cpa:** generate .env when using the --example flag ([#12572](https://github.com/payloadcms/payload/issues/12572)) ([836fd86](https://github.com/payloadcms/payload/commit/836fd86)) * **db-postgres:** ensure deletion of numbers and texts in upsertRow ([#11787](https://github.com/payloadcms/payload/issues/11787)) ([bd512f1](https://github.com/payloadcms/payload/commit/bd512f1)) * **db-postgres:** `in` query with `null` ([#12661](https://github.com/payloadcms/payload/issues/12661)) ([c08cdff](https://github.com/payloadcms/payload/commit/c08cdff)) * **live-preview:** correct type inference ([#12619](https://github.com/payloadcms/payload/issues/12619)) ([c83e791](https://github.com/payloadcms/payload/commit/c83e791)) * **next:** cannot override tab of default views ([#11789](https://github.com/payloadcms/payload/issues/11789)) ([c639c5f](https://github.com/payloadcms/payload/commit/c639c5f)) * **plugin-seo:** thread allowCreate to meta image component ([#12624](https://github.com/payloadcms/payload/issues/12624)) ([ede5c67](https://github.com/payloadcms/payload/commit/ede5c67)) * **richtext-lexical:** export defaultColors for use in client components ([#12627](https://github.com/payloadcms/payload/issues/12627)) ([8199a7d](https://github.com/payloadcms/payload/commit/8199a7d)) * **richtext-lexical:** enable select inputs with ctrl+a or cmd+a ([#12453](https://github.com/payloadcms/payload/issues/12453)) ([89ced5e](https://github.com/payloadcms/payload/commit/89ced5e)) * **translations:** add missing import for lv locale from date-fns ([#12577](https://github.com/payloadcms/payload/issues/12577)) ([cbc37d8](https://github.com/payloadcms/payload/commit/cbc37d8)) * **ui:** adjusts margin spacing on upload actions ([#12692](https://github.com/payloadcms/payload/issues/12692)) ([1dd4a12](https://github.com/payloadcms/payload/commit/1dd4a12)) * **ui:** safely extract text from React nodes ([#12419](https://github.com/payloadcms/payload/issues/12419)) ([48e5ee6](https://github.com/payloadcms/payload/commit/48e5ee6)) * **ui:** formatDate and formatTimeToNow utility type error on i18n arg to support I18nClient too ([#12576](https://github.com/payloadcms/payload/issues/12576)) ([76bf459](https://github.com/payloadcms/payload/commit/76bf459)) * **ui:** correctly thread through the autoComplete attribute from admin config to the text input ([#12473](https://github.com/payloadcms/payload/issues/12473)) ([08ec837](https://github.com/payloadcms/payload/commit/08ec837)) * **ui:** clear miliseconds in date fields unless theyre explicitly provided in the display format ([#12650](https://github.com/payloadcms/payload/issues/12650)) ([a9ff375](https://github.com/payloadcms/payload/commit/a9ff375)) * **ui:** reset columns state throwing errors ([#11903](https://github.com/payloadcms/payload/issues/11903)) ([08a6f88](https://github.com/payloadcms/payload/commit/08a6f88)) * **ui:** upload action button styles ([#12592](https://github.com/payloadcms/payload/issues/12592)) ([6119d89](https://github.com/payloadcms/payload/commit/6119d89)) ### ⚡ Performance * **ui:** prevent unnecessary client config sanitization ([#12665](https://github.com/payloadcms/payload/issues/12665)) ([2bd098c](https://github.com/payloadcms/payload/commit/2bd098c)) ### 🛠 Refactors * **translations:** correct i18n translation for Mandarin ([#12561](https://github.com/payloadcms/payload/issues/12561)) ([6f8cff7](https://github.com/payloadcms/payload/commit/6f8cff7)) * **ui:** improve relationship field option loading reliability using queues ([#12653](https://github.com/payloadcms/payload/issues/12653)) ([30dd9a2](https://github.com/payloadcms/payload/commit/30dd9a2)) ### 📚 Documentation * add Content-Type header for JWT authentication ([#12513](https://github.com/payloadcms/payload/issues/12513)) ([3f7debd](https://github.com/payloadcms/payload/commit/3f7debd)) * fix import statements for `plugin-nested-docs` ([#12494](https://github.com/payloadcms/payload/issues/12494)) ([5635ec5](https://github.com/payloadcms/payload/commit/5635ec5)) * improve rich-text documentation with hasText usage tip ([#12645](https://github.com/payloadcms/payload/issues/12645)) ([53de775](https://github.com/payloadcms/payload/commit/53de775)) * fix beforeHook documentation to reflect actual behaviour ([#12651](https://github.com/payloadcms/payload/issues/12651)) ([fd5cd1a](https://github.com/payloadcms/payload/commit/fd5cd1a)) * improve module augmentation docs for request context ([#12681](https://github.com/payloadcms/payload/issues/12681)) ([0c3ff88](https://github.com/payloadcms/payload/commit/0c3ff88)) * update seo plugin tabbedUI docs to mention potential pitfalls with the config option ([#12549](https://github.com/payloadcms/payload/issues/12549)) ([505eaa2](https://github.com/payloadcms/payload/commit/505eaa2)) * missing dash ([#12644](https://github.com/payloadcms/payload/issues/12644)) ([684c436](https://github.com/payloadcms/payload/commit/684c436)) * building without a db connection ([#12607](https://github.com/payloadcms/payload/issues/12607)) ([7c094dc](https://github.com/payloadcms/payload/commit/7c094dc)) ### 📝 Templates * do not expose users in example custom routes ([#12677](https://github.com/payloadcms/payload/issues/12677)) ([be52a20](https://github.com/payloadcms/payload/commit/be52a20)) * bump for v3.40.0 ([#12613](https://github.com/payloadcms/payload/issues/12613)) ([71df378](https://github.com/payloadcms/payload/commit/71df378)) ### ⚙️ CI * skip flaky test on supabase ([#12667](https://github.com/payloadcms/payload/issues/12667)) ([30bb749](https://github.com/payloadcms/payload/commit/30bb749)) * ability to test against turbopack ([#12652](https://github.com/payloadcms/payload/issues/12652)) ([0ceb96b](https://github.com/payloadcms/payload/commit/0ceb96b)) ### 🏡 Chores * fix various e2e test setup issues ([#12670](https://github.com/payloadcms/payload/issues/12670)) ([545d870](https://github.com/payloadcms/payload/commit/545d870)) * fix lint warnings for default exports, unused imports, unused err in catch ([#12666](https://github.com/payloadcms/payload/issues/12666)) ([48218bc](https://github.com/payloadcms/payload/commit/48218bc)) * migrate to TypeScript strict in Payload package (enable strictNullChecks) - #3 ([#12586](https://github.com/payloadcms/payload/issues/12586)) ([6ec21a5](https://github.com/payloadcms/payload/commit/6ec21a5)) * update CONTRIBUTING.md ([#12511](https://github.com/payloadcms/payload/issues/12511)) ([5e3a94b](https://github.com/payloadcms/payload/commit/5e3a94b)) ### 🤝 Contributors - Patrik (@PatrikKozak) - Kamil Troczewski (@kamiloox) - codeflorist (@codeflorist) - Rot4tion (@Rot4tion) - iamacup (@iamacup) - Jacob Fletcher (@jacobsfletch) - Alessio Gravili (@AlessioGr) - Jarrod Flesch (@JarrodMFlesch) - Elliot DeNolf (@denolfe) - Said Akhrarov (@akhrarovsaid) - Sasha (@r1tsuu) - Paul (@paulpopus) - Germán Jabloñski (@GermanJablo) - Jessica Rynkar (@jessrynkar) - Jacob (@chmielulu) - Tobias Odendahl (@tak-amboss) - Anyu Jiang (@anyuj)