github payloadcms/payload v3.25.0

one day ago

v3.25.0 (2025-02-27)

๐Ÿš€ Features

  • storage-*: large file uploads on Vercel (#11382) (b540da5)
  • allow to count related docs for join fields (#11395) (3436fb1)
  • add support for not_like operation (#11326) (b014416)
  • plugin-multi-tenant: allow customization of selector label (#11418) (958e195)
  • plugin-multi-tenant: filter users list and tenants lists (#11417) (45cee23)
  • plugin-multi-tenant: export useTenantSelection hook for public usage (#11364) (f477e0e)
  • richtext-lexical: allows client features to access components added to the import map by the server feature (#11414) (7e713a4)
  • richtext-lexical: support single-quoted jsx property values in mdx converter (#11290) (563c21b)
  • ui: threads row data through list drawer onSelect callback (#11339) (d766b19)
  • ui: adds support for block groups (#11239) (22f61ad)

๐Ÿ› Bug Fixes

  • ensure custom IDs are returned to the result when select query exists (#11400) (526e535)
  • ensure generated types for config.blocks are not undefined if no blocks defined (#11377) (820a6ec)
  • safely access config.blocks during type generation (#11320) (3ffc268)
  • working bin configuration for custom scripts (#11294) (f779e48)
  • db transaction errors caused by checkDocumentLockStatus (#11287) (9728d80)
  • db-mongodb: hasNextPage with polymorphic joins (#11394) (6b6c289)
  • deps: ensure Next.js 15.2.0 compatibility, upgrade nextjs and @types/react versions in monorepo (#11419) (2a3682f)
  • next: nested relationship filter options (#11375) (0a1af45)
  • next: use correct hmr url if assetPrefix is set in next config (#10859) (1725af5)
  • next: uses assetPrefix from next config in webpack-hmr URL (#11229) (26163a7)
  • plugin-multi-tenant: user access, thread field names through (#11365) (3778180)
  • plugin-nested-docs: fallback to empty string if useAsTitle field is undefined (#11338) (09ca514)
  • plugin-nested-docs: corrects data shape of breadcrumbs returned in hooks (#10866) (d92c000)
  • richtext-lexical: incorrect UploadData types (#11288) (2612756)
  • ui: skip bulk upload thumbnail generation on non-image files (#11378) (81fd42e)
  • ui: allow json fields to be updated externally (#11371) (36e152d)
  • ui: bulk upload DiscardWithoutSaving modal styles (#11381) (7bb1c9d)
  • ui: object type field labels not displaying in search filter (#11366) (f1b005c)
  • ui: custom block labels stale when reordering blocks (#11367) (2477fc6)
  • ui: link element triggering clicks twice (#11362) (f9121c1)
  • ui: only show bulk select all when count is less than total (#11329) (a8bec9a)
  • ui: confirmation modal should build off of drawerDepth, instead โ€ฆ (#11305) (460d50b)

โšก Performance

  • remove deep copy of the entire sanitized entity config in configToJSONSchema (#11342) (a13d4fe)
  • add limit: 1 and pagination: false to various payload queries (#11319) (0058f82)
  • ensure fetching and updating preferences doesn't cause transaction errors and is done correctly (#11311) (845c647)
  • db-mongodb: remove JSON.parse(JSON.stringify) copying of results (#11293) (1dc748d)
  • drizzle: use faster, direct db query for getting id to update in updateOne (#11391) (e4712a8)
  • next: reduce getNavPrefs calls from 3 to 1 per page load (#11318) (c7c5018)
  • next: avoid unnecessary upsertPreferences call on page load (#11302) (76bd05c)

๐Ÿ›  Refactors

๐Ÿ“š Documentation

  • adds Reserved Field Names section to migration guide (#11308) (bcc6857)
  • improve lexical code block documentation (#11416) (67b7a73)
  • add lexical docs for configuring jsx converters for internal links and overriding them (#11415) (88a2841)
  • add info about changes in localized fields to v2 -> v3 migration guide (#11244) (d326086)
  • fix links to react hooks (#11344) (4224c68)
  • update outdated docs/rich-text/overview feature names (#11324) (6ff380c)
  • fix formatting in field hooks table (#11300) (af92c15)
  • removes outdated rateLimit option (#11291) (c517e7e)
  • fix invalid jsx in banner block (#11289) (b1e9aa5)

๐Ÿงช Tests

  • removes all unnecessary page.waitForURL methods (#11412) (b975858)

๐Ÿ“ Templates

  • update docker-compose to use postgres by default in postgres specific templates (#11328) (5d7be15)

โš™๏ธ CI

๐Ÿก Chores

  • cleanup queues test suite (#11410) (c6ab312)
  • add JSDoc for globals Local API operations (#11313) (0594701)
  • cut down logging noise when file was not found on the disk (#11295) (f6f6a1d)
  • add JSDoc for collection Local API operations properties (#11265) (ee5e96a)
  • passes allowCreate into list drawer and adds test (#11284) (c05f10a)
  • plugin-cloud: refresh session on ExpiredToken error code (#8904) (1e698c2)
  • translations: adds missing client keys and removes translated validation errors (#10841) (6fad5d7)

๐Ÿค Contributors

Don't miss a new payload release

NewReleases is sending notifications on new releases.