Skip to content

Releases: payloadcms/payload

v3.7.0

13 Dec 17:13
4c3e41b
Compare
Choose a tag to compare

v3.7.0 (2024-12-13)

🚀 Features

  • expose pagination: false to REST / GraphQL (#9952) (b101fec)
  • add waitUntil property to payload.jobs.queue (#9950) (0d07ce2)
  • allow loading predefined migrations from proper exports (#9872) (d4d79c1)
  • allows excluding entities from the nav sidebar / dashboard without disabling its routes (#9897) (b1d92c2)
  • ui: allow customizing min height of code editor (#9920) (bae2fe5)

🐛 Bug Fixes

  • updates username validation to allow for all special character usage (#9946) (7a8b464)
  • join collection read access (#9930) (5af71fb)
  • db-postgres: payload.db.upsert inserts new rows instead of updating existing ones (#9916) (5e39634)
  • plugin-nested-docs: publishing parent doc should not publish child doc (#9958) (50e7c24)
  • translations: capitalized swedish 'collapseAll' translation (#9908) (821bd35)
  • ui: awaits form state before rendering conditional fields (#9933) (796df37)
  • ui: properly passes readOnly prop to email & username auth fields (#9938) (a582431)
  • ui: truncates richtext fields when displaying within a joins field (#9911) (d9efd19)

🛠 Refactors

  • ui: migrates away from React.forwardRef (#9907) (4c57df6)
  • ui: export TableColumnsProvider, documentDrawerBaseClass and SelectMany (#9899) (00d438e)

📚 Documentation

🧪 Tests

📝 Templates

  • fix build by reducing strictness of eslint rules (#9943) (d78550c)
  • set up prettier, bump next to 15.1.0, bump eslint to v9, set up .vscode configs (#9936) (c7272bb)
  • change names of data variables to improve clarity between data and elements (#9912) (23e2f7b)
  • fix preview path protocol not being https in production environments (#9910) (6a09fe1)
  • fix live preview relative URLs on website template (#9906) (afa08d0)
  • bump nextjs version to 15.1 (#9903) (d97d7ed)
  • bump for v3.6.0 (#9900) (5c2f72d)

⚙️ CI

🏡 Chores

  • use non-permanent / => /admin redirect so that the browser doesn't cache it for projects that don't redirect (#9948) (d57cad6)
  • update what-is-payload.mdx (#9942) (9eb1b50)
  • deflake postgres and sqlite integration joins test (#9939) (c298cbc)
  • export JobLog and importHandlerPath, add missing id type to JobLog (#9921) (fffab66)
  • payload-cloud: improve error log of staticHandler (#9934) (4334940)
  • translations: improve password reset message (#9931) (6fffbdb)
  • ui: export SearchFilter, EditUpload, FileDetails, PreviewSizes, PreviewButton, ErrorIcon, InfoIcon, SuccessIcon, WarningIcon (#9919) (c8046ca)

🤝 Contributors

v3.6.0

11 Dec 18:11
45d2064
Compare
Choose a tag to compare

v3.6.0 (2024-12-11)

🚀 Features

  • expose session, db in migrations to use the active transaction with the database directly (#9849) (b73fc58)
  • consolidates create and duplicate operations (#9866) (ca52a50)
  • allow where in payload.jobs.run (#9877) (b1ef28d)
  • add payload.jobs.runByID (#9875) (09246a4)
  • next: adds suppressHydrationWarning property to payload config admin options (#9867) (5223990)

🐛 Bug Fixes

  • cannot pass function to client error when defining server-only props in custom field components (#9898) (91e8acc)
  • ensures autosave only runs sequentially (#9892) (a0f0316)
  • forgotPassword set expiration time (#9871) (306b5d2)
  • upgrade pg snapshot during v3 upgrade if needed (#9837) (1e5364f)
  • next: thread default ServerProps to view actions and other components that were missing (#9868) (0303b78)
  • next: next.js 15.1.0 compatibility by not importing isRedirectError from next/dist (#9878) (5bfc92d)
  • next: does not format top-level domains within admin.preview or livePreview.url functions (#9831) (e095222)
  • richtext-*: field errors and descriptions were not displayed (#9824) (60ceeb0)
  • richtext-lexical: lexical-html export (#9793) (d791db2)
  • templates: website infinite reload bug with 404s in production mode (#9843) (d3b8d0c)
  • ui: ensures admin.disableListFilter is disabled despite url search params (#9874) (da6bc55)
  • ui: refreshes column state during hmr and respects admin.disableListColumn despite preferences (#9846) (f7172b5)
  • ui: prevents unwanted data overrides when bulk editing (#9842) (563694d)

🛠 Refactors

  • richtext-lexical: export useBlockComponentContext and useInlineBlockComponentContext (#9896) (b83ea84)
  • richtext-lexical: export JSXConverter type (#9815) (7599ede)

📚 Documentation

  • properly capitalize SQLite and Next.js (#9848) (7642837)
  • add missing types, prefer pnpm, fix various typos, discourage using payload from import (#9847) (254d888)
  • fix typo (#9845) (36c2714)

🧪 Tests

  • properly mock nodemailer verify in unit test (#9832) (e746d7a)

📝 Templates

  • bump for v3.5.0 (#9844) (43a0ce7)
  • website template added changes for seed script, relative live preview URLs and fixed endpoint status code (#9808) (b0c9b41)
  • bump for v3.5.0 (#9804) (1fdc7cc)

⚙️ CI

  • add missing tests to all-green dependency array (#9825) (84abfdf)
  • add PR co-authors to contributors section of release notes (e236c28)
  • add types testing with tstyche (#9803) (f09ee0b)
  • adjust tag detection for post-release-templates (67a35d3)

🏡 Chores

  • better default for useAsTitle with custom auth collections (#9841) (fee1744)
  • post-release-templates fetch tags (2c0bea8)
  • update template lockfiles (a80de3f)
  • deps: upgrade dataloader dependency from 2.2.2 to 2.2.3 (#9823) (dc741bb)

🤝 Contributors

v3.5.0

06 Dec 20:05
ff62017
Compare
Choose a tag to compare

v3.5.0 (2024-12-06)

🚀 Features

  • upgrade to React 19 stable and Next.js 15.0.4 (#9801) (8f3f449)

    It is recommended to upgrade to React 19 stable and Next.js 15.0.4 in your existing project. The pnpm.overrides and overrides keys are not needed anymore!

    To do that, change the following in your package.json:

...
  "dependencies": {
-    "next": "15.0.3",
+    "next": "15.0.4",
-    "react": "19.0.0-rc-66855b96-20241106",
-    "react-dom": "19.0.0-rc-66855b96-20241106",
+    "react": "19.0.0",
+    "react-dom": "19.0.0",
     ...
  },
  "devDependencies": {
-    "@types/react": "npm:[email protected]",
-    "@types/react-dom": "npm:[email protected]".
+    "@types/react": "19.0.1",
+    "@types/react-dom": "19.0.1",
  },
-  "pnpm": {
-    "overrides": {
-      "@types/react": "npm:[email protected]",
-      "@types/react-dom": "npm:[email protected]"
-    }
-  },
-  "overrides": {
-    "@types/react": "npm:[email protected]",
-    "@types/react-dom": "npm:[email protected]"
-  }
  • export sanitizeSelectParam, sanitizePopulateParam, senitizeJoinParams utils (#9777) (afd0b54)
  • allow to define global label as function (#9759) (0829a35)
  • live-preview: supports relative urls for dynamic preview deployments (#9746) (f12b4dc)
  • next: supports relative preview URLs (#9755) (1fc9c47)

🐛 Bug Fixes

  • defaultPopulate and populate with nested to arrays/blocks properties (#9751) (7def6b7)
  • getPayload generate import map only when used in Payload Admin Panel (#9371) (d8f7034)
  • db-mongodb: bump mongoose to 8.8.3 (#9747) (840dde2)
  • db-postgres: handle select query on select fields (#9607) (dff71ee)
  • ui: collapsed array state on input change (#9800) (62fc2f5)
  • ui: join field ignoring defaultSort and defaultLimit (#9766) (a11243e)
  • ui: disable doc submenu when parent button is disabled (#9750) (1ab3be6)
  • ui: stale locale value from useLocale (#9582) (fa7ed3f)
  • ui: only render header dom node if needed (#9742) (8e26824)
  • ui: incorrect label size for group field (#9740) (4a324a9)

📚 Documentation

  • adds missing "to" in jobs-queue/overview (#9778) (de53f2a)
  • plugin-search: add info on collection reindexing (#9764) (c9ce350)

📝 Templates

  • bump for v3.4.0 (#9780) (d3232b9)
  • improvements to seed speed on website template and updated hero and collapsible fields (#9779) (19ddd3c)
  • fixes the seeding for the website template when using postgres (#9758) (3d1305d)
  • improve speed of seed script (#9748) (2321970)
  • website: add next sitemap robots disallow config for /admin (#9761) (97d3bb1)

⚙️ CI

  • add nightly stale cron (#9802) (a1a0a07)
  • explicitly use ubuntu-24.04 instead of latest to ensure compat (#9786) (bbf35a6)
  • fetch-depth 0 needed for lint job (a108986)
  • main workflow improvements (#9784) (4cc6f4c)
  • only run tests when needed via needs_tests filter (#9781) (cb691e0)
  • post-release-templates assign PR to user that triggered (ef8d3c9)
  • post-release-templates always use latest tag with workflow_dispatch (28c6b2a)
  • use PAT for post-release-templates (c2ff9b1)
  • ensure clean all script does not error after retrying step, by installing globby and chalk globally (#9745) (84a5b40)
  • ensure triage actions work for PRs from forks (12a8bba)

🏡 Chores

  • cpa: updates .env.example env vars along side .env vars based on selected DB (#9757) (1aa23d3)
  • richtext-lexical: remove outdated custom block component examples (#9754) (61a4656)
  • templates: migrate to new richtext component in website template (#9615) (89db8fb)
  • translations: improved serbian translations for the lexical editor (#9795) (10eab87)
  • ui: expose onInputChange from react-select in SelectInput component (#9728) (8f785e1)

v3.4.0

04 Dec 15:39
0ca473e
Compare
Choose a tag to compare

v3.4.0 (2024-12-04)

🚀 Features

  • adds configurable expiration prop for password reset tokens (#9710) (9bffa09)

🐛 Bug Fixes

  • hidden and disabled fields cause incorrect field paths (#9680) (a53c1d5)
  • join field description, custom components and loading state (#9703) (67179a7)
  • error after view is left idle on edit views (#9709) (fbb59ba)
  • copy data from locale transaction error (#9673) (d047f01)
  • richtext-lexical: ensure hooks from sub-fields receive document data and doc props, and not node data and doc props (#9406) (50823be)
  • ui: copy to locale incorrect label when locale label is defined as object (#9705) (18f9f35)

📚 Documentation

📝 Templates

  • vercel migrations (#9730) (32f0f34)
  • website template copy code button darkmode behavior (#9715) (fd9a007)
  • vercel website template migrations wrong adapter import (#9708) (01d5746)
  • website: add sitemap support to website template (#9727) (fce210b)
  • website: add new favicons and og images to website template (#9716) (1bd689b)
  • website: website remove maxDepth from references in link field (#9702) (d2007b1)

⚙️ CI

  • template bump workflow (#9733) (f5aad49)
  • create separate post-release-templates workflow (0c34f27)
  • pin specific github-releases-to-discord version (7bd1a16)

🏡 Chores

  • adds jsdocs for auth.forgotPassword.expiration prop (#9739) (c7218c0)
  • fix broken links in collections.mdx (#9697) (2ef7de5)
  • workflow rename (188466d)
  • change deprecation warning for getPayloadHMR to warning (#9700) (643c92d)
  • next: remove unused sanitizeEditViewProps fn (#9569) (92a01c2)
  • templates: add initial migrations for vercel with website template (#9706) (3f32224)

🤝 Contributors

v3.3.0

03 Dec 18:00
a6ba9e3
Compare
Choose a tag to compare

v3.3.0 (2024-12-03)

🚀 Features

  • disableLocalStrategy with auth fields still enabled (#9579) (6104fe5)
  • export built-in field validations (#9622) (519752f)
  • examples: add custom server example [skip-lint] (#9641) (fdfa07b)
  • ui: adds beforeInput & afterInput props for arrays, blocks, collapsible, group, radio, & relationship fields. (#9674) (58b7415)
  • ui: upgrade react-datepicker dependency from 6.2.0 to 7.5.0 (#9654) (9d72408)
  • ui: export CodeEditor (#9650) (963387f)
  • ui: export TabsProvider and TabComponent (#9647) (f151723)

🐛 Bug Fixes

  • throw proper error if import handler paths are not able to be imported, improve import handler path docs (#9679) (0dbfc23)
  • ensure jobs do not retry indefinitely by default, fix undefined values in error messages (#9605) (a89d544)
  • latest: true version disappear on parallel writes (#9032) (631edd4)
  • duplicate afterRead collection hook call on loginOperation (#9664) (c5fe021)
  • job task output data was not fetched and restored, if task failed previously (#9651) (f076797)
  • prevent workflow destructuring errors for failing tasks (#9649) (4cd31ce)
  • ensure job errors are saved in payload (#9644) (e6ea68e)
  • live-preview: populates localized relationships in client-side live preview (#9617) (3d1a065)
  • next: remove keyboard focus for closed nav items (#9558) (2d2e7d5)
  • plugin-search: delete proper search document when doc has the same value but different relationTo (#9616) (b896507)
  • richtext-lexical: ensure lexical doesn't break if used without react installed (#9620) (030b759)
  • richtext-lexical: add form id to drawSlug (#9613) (9892303)
  • translations: changes rs and rs-Latin dateFNSkey to proper locale instead of en-US (#9621) (2b4522b)
  • ui: data disappearing when form state updates in globals (#9682) (d1de106)
  • ui: properly animates height for dynamically rendered children (#9665) (d04cea1)
  • ui: upgrade sonner from 1.5.0 to 1.7.0 (#9666) (24c75b0)
  • ui: upgrade react-select, fixes type issues with select input (#9653) (73e0e25)

🛠 Refactors

  • deprecates params and search params contexts (#9581) (edc04ae)

📚 Documentation

  • add payload.auth to local api (#9632) (cf34d3a)
  • add upgrade from previous beta section to migration guide (#9642) (1e8c9d3)
  • fix links to /access-control/overview (#9619) (bc2d7c9)
  • adds missing comma to example config in localization.mdx (#9618) (aa5dd8a)

⚙️ CI

  • allow more commit types in release notes (#9677) (e4c3c5b)
  • add back CI-level automatic retrying for failing int and e2e tests (#9652) (0b445c8)
  • add github-releases-to-discord (702df1f)
  • small tweaks to post-release (f150a68)

🏡 Chores

  • upgrade all dependencies used to build payload (swc, esbuild, react compiler, babel) (#9658) (877b899)
  • upgrade all react and next-related packages (#9655) (71ba4a8)
  • add contributor count badge to readme (0716128)
  • examples: migrates form-builder example to 3.0 (#9681) (40f5c72)
  • scripts: fix generate template variations script (#9671) (5b3079a)

🤝 Contributors

v3.2.2

29 Nov 18:07
07e40d3
Compare
Choose a tag to compare

v3.2.2 (2024-11-29)

🚀 Features

  • richtext-lexical: fully-typed blocks in JSX serializer (#9554) (519bb79)

🐛 Bug Fixes

  • add generic to LabelFunction to prevent type error for custom translation keys (#9335) (27eeac2)
  • do not send admin dependencies to client (#9583) (3da9be0)
  • incorrect formState after doc save (#9573) (4b302f2)
  • plugin-sentry: capture non APIError errors to sentry (#9595) (61a51ca)
  • richtext-lexical: allow exiting the RTE with the keyboard in Firefox (#8654) (3c35d81)
  • richtext-lexical: various JSX converter issues (#9570) (17c7945)
  • ui: ensure UI is reactive to HMR changes, without having to refresh the page (#9602) (c4327f2)
  • ui: css is not defined error in production build (#9603) (36a6a19)
  • ui: retains search params when navigating back (#9576) (3961223)
  • ui: ensure Form submit button only uses onClick handler when needed, as that was causing issues with password manager extensions (#9572) (ca07c9f)

🤝 Contributors

v3.2.1

27 Nov 03:35
be59d52
Compare
Choose a tag to compare

v3.2.1 (2024-11-27)

🐛 Bug Fixes

  • plugin-search: missing copyfiles script, incorrect scss import (#9552) (6af4dee)

🤝 Contributors

v3.2.0

27 Nov 01:46
c8bee29
Compare
Choose a tag to compare

v3.2.0 (2024-11-27)

🚀 Features

  • adds ability to copy data from across locales (#8203) (601759d)
  • deprecates react-animate-height in favor of native css (#9456) (0757e06)
  • plugin-search: added support for reindexing collections on demand (#9391) (defa13e)
  • richtext-lexical: export hasText helper (#9484) (21db058)
  • richtext-lexical: lexical => JSX converter (#8795) (bffd98f)

⚡ Performance

  • faster page navigation by speeding up createClientConfig, speed up version fetching, speed up lexical init. Up to 100x faster (#9457) (fd0ff51)

🐛 Bug Fixes

  • utilizes override access false (#9550) (2248be4)
  • overrides entity visibility within drawers (#9546) (5d18a52)
  • allows for emails to be non unique when allowEmailLogin is false (#9541) (67a9d66)
  • skip validation of where query paths from access result (#9349) (a9f511d)
  • corrects localizer positioning in RTL mode (#9494) (910b681)
  • next: properly threads field permissions through versions diff (#9543) (f19053e)
  • plugin-form-builder: allow overrides to the payment fields group (#9522) (71c2f63)
  • plugin-seo: enforce readonly on the client (#9536) (44c0cdb)
  • richtext-lexical: prevent use of text formats whose features were not enabled (#9507) (90f893a)
  • templates: website priority with loading lazy on medium hero error (#9537) (dac42ff)
  • ui: remove overflow hidden from app-header wrappers since it breaks any popout elements (#9525) (82145f7)

🤝 Contributors

v3.1.1

25 Nov 21:49
058bd02
Compare
Choose a tag to compare

v3.1.1 (2024-11-25)

🚀 Features

  • templates: website template performance improvements (#9466) (aa1d300)
  • templates: website optimisations for image sizes and loading (#9447) (be8cd7f)

⚡ Performance

  • flattenedFields collection/global property, remove deep copying in validateQueryPaths (#9299) (cae300e)

🐛 Bug Fixes

  • incorrect locale registration in datepicker (#9516) (6ffd4c7)
  • improper spread of list preferences (#9510) (f136a7d)
  • correct migrations sorting in getMigrations (#9330) (e176b8b)
  • run queues via the /payload-jobs/run endpoint without workflows (#9509) (b96475b)
  • ensure deleteJobOnComplete property for jobs works (#9283) (7eb388d)
  • db-mongodb: sanitizeRelationshipIDs named tabs within tabs (#9400) (b5f89d5)
  • db-postgres: allow to clear select fields with hasMany: true (#9464) (e5cc915)
  • templates: website template firefox logo fix and images fix on vercel (#9459) (23d54a7)
  • templates: vercel website template payload config regression (#9455) (09abebd)
  • templates: fixes imports in website template from @payloadcms/ui to be direct (#9451) (90fedbc)
  • translations: add sl to acceptedLanguages (#9506) (0c7e418)
  • ui: prevents column reset on sort (#9517) (8383426)
  • ui: z-index on react-select menu (#9512) (af096a3)

🤝 Contributors

v3.1.0

22 Nov 16:59
65ac739
Compare
Choose a tag to compare

v3.1.0 (2024-11-22)

🚀 Features

  • add skip and force accept flags to migration commands (#8843) (fb3242d)
  • richtext-lexical: more powerful custom Block RSCs, improved selection handling (#9422) (9e31e17)
  • richtext-lexical: allow customizing maxActiveItems for toolbar groups (#9417) (38de760)
  • richtext-lexical: export lexical drawer hooks (#9415) (3b68671)
  • templates: update website styles and new home hero image (#9413) (2036a56)

🐛 Bug Fixes

  • invalid payload.collections type (#9414) (91dcf6d)
  • unable to load documents with non-standard ids (#9407) (ee1a91e)
  • error when opening admin panel without any permissions (#9392) (9470f9b)
  • db-postgres: joins with versions and hasMany relationship (#9370) (d499de1)
  • live-preview: client-side live preview cannot clear all array rows (#9439) (ae6c71b)
  • next: threads server props to custom providers (#9412) (f5683b0)
  • next: [email protected] compatibillity for turbopack warnings patch (#9341) (f2205d1)
  • richtext-lexical: error when changing block collapsed state in rare cases (#9421) (b9cc4d4)
  • richtext-lexical: slash menu from + button did not trigger item select action (#9420) (a891e98)
  • richtext-lexical: slash menu query doesn't disappear after selecting slash menu item (#9396) (3d0424b)
  • richtext-lexical: preserve indent and text-align when converting Lexical <-> HTML (#9165) (0960290)
  • templates: website template breaking change by renaming hero image to jpg (#9416) (18b139b)
  • ui: add disabled attribute to blocks drawer toggler (#9424) (27acdae)
  • ui: stale server components when rows are moved (#9410) (e3866c4)
  • ui: error when collapsing sidebar groups (#9393) (90e37fe)

🤝 Contributors