v3.40.0
payloadcms/payloadv3.40.0May 29, 2025by denolfe
AI Summary
This release adds new capabilities to auth strategies and list views, such as nested fields displayed as separate columns and new filtering options. It includes significant performance optimizations for folder views and fixes critical bugs in database operations, relationship field rendering, and folder navigation.
Key Highlights
- New 'canSetHeaders' prop for auth strategies
- Nested fields shown as separate columns in list view
- Folder view performance optimization (downloads only best-fit images)
- Fixes for relationship fields opening inside rich text
New Features
- New 'canSetHeaders' prop to auth strategies
- Show nested fields in named tabs as separate columns in list view
- Filter query preset constraints
- Select field filter options
- Export FieldAction type
Full Release Notes
## [v3.40.0](https://github.com/payloadcms/payload/compare/v3.39.1...v3.40.0) (2025-05-29) ### 🚀 Features * adds new canSetHeaders prop to auth strategies ([#12591](https://github.com/payloadcms/payload/issues/12591)) ([ca6f849](https://github.com/payloadcms/payload/commit/ca6f849)) * moves getSafeRedirect into payload package ([#12593](https://github.com/payloadcms/payload/issues/12593)) ([7e873a9](https://github.com/payloadcms/payload/commit/7e873a9)) * adds calling of before and after operation hooks to resetPassword ([#12581](https://github.com/payloadcms/payload/issues/12581)) ([54a0484](https://github.com/payloadcms/payload/commit/54a0484)) * show nested fields in named tabs as separate columns in the list view ([#12530](https://github.com/payloadcms/payload/issues/12530)) ([20f7017](https://github.com/payloadcms/payload/commit/20f7017)) * filter query preset constraints ([#12485](https://github.com/payloadcms/payload/issues/12485)) ([0204f0d](https://github.com/payloadcms/payload/commit/0204f0d)) * select field filter options ([#12487](https://github.com/payloadcms/payload/issues/12487)) ([f75d62c](https://github.com/payloadcms/payload/commit/f75d62c)) * **ui:** export FieldAction type ([#12589](https://github.com/payloadcms/payload/issues/12589)) ([699af8d](https://github.com/payloadcms/payload/commit/699af8d)) ### 🐛 Bug Fixes * parseCookies ignore invalid encoded values ([#12515](https://github.com/payloadcms/payload/issues/12515)) ([bfdcb51](https://github.com/payloadcms/payload/commit/bfdcb51)) * improve translation script prompt and fix some incorrectly used terms in spanish and dutch ([#12548](https://github.com/payloadcms/payload/issues/12548)) ([1731dd7](https://github.com/payloadcms/payload/commit/1731dd7)) * browseByFolder route should be optional ([#12527](https://github.com/payloadcms/payload/issues/12527)) ([c010d51](https://github.com/payloadcms/payload/commit/c010d51)) * thread req into interal folder payload operations ([#12523](https://github.com/payloadcms/payload/issues/12523)) ([64443d8](https://github.com/payloadcms/payload/commit/64443d8)) * infinite loop in findUp utility when a result is not found ([#12457](https://github.com/payloadcms/payload/issues/12457)) ([842d184](https://github.com/payloadcms/payload/commit/842d184)) * delete subfolders hook with relational databases ([#12507](https://github.com/payloadcms/payload/issues/12507)) ([45f4c5c](https://github.com/payloadcms/payload/commit/45f4c5c)) * **db-*:** disable DB connection for `payload migrate:create` ([#12596](https://github.com/payloadcms/payload/issues/12596)) ([12395e4](https://github.com/payloadcms/payload/commit/12395e4)) * **db-*:** `migrate:reset` executes in a wrong order ([#12445](https://github.com/payloadcms/payload/issues/12445)) ([1b1e36e](https://github.com/payloadcms/payload/commit/1b1e36e)) * **db-mongodb:** exists query on checkbox fields ([#12567](https://github.com/payloadcms/payload/issues/12567)) ([f2b6c4a](https://github.com/payloadcms/payload/commit/f2b6c4a)) * **db-postgres:** properly escape the `'` character ([#12590](https://github.com/payloadcms/payload/issues/12590)) ([6888f13](https://github.com/payloadcms/payload/commit/6888f13)) * **examples:** update live-preview example to ESM ([#12570](https://github.com/payloadcms/payload/issues/12570)) ([d6f6b05](https://github.com/payloadcms/payload/commit/d6f6b05)) * **next:** folder redirects not working ([#12509](https://github.com/payloadcms/payload/issues/12509)) ([bc43982](https://github.com/payloadcms/payload/commit/bc43982)) * **richtext-lexical:** respect disableBlockName ([#12597](https://github.com/payloadcms/payload/issues/12597)) ([ca26402](https://github.com/payloadcms/payload/commit/ca26402)) * **richtext-lexical, ui:** opening relationship field with appearance: "drawer" inside rich text inline block ([#12529](https://github.com/payloadcms/payload/issues/12529)) ([f2b54b5](https://github.com/payloadcms/payload/commit/f2b54b5)) * **storage-vercel-blob:** client uploads with a prefix ([#12559](https://github.com/payloadcms/payload/issues/12559)) ([b61ef13](https://github.com/payloadcms/payload/commit/b61ef13)) * **templates:** update template/plugin and fix import map issue ([#12305](https://github.com/payloadcms/payload/issues/12305)) ([68ba24d](https://github.com/payloadcms/payload/commit/68ba24d)) * **translations:** improve Spanish translations ([#12555](https://github.com/payloadcms/payload/issues/12555)) ([8a7ac78](https://github.com/payloadcms/payload/commit/8a7ac78)) * **translations:** correct Norwegian terms for “locale” and language labels ([#12557](https://github.com/payloadcms/payload/issues/12557)) ([bd2571c](https://github.com/payloadcms/payload/commit/bd2571c)) * **ui:** reduces pill sizing in autosave cells ([#12606](https://github.com/payloadcms/payload/issues/12606)) ([a17d84e](https://github.com/payloadcms/payload/commit/a17d84e)) * **ui:** oversized column selector pills ([#12583](https://github.com/payloadcms/payload/issues/12583)) ([3022cab](https://github.com/payloadcms/payload/commit/3022cab)) * **ui:** filtering on hasMany fields ([#12579](https://github.com/payloadcms/payload/issues/12579)) ([166dafe](https://github.com/payloadcms/payload/commit/166dafe)) * **ui:** prevent textarea description overlapping fields and not honoring rows attribute ([#12406](https://github.com/payloadcms/payload/issues/12406)) ([032375b](https://github.com/payloadcms/payload/commit/032375b)) * **ui:** cloudfront removing X-HTTP-Method-Override header ([#12571](https://github.com/payloadcms/payload/issues/12571)) ([8448e5b](https://github.com/payloadcms/payload/commit/8448e5b)) * **ui:** live-preview-tab should show beforeDocumentControls ([#12568](https://github.com/payloadcms/payload/issues/12568)) ([dfa0974](https://github.com/payloadcms/payload/commit/dfa0974)) * **ui:** safari css rendering issues with table and folder cards ([#12531](https://github.com/payloadcms/payload/issues/12531)) ([293cdc1](https://github.com/payloadcms/payload/commit/293cdc1)) * **ui:** only and files/folders to the grid/list if they were added to the current folder ([#12525](https://github.com/payloadcms/payload/issues/12525)) ([5a75881](https://github.com/payloadcms/payload/commit/5a75881)) * **ui:** replaces css fn with css calc ([#12520](https://github.com/payloadcms/payload/issues/12520)) ([feeee19](https://github.com/payloadcms/payload/commit/feeee19)) * **ui:** index based ids without useAsTitle breaks folders ([#12519](https://github.com/payloadcms/payload/issues/12519)) ([e9cda1e](https://github.com/payloadcms/payload/commit/e9cda1e)) ### ⚡ Performance * folder views download only images and get best fit from image sizes ([#12514](https://github.com/payloadcms/payload/issues/12514)) ([11a4a20](https://github.com/payloadcms/payload/commit/11a4a20)) ### 🛠 Refactors * use parseCookies method from Next.js ([#12599](https://github.com/payloadcms/payload/issues/12599)) ([d85909e](https://github.com/payloadcms/payload/commit/d85909e)) ### 📚 Documentation * autoLogin codeblock was not nested under 'admin' ([#12573](https://github.com/payloadcms/payload/issues/12573)) ([0c0b0fe](https://github.com/payloadcms/payload/commit/0c0b0fe)) * typos and links ([#12484](https://github.com/payloadcms/payload/issues/12484)) ([7fa879c](https://github.com/payloadcms/payload/commit/7fa879c)) * fix typos, duplicated words, wrong property names etc. ([#12480](https://github.com/payloadcms/payload/issues/12480)) ([e2f7889](https://github.com/payloadcms/payload/commit/e2f7889)) ### 📝 Templates * bump for v3.39.1 ([#12504](https://github.com/payloadcms/payload/issues/12504)) ([6b6948f](https://github.com/payloadcms/payload/commit/6b6948f)) ### 🏡 Chores * updates bug template ([#12587](https://github.com/payloadcms/payload/issues/12587)) ([4a41369](https://github.com/payloadcms/payload/commit/4a41369)) * fixes monorepo dev plugin-import-export ([#12528](https://github.com/payloadcms/payload/issues/12528)) ([06fbc07](https://github.com/payloadcms/payload/commit/06fbc07)) * moves collections folders property to the top level ([#12508](https://github.com/payloadcms/payload/issues/12508)) ([d83b2bf](https://github.com/payloadcms/payload/commit/d83b2bf)) * **examples:** remove unused imports from custom server example ([#12467](https://github.com/payloadcms/payload/issues/12467)) ([071c61f](https://github.com/payloadcms/payload/commit/071c61f)) * **examples:** fix read permission in auth example ([#12403](https://github.com/payloadcms/payload/issues/12403)) ([cceb793](https://github.com/payloadcms/payload/commit/cceb793)) * **ui:** finish adding folders e2e tests ([#12524](https://github.com/payloadcms/payload/issues/12524)) ([feb7e08](https://github.com/payloadcms/payload/commit/feb7e08)) ### 🤝 Contributors - Sasha (@r1tsuu) - Jarrod Flesch (@JarrodMFlesch) - James Mikrut (@jmikrut) - Alessio Gravili (@AlessioGr) - Jacob Fletcher (@jacobsfletch) - Jordy (@jordanlambrecht) - Alessandro Stoppato (@alexrah) - Germán Jabloñski (@GermanJablo) - Sean Zubrickas (@zubricks) - Jessica Rynkar (@jessrynkar) - Patrik (@PatrikKozak) - Said Akhrarov (@akhrarovsaid) - Paul (@paulpopus) - Anders Semb Hermansen (@andershermansen) - Anyu Jiang (@anyuj) - Dan Ribbens (@DanRibbens) - Ricardo Tavares (@rjgtav) - Jake Grella (@jakegrella) - Rémy (@rrelmy) - Elliot DeNolf (@denolfe)