Releases: payloadcms/payload
Release v2.8.2
2.8.2 (2024-01-16)
Features
- db-postgres: support drizzle logging config (#4809) (371353f)
- plugin-form-builder: add validation for form ID when creating a submission (#4730)
- plugin-seo: add support for interfaceName and fieldOverrides (#4695)
Bug Fixes
- db-mongodb: mongodb versions creating duplicates (#4825) (a861311)
- db-mongodb: transactionOptions=false typeErrors (82383a5)
- db-postgres: Remove duplicate keys from response (#4747) (eb9e771)
- db-postgres: validateExistingBlockIsIdentical with arrays (3b88adc)
- db-postgres: validateExistingBlockIsIdentical with other tables (0647c87)
- plugin-seo: fix missing spread operator in URL generator function (#4723)
- removes max-width from field-types class & correctly sets it on uploads (#4829) (ee5390a)
Release v2.8.0
2.8.0 (2024-01-12)
Features
- allow custom config properties in blocks (#4766) (d92af29)
- logger: show local time (#4663) (493fde5)
- plugin-cloud: use resend smtp instead of custom transport (#4746) (5cfde54)
- plugin-seo: add fr translations (#4774) (4319fe1)
- plugin-seo: remove support for payload <2.7.0 (#4765) (5e08368)
Bug Fixes
- allow a custom ID field to be nested inside unnamed tabs and rows (#4701) (6d5ac1d)
- build payload without initializing (#4028) (1115387)
- db-mongodb: limit=0 returns unpaginated (63e5c43)
- db-postgres: totalPages value when limit=0 (5702b83)
- migration regression (#4777) (fa3b3dd)
- db-mongodb: migration regression (#4777) (fa3b3dd)
- **db-postgres:**migration regression (#4777) (fa3b3dd)
- passes
draft=true
in fetch for relationships (#4784) (0a259d2) - plugin-form-builder: replaces curly brackets with lexical editor (#4753) (8481846)
- prioritizes
value
key when filtering / querying for relationships (#4727) (d0f7677) - text hasMany validation (#4789) (e2e56a4)
⚠ BREAKING CHANGES
@payloadcms/plugin-seo
- remove support for payload <2.7.0 (#4765)
Release v2.7.0
2.7.0 (2024-01-09)
Features
- db-mongodb: improve transaction support by passing req to migrations (682eca2)
- db-postgres: improve transaction support by passing req to migrations (555d027)
- hasMany property for text fields (#4605) (f43cf18)
- improve transaction support by passing req to migrations (1d14d9f)
- plugin-seo: add i18n (#4665) (3027a03)
Bug Fixes
- adds objectID validation to isValidID if of type
text
(#4689) (d419275) - allow json field to be saved empty and reflect value changes (#4687) (0fb3a9c)
- custom ids in versions (#4680) (5d15955)
- custom overrides of breadcrumb and parent fields (7db58b4)
- db-mongodb: migration error calling beginTransaction with transactionOptions false (21b9453)
- db-mongodb: querying plan for collections ignoring indexes (#4655) (63bc4ca)
- db-postgres: incorrect results querying json field using exists operator (9d9ac0e)
- db-postgres: migrate down only runs latest batch size (6acfae8)
- db-postgres: query on json properties (ec4d2f9)
- db-postgres: validation prevents group fields in blocks (#4699) (cab6bab)
- non-boolean condition result causes infinite looping (#4579) (a3e7816)
- plugin-form-builder: slate serializer should replace curly braces in links (#4703) (28a3012)
- plugin-nested-docs: breadcrumbsFieldSlug used in resaveSelfAfterCreate hook (a5a91c0)
- plugin-nested-docs: children wrongly publishing draft data (#4692) (5539942)
- plugin-nested-docs: custom parent field slug (635e7c2)
- plugin-nested-docs: parent filterOptions errors when specifying breadcrumbsFieldSlug (c4a4678)
- prevents row overflow (#4704) (9828772)
- relations with number based ids (postgres) show untitled ID: x (1b91408)
- sidebar fields not disabled by access permissions (#4682) (85e38b7)
- unlock user condition always passes due to seconds conversion (#4610) (d543665)
Release v2.6.0
2.6.0 (2024-01-03)
Features
Bug Fixes
- "The punycode module is deprecated" warning by updating nodemailer (00d8480)
- adjusts json field joi schema to allow editorOptions (bff4cf5)
- db-postgres: Wait for transaction to complete on commit (#4582) (a71d37b)
- detect language from request headers accept-language (#4656) (69a9944)
- graphql multiple locales (98890ee)
- navigation locks when modal is closed with esc (#4664) (be3beab)
- req.locale and req.fallbackLocale get reassigned in local operations (aa048d5)
- resets actions array when navigating out of view with actions (#4585) (5c55231)
- richtext-lexical: z-index issues (#4570) (8015e99)
- tab field error when using the same interface name (#4657) (f1fa374)
Release v2.5.0
2.5.0 (2023-12-19)
Features
- add Chinese Traditional translation (#4372) (50253f6)
- add context to auth and globals local API (#4449) (168d629)
- adds new
actions
property to admin customization (#4468) (9e8f14a) - async live preview urls (#4339) (5f17324)
- pass path to FieldDescription (#4364) (3b8a27d)
- plugin-form-builder: Lexical support (#4487) (c6c5cab)
- prevent querying relationship when filterOptions returns false (#4392) (c1bd338)
- richtext-lexical: improve floating select menu Dropdown classNames (#4444) (9331204)
- richtext-lexical: improve link URL validation (#4442) (9babf68)
- richtext-lexical: lazy import React components to prevent client-only code from leaking into the server (#4290) (5de347f)
- richtext-lexical: Link & Relationship Feature: field-level configurable allowed relationships (#4182) (7af8f29)
- richtext-lexical: link node: change doc data format to be consistent with relationship field (#4504) (cc0ba89)
- richtext-lexical: rename TreeviewFeature into TreeViewFeature (#4520) (c49fd66)
- richtext-lexical: Slate to Lexical converter: add blockquote conversion, convert custom link fields (#4486) (31f8f3c)
- richtext-lexical: Upload html serializer: Output picture element if the image has multiple sizes, improve absolute URL creation (e558894)
Bug Fixes
- adds bg color for year/month select options in datepicker (#4508) (07371b9)
- correctly fetches externally stored files when passing uploadEdits (#4505) (228d45c)
- cursor jumping around inside json field (#4453) (6300037)
- db-mongodb: documentDB unique constraint throws incorrect error (#4513) (05e8914)
- db-postgres: findOne correctly querying with where queries (#4550) (8bc31cd)
- db-postgres: querying nested blocks fields (#4404) (6e9ae65)
- db-postgres: sorting on a not-configured field throws error (#4382) (dbaecda)
- defaultValues computed on new globals (#4380) (b6cffce)
- disallow duplicate fieldNames to be used on the same level in the config (#4381) (a1d66b8)
- ensure ui fields do not make it into gql schemas (#4457) (3a20ddc)
- format fields within tab for list controls (#4516) (2650c70)
- formats locales with multiple labels for versions locale selector (#4495) (8257661)
- graphql schema generation for fields without queryable subfields (#4463) (13e3e06)
- handles null upload field values (#4397) (cf9a370)
- live-preview: populates rte uploads and relationships (#4379) (4090aeb)
- live-preview: sends raw js objects through window.postMessage instead of json (#4354) (03a3872)
- make admin navigation transition smoother (#4217) (eb6572e)
- omit field default value if read access returns false (#4518) (3e9ef84)
- pin ts-node versions which are causing swc errors (#4447) (b9c0248)
- properly spreads collection fields into non-tabbed configs #50 (#51) (7e88159)
- plugin-form-builder: removes use of slate in rich-text serializer (#4451) (3df52a8)
- plugin-nested-docs: properly exports field utilities (#4462) (1cc87bd)
- richtext-*: loosen RichTextAdapter types due to re-occuring ts strict mode errors (#4416) (48f1299)
- richtext-lexical: Blocks field: should not prompt for unsaved changes due to value comparison between null and non-existent props (#4450) (548e78c)
- richtext-lexical: do not add unnecessary paragraph before upload, relationship and blocks nodes (#4441) (5c2739e)
- richtext-lexical: lexicalHTML field not working when used inside of Blocks field (128f9c4)
- richtext-lexical: lexicalHTML field now works when used inside of row fields (#4440) (0421173)
- richtext-lexical: not all types of URLs are validated correctly (ac7f980)
... Release notes are cut-off. Click here to continue reading
...........................................
- ...
Release v2.4.0
2.4.0 (2023-12-06)
Features
- add Chinese Traditional translation (#4372) (50253f6)
- async live preview urls (#4339) (5f17324)
- pass path to FieldDescription (#4364) (3b8a27d)
- richtext-lexical: lazy import React components to prevent client-only code from leaking into the server (#4290) (5de347f)
- richtext-lexical: Link & Relationship Feature: field-level configurable allowed relationships (#4182) (7af8f29)
Bug Fixes
- db-postgres: sorting on a not-configured field throws error (#4382) (dbaecda)
- defaultValues computed on new globals (#4380) (b6cffce)
- handles null upload field values (#4397) (cf9a370)
- live-preview: populates rte uploads and relationships (#4379) (4090aeb)
- live-preview: sends raw js objects through window.postMessage instead of json (#4354) (03a3872)
- simplifies query validation and fixes nested relationship fields (#4391) (4b5453e)
- upload editing error with plugin-cloud (#4170) (fcbe574)
- uploads files after validation (#4218) (65adfd2)
BREAKING CHANGES
- richtext-lexical: lazy import React components to prevent client-only code from leaking into the server (#4290)
⚠️ @payloadcms/richtext-lexical
Most important: If you are updating @payloadcms/richtext-lexical
to v0.4.0 or higher, you will HAVE to update payload
to the latest version as well. If you don't update it, payload likely won't start up due to validation errors. It's generally good practice to upgrade packages prefixed with @payloadcms/
together with payload
and keep the versions in sync.
@payloadcms/richtext-slate
is not affected by this.
Every single property in the Feature
interface which accepts a React component now no longer accepts a React component, but a function which imports a React component instead. This is done to ensure no unnecessary client-only code is leaked to the server when importing Features on a server.
Here's an example migration:
Old:
import { BlockIcon } from '../../lexical/ui/icons/Block'
...
Icon: BlockIcon,
New:
// import { BlockIcon } from '../../lexical/ui/icons/Block' // <= Remove this import
...
Icon: () =>
// @ts-expect-error
import('../../lexical/ui/icons/Block').then((module) => module.BlockIcon),
Or alternatively, if you're using default exports instead of named exports:
// import BlockIcon from '../../lexical/ui/icons/Block' // <= Remove this import
...
Icon: () =>
// @ts-expect-error
import('../../lexical/ui/icons/Block'),
The types for SanitizedEditorConfig
and EditorConfig
have changed. Their respective lexical
property no longer expects the LexicalEditorConfig
. It now expects a function returning the LexicalEditorConfig
. You will have to adjust this if you adjusted that property anywhere, e.g. when initializing the lexical field editor property, or when initializing a new headless editor.
The following exports are now exported from the @payloadcms/richtext-lexical/components
subpath exports instead of @payloadcms/richtext-lexical
:
ToolbarButton
ToolbarDropdown
RichTextCell
RichTextField
defaultEditorLexicalConfig
You will have to adjust your imports, only if you import any of those properties in your project.
Release v2.3.1
2.3.1 (2023-12-01)
Bug Fixes
- ensure doc controls are not hidden behind lexical field (#4345) (bea79fe)
- query validation on relationship fields (#4353) (fe888b5)
- richtext-lexical: blocks content may be hidden behind components outside of the editor (#4325) (3e745e9)
- richtext-lexical: Blocks node: incorrect conversion from v1 node to v2 node (ef84a2c)
Release v2.3.0
2.3.0 (2023-11-30)
Features
- add serbian (latin and cyrillic) translations (#4268) (40c8909)
- db-mongodb: search for migrations dir intelligently (530c825)
- db-postgres: search for migrations dir intelligently (308979f)
- live-preview: batches api requests (#4315) (d49bb43)
- relationship sortOptions property (#4301) (224cddd)
- support migrations with js files (2122242)
- support OAuth 2.0 format Authorization: Bearer tokens in headers (c1eb9d1)
- useDocumentEvents (#4284) (9bb7a88)
Bug Fixes
- db-postgres: allow for nested block fields to be queried (#4237) (cd07873)
- db-postgres: error saving nested arrays with versions (#4302) (3514bfb)
- duplicate documents with required localized fields (#4236) (9da9b1f)
- incorrect key property in Tabs field component (#4311) (3502ce7), closes #4282
- live-preview-react: removes payload from peer deps (7e1052f)
- live-preview: compounds merge results (#4306) (381c158)
- live-preview: property resets rte nodes (#4313) (66679fb)
- live-preview: re-populates externally updated relationships (#4287) (57fc211)
- live-preview: removes payload from peer deps (b4af95f)
- properly exports useDocumentsEvents hook (#4314) (5420963)
- properly sets tabs key in fieldSchemaToJSON (#4317) (9cc88bb)
- richtext-lexical: HTML Converter field not working inside of tabs (#4293) (5bf6493)
- richtext-lexical: re-use payload population logic to fix population-related issues (#4291) (094d02c)
- richtext-slate: add use client to top of tsx files importing from payload core (#4312) (d4f28b1)
BREAKING CHANGES
⚠️ @payloadcms/richtext-lexical
The SlashMenuGroup
and SlashMenuOption
classes have changed. If you have any custom lexical Features which are adding new slash menu entries, this will be a breaking change for you. If not, no action is required from your side.
Here are the breaking changes and how to migrate:
- The
SlashMenuOption
's first argument is now used as akey
and not as a display name. Additionally, a new, optionaldisplayName
property is added which will serve as the display name. Make sure yourkey
does not contain any spaces or special characters. - The
title
property ofSlashMenuGroup
has been replaced by a new, mandatorykey
and an optionaldisplayName
property. To migrate, you will have to remove thetitle
property and add akey
property instead - make sure you do not use spaces or special characters in thekey
. - Additionally, if you have custom styles targeting elements inside of slash or floating-select-toolbar menus, you will have to adjust those too, as the CSS classes changed
Release v2.2.2
2.2.2 (2023-11-27)
Features
Bug Fixes
- number field validation (#4233) (19fcfc2)
- passes date options to the react-datepicker in filter UI, removes duplicate options from operators select (#4225) (3d2b62b)
- prevent json data getting reset when switching tabs (#4123) (1dcd3a2)
- transactions broken within doc access (443847e)
- typo in polish translations (#4234) (56a4692)