made with
payload
  • Showcases
  • Plugins
  • Creators
  • Tutorials
  • Templates
  • Videos

Not affiliated with PayloadCMS. Made by paul

  • Contact
  • Submit an entry
  • Releases
  • Stats
Back to Releases

v3.24.0

Version v3.24.0Minor Release
Released:

February 19, 2025

Type:

New features, backward compatible

GitHub:View Release
Download TarballDownload ZIP

Release Notes

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

  • ui: simplifies confirmation modal callback (#11278) (af55549)
  • ui: deprecates Link props (#11155) (cd11175)

📚 Documentation

  • fix variable name typo in usePayloadAPI (error → isError) (#11249) (7024da8)
  • fix typo in cors (#11266) (bf103cc)
  • remove outdated res parameter in login and resetPassword operations (#11268) (38c1c11)
  • update join field docs (#11264) (0d7cf3f)
  • add missing jsdocs to version config (#11258) (ede7bd7)
  • dedicated custom components docs (#10987) (3229b9a)
  • adds onInit to payload config options (#11069) (b646485)
  • fix typo in readme (#11196) (35d845c)
  • remove file extension from import statement in useLexicalComposerContext (#11188) (480113a)
  • fix importMap.baseDir path (#11076) (84c838c)
  • fix invalid link (#11174) (152a9b6)
  • add inlineBlock converter example to the converters configuration in Converters.mdx (#11158) (24da30a)
  • filterAvailableLocales (#11031) (3131dba)
  • explains i18n language changing (#10964) (3098f35)
  • explains i18n installation (#10963) (d7dee22)
  • fixes misc grammar and spelling errors (#10996) (c31bff7)

🧪 Tests

  • blocks field helpers (#11259) (8166784)
  • regenerate payload-types.ts for all test suites (#11238) (117949b)
  • resolves select type errors (#11235) (e78500f)
  • resolves locked-documents type errors (#11223) (ee0ac7f)
  • add types testing for select and joins (#11138) (4be410c)
  • db-mongodb: unit test assertion for relationship sanitization inside blockReferences (#11195) (2ae670e)

📝 Templates

  • allow to pass resource={null} to Media component (#11228) (64d0217)
  • add new readme for quick start on vercel platform (#11131) (707e85e)
  • add packageManager to website template instead of engines.pnpm (#11121) (44be433)
  • bump for v3.23.0 (#11115) (5d19958)

🏡 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

  • Paul (@paulpopus)
  • Sasha (@r1tsuu)
  • Dan Ribbens (@DanRibbens)
  • Jarrod Flesch (@JarrodMFlesch)
  • felismargarita (@felismargarita)
  • Fredrik (@Livog)
  • Alessio Gravili (@AlessioGr)
  • Jacob Fletcher (@jacobsfletch)
  • Germán Jabloñski (@GermanJablo)
  • Tib (@T1l3)
  • Said Akhrarov (@akhrarovsaid)
  • Patrik (@PatrikKozak)
  • Jessica Chowdhury (@JessChowdhury)
  • Riley Langbein (@rilrom)
  • annes (@annesnour03)
  • Max Malm (@benjick)
  • lucasbajoua (@lucasbajoua)
  • Kendell Joseph (@kendelljoseph)
  • Adit (@ioExpander)
  • Hulpoi George-Valentin (@GeorgeHulpoi)
  • David Hu (@davidhu2000)
  • Alejandro Martinez (@ja-martinez)
  • Cody Stallings (@ydocsgnillats)
  • Elliot DeNolf (@denolfe)
Browse All ReleasesView on GitHub