v3.41.0 (2025-06-05)
🚀 Features
- optionally exclude collection documents from appearing in browse-by-folder (#12654) (337f618)
- improve turbopack compatibility (#11376) (319d335)
- polymorphic join querying by fields that don't exist in every collection (#12648) (2b40e0f)
- ui: use document drawers for folder edit/create (#12676) (9581092)
- ui: adds new editMenuItems custom component (#12649) (625d8d9)
🐛 Bug Fixes
- correctly detect glb & gltf mimetypes during upload (#12623) (05eeddb)
- allow unnamed group fields to not set a label at all (#12580) (d561195)
- cpa: generate .env when using the --example flag (#12572) (836fd86)
- db-postgres: ensure deletion of numbers and texts in upsertRow (#11787) (bd512f1)
- db-postgres:
in
query withnull
(#12661) (c08cdff) - live-preview: correct type inference (#12619) (c83e791)
- next: cannot override tab of default views (#11789) (c639c5f)
- plugin-seo: thread allowCreate to meta image component (#12624) (ede5c67)
- richtext-lexical: export defaultColors for use in client components (#12627) (8199a7d)
- richtext-lexical: enable select inputs with ctrl+a or cmd+a (#12453) (89ced5e)
- translations: add missing import for lv locale from date-fns (#12577) (cbc37d8)
- ui: adjusts margin spacing on upload actions (#12692) (1dd4a12)
- ui: safely extract text from React nodes (#12419) (48e5ee6)
- ui: formatDate and formatTimeToNow utility type error on i18n arg to support I18nClient too (#12576) (76bf459)
- ui: correctly thread through the autoComplete attribute from admin config to the text input (#12473) (08ec837)
- ui: clear miliseconds in date fields unless theyre explicitly provided in the display format (#12650) (a9ff375)
- ui: reset columns state throwing errors (#11903) (08a6f88)
- ui: upload action button styles (#12592) (6119d89)
⚡ Performance
🛠 Refactors
- translations: correct i18n translation for Mandarin (#12561) (6f8cff7)
- ui: improve relationship field option loading reliability using queues (#12653) (30dd9a2)
📚 Documentation
- add Content-Type header for JWT authentication (#12513) (3f7debd)
- fix import statements for
plugin-nested-docs
(#12494) (5635ec5) - improve rich-text documentation with hasText usage tip (#12645) (53de775)
- fix beforeHook documentation to reflect actual behaviour (#12651) (fd5cd1a)
- improve module augmentation docs for request context (#12681) (0c3ff88)
- update seo plugin tabbedUI docs to mention potential pitfalls with the config option (#12549) (505eaa2)
- missing dash (#12644) (684c436)
- building without a db connection (#12607) (7c094dc)
📝 Templates
⚙️ CI
🏡 Chores
- fix various e2e test setup issues (#12670) (545d870)
- fix lint warnings for default exports, unused imports, unused err in catch (#12666) (48218bc)
- migrate to TypeScript strict in Payload package (enable strictNullChecks) - #3 (#12586) (6ec21a5)
- update CONTRIBUTING.md (#12511) (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)