npm payload 3.29.0
v3.29.0

latest releases: 3.34.0-canary.1, 3.34.0-canary.0, 3.33.0...
17 days ago

v3.29.0 (2025-03-20)

Important

This release upgrades the lexical dependency from 0.27.1 to 0.28.0.

If you installed lexical manually, update it to 0.28.0. Installing lexical manually is not recommended, as it may break between updates, and our re-exported versions should be used. See the yellow banner box for details.

If you still encounter richtext-lexical errors, do the following, in this order:

  1. Delete node_modules
  2. Delete your lockfile (e.g. pnpm-lock.json)
  3. Reinstall your dependencies (e.g. pnpm install)

🚀 Features

  • pass i18n through field label and description functions (#11802) (31211e9)
  • sort support for payload.update operation (#11769) (20e975b)
  • add find to payloadDataLoader to cache local API queries (#11685) (975bbb7)
  • distinct error for unverified email login (#11647) (fd99a30)
  • aligns user _strategy returned from API (#11701) (8a51fe1)
  • form state select (#11689) (9ea8a7a)
  • add forceSelect collection / global config property (#11627) (5e3d07b)
  • added support for conditional tabs (#8720) (878dc54)
  • db-*: support sort in db.updateMany (#11768) (e96d3c8)
  • db-*: allow to thread id to create operation data without custom IDs (#11709) (f442d22)
  • db-postgres: add vector raw column type (#10422) (11d7487)
  • plugin-form-builder: radio field (#11716) (427a5f1)
  • richtext-lexical: support escaping markdown characters (#11784) (43cdccd)
  • richtext-lexical: upgrade lexical from 0.27.2 to 0.28.0 (#11764) (240730f)
  • richtext-lexical: allow disabling TabNode (#11656) (013b515)
  • richtext-lexical: upgrade lexical from 0.27.1 to 0.27.2 (#11706) (adb42cb)
  • ui: don't trigger preventLeave when opening a new tab (#11683) (398607f)

🐛 Bug Fixes

  • add locale support to relationship filter options in WhereBuilder (#11783) (90f2491)
  • add locale support to relationship filter options in WhereBuilder (#11783) (39ad31a)
  • save button styles in edit-many modal (#11780) (7bc75e2)
  • wrap login redirect routes with encodeURIComponent (#11778) (a02e476)
  • email format validation with hyphens (#11761) (afe4432)
  • improves email validation format rules (#11757) (875afcc)
  • field appending on duplicate should ignore non string values (#11621) (74996fd)
  • passes id and data to read access func when accessing upload URLs (#11684) (4a712e1)
  • bulk upload validation when files are missing (#11744) (ea66e21)
  • ensures select & radio field option labels accept JSX elements (#11658) (3c92fbd)
  • add classes for picture tag in media component (#11605) (d66cdbd)
  • db-mongodb: spread version schema options correctly (#11793) (1d25b16)
  • plugin-cloud-storage: s3Storage client uploads working with more than 2 instances of the plugin (#11732) (bb39c87)
  • plugin-import-export: export with draft true (#11762) (67a7358)
  • plugin-import-export: translated preview labels (#11758) (e83f452)
  • plugin-multi-tenant: ensures redirect route is correctly formatted (#11753) (06aa940)
  • plugin-multi-tenant: missing key console message (#11693) (3d129e8)
  • richtext-lexical: error in admin panel when block collapsed preference is not an array (#11771) (b857273)
  • richtext-lexical: error in admin panel when setting a richtext field in useAsTitle (#11707) (ef527fe)
  • richtext-lexical: make the toolbar indent button consider the disabledNodes property on IndentFeature (#11739) (dd80f52)
  • richtext-lexical: unchecked list items were rendered as checked in html converter (#11747) (3f23160)
  • richtext-lexical: remove undefined rel and target attributes in link HTML converter (#11754) (aa3737c)
  • ui: adding guard check for populate docs in upload field (#11800) (7d9d067)
  • ui: bulk edit subfields (#10035) (b5fc8c6)
  • ui: excess error css coming from group fields (#11700) (0fe922e)
  • ui: fallback localization data was appearing in document (#11743) (ebfb0eb)
  • ui: scheduled publish not displaying the timezone's label and timezones being reset when scheduling a publish, brisbane is now a default timezone (#11699) (e0bf505)
  • ui: processing and initializing form does not disable standalone fields (#11714) (0b1a1b5)

⚡ Performance

  • use direct db calls in job-queue system (#11489) (032c424)
  • download only images and optimize image selection for upload list view, prioritize best-fit size (#11696) (6270d73)
  • ui: implements select in bulk edit (#11708) (d8bfb22)

🛠 Refactors

  • richtext-lexical: new plaintext and markdown converters, restructure converter docs (#11675) (82840aa)

📚 Documentation

🧪 Tests

🏡 Chores

🤝 Contributors

Don't miss a new payload release

NewReleases is sending notifications on new releases.