npm payload 3.24.0
v3.24.0

latest releases: 3.25.0-canary.fd53f68, 3.25.0-canary.f62445f, 3.25.0-canary.9728d80...
2 days ago

v3.24.0 (2025-02-19)

🚀 Features

  • add support for interfaceName on radio and select fields to create reusable top level types (#11277) (acead10)
  • join field across many collections (#10919) (6d36a28)
  • add page query parameter for joins (#10998) (847d8d8)
  • view component types (#11126) (b80010b)
  • route transitions (#9275) (3f550bc)
  • add siblingFields arg to field hooks (#11117) (155f9f8)
  • richtext-lexical: export INSERT_BLOCK_COMMAND and INSERT_INLINE_BLOCK_COMMAND (#11193) (dc36572)
  • translations: add support for lithuanian (#11243) (8bbe7bc)
  • ui: enable specific css selectors on the localizer per locale (80b33ad)
  • ui: confirmation modal (#11271) (bd8ced1)
  • ui: adds admin.components.listMenuItems option (#11230) (8a2b712)
  • ui: add hideFileInputOnCreate and hideRemoveFile to collection upload config (#11217) (daaaa5f)
  • ui: refines progress bar animation curve (#11167) (16d75a7)

🐛 Bug Fixes

  • versions not loading properly (#11256) (0651ae0)
  • db transaction errors caused by checkDocumentLockStatus (#11273) (9b8f8d7)
  • localized fields within block references were not handled properly if any parent is localized (#11207) (e6fea1d)
  • upload and auth endpoints are mounted for all collections (#11231) (749962a)
  • populate is ignored for nested relationships (#11227) (938472b)
  • ensure leavesFirst option works correctly in traverseFields utility (#11219) (6b9d81a)
  • join field does not show validation error (#11170) (dd28959)
  • db-mongodb: properly handle document notfound cases for update and delete operations (#11267) (7922d66)
  • db-mongodb: remove duplicative indexing of timestamps (#11028) (12f51ba)
  • db-postgres: querying other collections via relationships inside blocks (#11255) (88548fc)
  • db-postgres: ensure countDistinct works correctly and achieve better performance when the query has table joins (#11208) (513ba63)
  • next: imports toast from @payloadcms/ui (#11279) (cd48904)
  • next: document header padding on tablet sized screens (#11192) (70db44f)
  • next: pre-flight OPTIONS request errors from the graphql endpoint (#11103) (ececa65)
  • plugin-multi-tenant: corrects default value for tenantsArrayTenantFieldName (#11189) (b65ae07)
  • plugin-seo: add missing supported languages (#11254) (74ce889)
  • richtext-lexical: add container div to table element to allow horizontal scroll in HTML and JSX converters (#11119) (9068bda)
  • richtext-lexical: reliably install exact lexical version by removing it from peerDeps (#11122) (2056e9b)
  • richtext-lexical: unindent button in toolbar is never active (#11089) (7a400a7)
  • ui: minor issues with tabs and publish buttons when in RTL (#11282) (e83318b)
  • ui: turbopack with the latest next.js canary [skip lint] (#11280) (009e908)
  • ui: disabledLocalStrategy.enableFields missing email/username fields (#11232) (9fc1cd0)
  • ui: unsaved changes allows for scheduled publish missing changes (#11001) (618624e)
  • ui: timezone issue related to date only fields in Pacific timezones (#11203) (8b0ae90)
  • ui: database errors when running autosave and ensure autosave doesn't run unnecessarily (#11270) (1328522)
  • ui: do not pass req in handleFormStateLocking (#11269) (7f5aaad)
  • ui: issues with prevent leave and autosave when the form is submitted but invalid (#11233) (06debf5)
  • ui: allow selectinputs to reset to their initial values if theres no provided value (#11252) (1c4eba4)
  • ui: selection status not updating after toggleAll in useSelection hook (#11218) (5817b81)
  • ui: properly handle singular and plural bulk edit labels (#11198) (779f511)
  • ui: hide edit button on deleted relationship options (#11005) (cba5c7b)
  • ui: respect locale in buildTableState (#11147) (077fb3a)
  • ui: hide array field "add" button if admin.readOnly: true is set (#11184) (b1734b0)
  • ui: unable to use browser back navigation after visiting list view (#11172) (0a3820a)
  • ui: url encode imageCacheTag for media on dashboard (#11164) (d47c980)
  • ui: json schema (#11123) (7f124cf)
  • ui: prevent omitting fileSize from non-images (#11146) (6901b26)
  • ui: adds delay to progress bar for fast networks (#11157) (de68ef4)
  • ui: safe call within useEffect teardown (#11135) (30c77d8)
  • ui: relationship filterOptions not applied within the list view (#11008) (2a0094d)

⚡ Performance

  • optimize permissions calculation with lots of blocks (#11236) (313ff04)
  • do not populate globals when calculating permissions, cleanup getEntityPolicies (#11237) (d49de7b)
  • deduplicate blocks used in multiple places using new config.blocks property (#10905) (4c8cafd)

🛠 Refactors

📚 Documentation

🧪 Tests

📝 Templates

🏡 Chores

  • move dequal to devDependencies (#11220) (d126c2b)
  • update codeowners (#11151) (706410e)
  • typo in migrate:fresh command (#11140) (6bfa66c)
  • add typescript-strict-plugin to the payload package for incremental file-by-file migration [skip lint] (#11133) (6eee787)
  • tsconfig.base.json reset (48471b7)
  • deps: bumps @monaco-editor/react to v4.7.0 to suppress react 19 warnings (#11161) (f4639c4)
  • richtext-lexical: fix unchecked indexed access, make richtext-lexical full ts strict (part 5/5) (#11132) (09ada20)
  • richtext-lexical: improve types of UploadData (#10982) (002e921)

🤝 Contributors

Don't miss a new payload release

NewReleases is sending notifications on new releases.