github payloadcms/payload v3.18.0

12 hours ago

v3.18.0 (2025-01-20)

πŸš€ Features

  • adds support for both client-side and server-side remote URL uploads fetching (#10004) (38a06e7)
  • support JPEG XL image size calculation (#10624) (6ebcbe4)
  • adds multi-tenant plugin (#10447) (813e70b)
  • examples: add example with Remix + Payload Local API (#10171) (5a9cf89)
  • richtext-lexical: add jsx and html converters for tab nodes (#10565) (2e09da8)
  • ui: exposes context of the view being rendered on the server (#10620) (e80d679)

πŸ› Bug Fixes

  • updates field validation error messages to use labels if applicable (#10601) (ad553e9)
  • delete scheduled publish jobs when deleting documents (#10584) (05b9d94)
  • UpsertArgs is not exported in payload (#9347) (7a392dd)
  • form state read access control args (#10576) (05b03b2)
  • missing find collection versions REST endpoint (#10573) (120735c)
  • basePath was not passed through if method was overriden (#10562) (90e1843)
  • db-mongodb: incorrect errors logging due to invalid logic in handleError (#10575) (9043b10)
  • payload-cloud: add ts strict mode and fix a couple of wrong runtime behaviors (#10570) (16ad7a6)
  • plugin-seo: loosen some types to restore compatibility between minor versions (#10670) (9c29541)
  • plugin-stripe: hooks did not use api key from plugin config (#10671) (d2f63dc)
  • richtext-lexical: setting hideInsertParagraphAtEnd to true did not hide insert paragraph button (#10581) (8ab05b0)
  • richtext-lexical: inline blocks did not store nested fields correctly (#10578) (61117ee)
  • richtext-lexical: ensure jsx and html converters do not output linebreak if editor is empty (#10563) (df4af70)
  • richtext-slate: link and upload extra field drawers did not render fields if collection has unrelated access control set (#10583) (ecf0572)
  • ui: renders custom block row labels (#10686) (6c19579)
  • ui: fixed many bugs in the WhereBuilder relationship select menu (#10553) (56667cd)
  • ui: replace hard coded path to API with serverURL and routes.api (#10618) (5a95237)
  • ui: placement issue with sonner toasts (#10641) (f1cc8bd)
  • ui: show outline on focus for sort column buttons (#9557) (818467d)

⚑ Performance

  • list view table should not send duplicative client CollectionConfig to client (#10664) (823e223)
  • ensure deepCopy in beforeValidate hook does not run unnecessarily for rest and graphQL API (#10666) (b69fe99)
  • optimize getEntityConfig lookups (#10665) (c07c9e9)
  • remove deepCopying in sanitizeJoinQuery, optimize flattenWhereToOperators (#10663) (91ed882)
  • operations performance optimizations (#10609) (42382b6)
  • reduce document data deepCopying in field hooks (#10610) (116fd99)
  • do not send minRows and maxRows undefined values to client (#10600) (0a1cf7b)
  • ensure unnecessary config translations are not sent to the client (#10524) (3fb6ac3)
  • significantly reduce form state response size by up to 3x (#9388) (31ae27b)
  • richtext-lexical: ensure internal link nodes do not store url field, and vice versa (#10564) (5d6c29f)
  • ui: remove unnecessary deepCopy in reduceToSerializableFields (#10667) (a98a398)
  • ui: speed up list view rendering, ensure root layout does not re-render when navigating to list view (#10607) (fafe37e)

πŸ“š Documentation

πŸ§ͺ Tests

πŸ“ Templates

  • form fields will now respect 'required' flag from config on website template (#10681) (2d70269)
  • add cache tag to images so that they can be revalidated along with the page on website templates (#10647) (7d10e1b)
  • bump for v3.17.1 (#10560) (592f02b)

πŸ““ Examples

πŸ”¨ Build

  • move larger scripts into tools dir in workspace (#10653) (f18ca9c)

βš™οΈ CI

  • update canary script for tools dir (711febc)
  • add multi-tenant plugin to publish list (076ffa2)
  • disable integration tests retrying (#10615) (28b7c04)
  • access sha in dispatch event (5ee36fc)
  • dispatch event (f306785)
  • scripts: publish-canary script always bump minor, more realistic [skip ci][skip lint] (4629784)

🏑 Chores

  • set save-prefix='' for repo [skip ci] (ef4b8d9)
  • run pnpm dev without dev - this improves error logging on init (#10669) (9215f03)
  • adjust multi tenant version (#10640) (baad382)
  • multi-tenant plugin updates (#10598) (0d47a5d)
  • enable noUncheckedIndexedAccess in all packages except richtext-lexical (#10592) (d4039f2)
  • enable noImplicitOverride in all packages (#10588) (d55b6a3)
  • update mongodb-memory-server v9 -> v10 (#10556) (918bd72)
  • make TypeScript strict in test folder. Simplify tsconfig (#10582) (a304dc4)
  • make TypeScript strict by default in packages and 7 packages stricter (#10579) (085c1d0)
  • db-mongodb: update mongoose and mongodb deps (#10644) (00cc10c)
  • deps: upgrade various dependencies (#10657) (b6e9c3b)
  • deps: bumps path-to-regexp (8c3f6e1)
  • examples: bumps custom components example to latest and runs seed on init (#10661) (9f5ffed)
  • richtext-lexical: add unit test that ensures lexical dependency checker is updated (#10561) (6a6ef8f)
  • templates: make TypeScript strict in website template (#10587) (2ce3829)

🀝 Contributors

Don't miss a new payload release

NewReleases is sending notifications on new releases.