github payloadcms/payload v3.26.0

latest release: v3.27.0
one day ago

v3.26.0 (2025-03-04)

🚀 Features

  • ability to cancel jobs (#11409) (38131ed)
  • maintains column state in url (#11387) (3709950)
  • db-*: support limit in db.updateMany (#11488) (6a3d58b)
  • db-*: add updateMany method to database adapter (#11441) (41c7413)
  • richtext-lexical: add htmlToLexical helper (#11479) (cd29978)
  • richtext-lexical: add editorConfigFactory helper to streamline getting the editor config (#11467) (e1b3084)
  • ui: close the nav when the user navigates away on small screens (#10932) (9bb89b7)

🐛 Bug Fixes

  • avif images not converting to upload.formatOptions set file types (#11505) (c417e3a)
  • excludes index files from migration files filtering (#10722) (c828e33)
  • response headers from authstrategies are now merged together, even if no user was returned (#10883) (45a7c8b)
  • ensures req.origin includes port on localhost (#11454) (a65289c)
  • ensure errors returned from tasks are properly logged (#11443) (d53f166)
  • incorrect value inside beforeValidate field hooks (#11433) (b3e7a9d)
  • examples: ensure working multi-tenant example with pg (#11501) (4ddf965)
  • examples: replace depreciated 'mergeHeaders' import in the MultiTenant example (#11306) (48e613b)
  • next: incorrect active state for partial matches of collection names in sidebar (#11511) (7d2480a)
  • next: active nav item not clickable in edit view (#11457) (83b4548)
  • next: properly instantiates req.url on localhost (#11455) (67c4a20)
  • next: email verification not working due to incorrect token url parsing (#11439) (f3844ee)
  • next: disables active nav item (#11434) (c4bc0ae)
  • plugin-multi-tenant: scope access constraint to admin collection (#11430) (9c25e7b)
  • richtext-lexical: ensure nested forms do not use form element (#11462) (6d8aca5)
  • storage-*: ensure client handler is always added to the import map, even if the plugin is disabled (#11438) (dfddee2)
  • storage-s3, storage-azure, storage-gcs: client uploads when a collection has prefix configured (#11436) (fc42c40)
  • storage-uploadthing: files are duplicated to the storage via client uploads (#11518) (f143d25)
  • templates: handle enableLink condition safely (#10728) (f7f5651)
  • ui: uses query provider as single source of truth for where builder (#11476) (927078c)
  • ui: remove stale thumbnails in bulkUpload after partial success (#10651) (e75d38c)
  • ui: bulk editing users throws client-side exception (#11461) (6cbda9e)
  • ui: scope rah-static and progress-bar styles to payload-default layer (#11442) (bef98c8)
  • ui: use full image url for upload previews instead of thumbnail url (#11435) (96d1d90)
  • ui: locale selector in versions view should remove filtered locales (#11447) (9e97319)
  • ui: copyToLocale should not pass id in data, throws error in postgres (#11402) (428c133)
  • ui: duplicate basePath in Logout Button Link (#11432) (f7b1cd9)
  • ui: disable publish button if form is autosaving (#11343) (7118b64)

⚡ Performance

  • automatically add index on a relationship field when used as target for a join field (#11463) (90d3c65)
  • disable returning of db operations that don't need the return value (#11437) (6ce5e8b)
  • db-*: add option to disable returning modified documents in db methods (#11393) (c21dac1)
  • db-mongodb: faster join field aggregation by replacing mongoose-aggregate-paginate-v2 with a custom implementation (#10936) (d4d2bf4)
  • next: reduce initReq calls from 3 to 1 per page load (#11312) (c8c578f)

📚 Documentation

  • clarify that image resizing/cropping require sharp to be specified in payload config (#11470) (d57a786)
  • fix documentation "CheckListFeature" (#11480) (b9108b4)
  • add few notes about DocumentDB and Azure Cosmos DB (#11336) (25e8799)
  • fix method useAllFormFields on admin/hooks.mdx (#10935) (8b5bc3d)
  • use local API to upload a local file (#10839) (19b4ec2)
  • adds info and example for headersWithCors (#11141) (77395b6)
  • custom auth strategy requires the collection slug in return value (#11327) (fcaf591)
  • broken ' char entity instead of ' in plugins/build-your-own (#11363) (206b4b9)
  • replace HTML entity ' with literal apostrophe (#11321) (8b55e7b)

📝 Templates

  • fix vercel website template importmap error caused by missing import (#11500) (562acb7)
  • bump payload versions, upgrade next.js to 15.2.0, fix eslint errors (#11486) (f03d450)
  • improve naming of richtext component import, add 'payload-richtext' classname (#11485) (398d48a)

⚙️ CI

  • change custom github actions target back to es5 (fd1a4f6)
  • clarify version reporting in issue templates (#11498) (a15c38f)
  • repro guide to use create-payload-app@latest instead of @beta (#11451) (e055565)

🏡 Chores

  • add docker volume directories to gitignore (#10902) (fa8a2f8)
  • temporarily disables flaky "should execute a custom script" test (#11487) (1929644)
  • db-mongodb: tsconfig uses strict: true and noUncheckedIndexedAccess: true (#11444) (79a7b4a)
  • deps: bumps payload-admin-bar to v1.0.7 to suppress react 19 warnings (#11499) (bf4fa59)
  • eslint: speed up no-imports-from-self rule by ensuring cache is used (#11483) (3774544)
  • examples: update multi-tenant example (#11459) (81e8a9d)
  • plugin-search: enable TypeScript strict mode (#11508) (efce154)
  • richtext-lexical: export LexicalFieldAdminProps (#11464) (dda17f0)
  • richtext-lexical: improve UploadData jsdocs (#11292) (4a1b749)
  • translations: enable TypeScript strict mode (#11494) (a3fe607)

🤝 Contributors

Don't miss a new payload release

NewReleases is sending notifications on new releases.