Releases: payloadcms/payload
3.0.0-beta.23
3.0.0-beta.23 (2024-05-02)
Features
Bug Fixes
- reset password validations (#6153) (c0ae287)
- ui: watch "where" query param inside route and reset WhereBuilder (#6184) (a2b92aa)
Contributors
- Elliot DeNolf (@denolfe)
- Paul (@paulpopus)
- Jarrod Flesch (@JarrodMFlesch)
- Patrik (@PatrikKozak)
- Friggo (@MrFriggo)
3.0.0-beta.22
3.0.0-beta.22 (2024-05-02)
Bug Fixes
- templates: adds back missing CSS import in blank 3.0 template (#6183) (6d642fe)
- next: ensures admin access only blocks admin routes (3290376)
Contributors
- Yiannis Demetriades (@ydemetriades)
- Jacob Fletcher (@jacobsfletch)
- Alessio Gravili (@AlessioGr)
- Wilson (@WilsonLe)
- Tylan Davis (@tylandavis)
- Paul (@paulpopus)
v3.0.0-beta.21
3.0.0-beta.21 (2024-05-01)
Features
- richtext-lexical: various validation improvements (#6163) (d8f91cc)
- richtext-lexical: add validation to link and upload nodes (8829fba)
- richtext-lexical: link node: disable client-side link validation. This allows overriding validation behavior by providing your own url field to the Link feature. (01f38c4)
- richtext-lexical: change link fields handling (#6162) (5a82f34)
- richtext-lexical: initialize lexical during sanitization (#6119) (d9bb51f)
- richtext-lexical: implement relationship node click and delete/backspace handling (#6147) (181f82f)
- implement resend rest email adapter (#5916) (3d50caf)
Bug Fixes
- templates: updates payload app files (#6172) (04f1df8)
- deps: move file-type to deps (#6171) (1c490ae)
- various loader issues (#6090) (568b074)
- add missing error logger to buildFormState error catch (10b99ce)
- richtext-slate: do not add empty fields group if no custom fields are added (5420d88)
- richtext-lexical: floating toolbar caret positioned incorrectly for some line heights (#6149) (9a636a3)
- richtext-lexical: drag and add block handles disappear too quickly for smaller screen sizes. (#6144) (6a9cde2)
- blocks non-admin users from admin access (#6127) (4d7ef58)
- importWithoutClientFiles not working due to incorrect import path used (cd5e8d7)
- loader: typescript module resolver not resolving to source path of symlinked module (fa2083f)
BREAKING CHANGES
This will now display errors if you're previously had invalid link or upload fields data - for example if you have a required field added to an uploads node and did not provide a value to it every time you've added an upload node
- Drawer fields are no longer wrapped in a
fields
group. This might be breaking if you depend on them being in a field group in any way - potentially if you use custom link fields. This does not change how the data is saved- If you pass in an array of custom fields to the link feature, those were previously added to the base fields. Now, they completely replace the base fields for consistency. If you want to ADD fields to the base fields now, you will have to pass in a function and spread
defaultFields
- similar to how adding your own features to lexical worksExample Migration for ADDING fields to the link base fields:
Previous:
LinkFeature({ fields: [ { name: 'rel', label: 'Rel Attribute', type: 'select', hasMany: true, options: ['noopener', 'noreferrer', 'nofollow'], admin: { description: 'The rel attribute defines the relationship between a linked resource and the current document. This is a custom link field.', }, }, ], }),Now:
LinkFeature({ fields: ({ defaultFields }) => [ ...defaultFields, { name: 'rel', label: 'Rel Attribute', type: 'select', hasMany: true, options: ['noopener', 'noreferrer', 'nofollow'], admin: { description: 'The rel attribute defines the relationship between a linked resource and the current document. This is a custom link field.', }, }, ], }), "
- sanitizeFields is now an async function
- the richText adapters now return a function instead of returning the adapter directly"
v3.0.0-beta.20
What's Changed
- fix(db-postgres): use locales suffix by @DanRibbens in #6032
- docs: new packages by @denolfe in #6041
- fix: version restoration by @JarrodMFlesch in #6040
- ci: app build with packed by @denolfe in #6051
- fix: properly handle external file url by @denolfe in #6060
- fix(deps): dedupes react by @jacobsfletch in #6064
- fix: bulk publish from collection list by @DanRibbens in #6065
- fix: formData handling on Vercel by @JarrodMFlesch in #6067
- fix: correct createPayloadRequest routeParams by @JarrodMFlesch in #6059
- fix: file uploads, broken import path by @JarrodMFlesch in #6069
- fix: issue with dupplicate ':' in email links by @paulpopus in #6086
- fix(richtext-lexical): type errors for FeatureProviderServer with typescript strict mode by @AlessioGr in #6091
- docs: storage-* and plugin-cloud-storage updates by @denolfe in #6096
- feat(richtext-lexical)!: upgrade lexical from 0.13.1 to 0.14.5 and backport other changes by @AlessioGr in #6095
- fix: conditions throwing errors break form state by @JarrodMFlesch in #6113
- fix(next,ui): properly sets document operation for globals by @jacobsfletch in #6116
- fix: validate user slug is an auth-enabled collection by @denolfe in #6118
- test: add test email adapter, use for all tests by default by @denolfe in #6120
- fix: logout-inactivity route was 404ing by @jmikrut in #6121
- fix: local req missing url headers by @jmikrut in #6126
⚠ BREAKING CHANGES:
@payloadcms/richtext-lexical
Upgrade lexical from 0.13.1 to 0.14.5 and backport other changes by @AlessioGr in #6095
- Lexical may introduce breaking changes in their updates. Please consult their changelog. One breaking change I noticed is that the SerializedParagraphNode now has a new, required textFormat property.
- Now that lexical supports ESM, all CJS-style imports have been changed to ESM-style imports. You may have to do the same in your codebase if you import from lexical core packages
Full Changelog: v3.0.0-beta.18...v3.0.0-beta.20
v2.14.2
v3.0.0-beta.18
What's Changed
- fix: bulk publish by @DanRibbens in #6007
- fix(ui): renders stay logged in modal by @jacobsfletch in #6009
- fix(next): ensures create-first user works by @jmikrut in #6020
- fix(db-postgres): fully functional dbNames by @jmikrut in #6023
- fix(db-postgres): postgres version id bug by @jmikrut in #6026
- fix: disable api key beta by @DanRibbens in #6021
Full Changelog: v3.0.0-beta.15...v3.0.0-beta.18
v2.14.1
v3.0.0-beta.15
What's Changed
Features
- feat!: removed getDataAndFile and getLocales from createPayloadRequest in favour of new utilities addDataAndFileToRequest and addLocalesToRequest by @paulpopus in #5999
- feat(richtext-lexical)!: rework population behavior and allow richText adapter field hooks by @AlessioGr in #5893
Fixes
- fix: issues creating the first user by @paulpopus in #5986
- fix: type collection config missing dbName by @DanRibbens in #5983
- fix(db-postgres): postgres uuid by @denolfe in #6003
⚠ BREAKING CHANGES
- feat!: removed getDataAndFile and getLocales from createPayloadRequest in favour of new utilities addDataAndFileToRequest and addLocalesToRequest by @paulpopus in #5999
Custom handlers will no longer resolve data
, locale
and fallbackLocale
for you. Instead you can use our provided utilities from the next
package
// ❌ Before
{
path: '/whoami/:parameter',
method: 'post',
handler: async (req) => {
return Response.json({
name: req.data.name, // data will be undefined
// locales will be undefined
fallbackLocale: req.fallbackLocale,
locale: req.locale,
})
}
}
// ✅ After
import { addDataAndFileToRequest } from '@payloadcms/next/utilities'
import { addLocalesToRequest } from '@payloadcms/next/utilities'
{
path: '/whoami/:parameter',
method: 'post',
handler: async (req) => {
// mutates req, must be awaited
await addDataAndFileToRequest(req)
// mutates req
addLocalesToRequest(req)
return Response.json({
name: req.data.name, // data is now available
fallbackLocale: req.fallbackLocale, // locales available
locale: req.locale,
})
}
}
Full Changelog: v3.0.0-beta.14...v3.0.0-beta.15
v2.14.0
2.14.0 (2024-04-24)
Features
Bug Fixes
- bulk publish (#6006) (c11600a)
- db-postgres: extra version suffix added to table names (#5939) (bd8b512)
- db-postgres: Fixes nested groups inside nested blocks (#5882) (e258866)
- db-postgres: row table names were not being built properly - v2 (#5961) (9152a23)
- header filters (#5997) (ad01c67)
- min/max attributes missing from number input (#5779) (985796b)
- removes
equals
¬_equals
operators from fields withhasMany
(#5885) (a8c9625)
v3.0.0-beta.14
v3.0.0-beta.14
⚠ BREAKING CHANGES
@payloadcms/db-postgres
- fix(db-postgres): shortens relation names (#5976)
Shortens the name of auto-generated Postgres relations. Should dramatically reduce errors for users in PG. Also handles an issue with HMR in Postgres by properly destroying the database adapter before re-initializing it.
This change will require anyone running @payloadcms/db-postgres
to create a new migration and run it against their database.
- Run your application in development
pnpm payload migrate:create
will generate the new migrationpnpm payload migrate
will run the migration against your DB