Skip to content

Commit 07f5c06

Browse files
AlessioGrCopilot
andauthored
feat!: delete richtext-slate (#16359)
**BREAKING:** This PR removes richtext-slate - starting in Payload 4.0, richtext-lexical is our only supported rich text editor. If you're still using richtext-slate, please migrate to lexical **before** upgrading to 4.0. If you're not using richtext-slate, this change will not affect you Slate has been deprecated for a while and we haven't been investing in it. Removing it cuts a lot of legacy code, reduces the maintenance overhead and lets us focus rich text work on a single editor going forward. ## What's removed - **`@payloadcms/richtext-slate`** package - deleted entirely. It will no longer be published. - **Slate → Lexical migration utilities** inside `@payloadcms/richtext-lexical/migrate` - **`payload-plugin-lexical` migration utilities** - **Docs** — all Slate references pruned from the documentation ## What stays - The **rich text adapter pattern** is unchanged - `editor: lexicalEditor({})` continues to work exactly as before, and third-party adapters following the same interface continue to be supported. ## Migration path for users If you're still on Slate, **do not upgrade to 4.0 yet.** Stay on the latest 3.x release and follow the [slate => lexical migration guide](https://payloadcms.com/docs/rich-text/migration). --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1214207842694534 --------- Co-authored-by: Copilot <copilot@github.com>
1 parent 571ac4c commit 07f5c06

274 files changed

Lines changed: 4855 additions & 24377 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/1.bug_report_v3.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ body:
5656
- 'plugin: nested-docs'
5757
- 'plugin: redirects'
5858
- 'plugin: richtext-lexical'
59-
- 'plugin: richtext-slate'
6059
- 'plugin: search'
6160
- 'plugin: sentry'
6261
- 'plugin: seo'

.github/workflows/pr-title.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ jobs:
7171
plugin-stripe
7272
richtext-\*
7373
richtext-lexical
74-
richtext-slate
7574
sdk
7675
storage-\*
7776
storage-azure

.idea/payload.iml

Lines changed: 1 addition & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Payload is a monorepo structured around Next.js, containing the core CMS platfor
1515
- `packages/db-*` - Database adapters (MongoDB, Postgres, SQLite, Vercel Postgres, D1 SQLite)
1616
- `packages/drizzle` - Drizzle ORM integration
1717
- `packages/kv-redis` - Redis key-value store adapter
18-
- `packages/richtext-*` - Rich text editors (Lexical, Slate)
18+
- `packages/richtext-*` - Rich text editors (Lexical)
1919
- `packages/storage-*` - Storage adapters (S3, Azure, GCS, Uploadthing, Vercel Blob, R2)
2020
- `packages/email-*` - Email adapters (Nodemailer, Resend)
2121
- `packages/plugin-*` - Additional functionality plugins

docs/getting-started/concepts.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,9 @@ This is the UI library that Payload's Admin Panel uses. All components are expor
162162

163163
You can choose which Database Adapter you'd like to use for your project, and no matter which you choose, the entire data layer for Payload is contained within these packages. You can only use one at a time for any given project.
164164

165-
`@payloadcms/richtext-lexical`, `@payloadcms/richtext-slate`
165+
`@payloadcms/richtext-lexical`
166166

167-
Payload's Rich Text functionality is abstracted into separate packages and if you want to enable Rich Text in your project, you'll need to install one of these packages. We recommend Lexical for all new projects, and this is where Payload will focus its efforts on from this point, but Slate is still supported if you have already built with it.
167+
Payload's Rich Text functionality is abstracted into a separate package. If you want to enable Rich Text in your project, you'll need to install this package.
168168

169169
<Banner type="info">
170170
**Note:** Rich Text is entirely optional and you may not need it for your

docs/migration-guide/overview.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st
5252

5353
- @payloadcms/db-mongodb
5454
- @payloadcms/db-postgres
55-
- @payloadcms/richtext-slate
5655
- @payloadcms/richtext-lexical
5756
- @payloadcms/plugin-form-builder
5857
- @payloadcms/plugin-nested-docs

docs/rich-text/migration.mdx

Lines changed: 0 additions & 283 deletions
This file was deleted.

docs/rich-text/overview.mdx

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,11 @@ order: 10
66
title: Rich Text Editor
77
---
88

9-
<Banner type="success">
9+
Payload's rich text editor powers the [rich text field](/docs/fields/rich-text). It is built on top of [Lexical](https://lexical.dev/), Meta's rich text framework, which provides the underlying foundation we extend with Payload-specific features.
1010

11-
This documentation is about our new editor, based on Lexical (Meta's rich text editor). The previous default
12-
editor, based on Slate, has been deprecated and will be removed in 4.0. You can read [its documentation](/docs/rich-text/slate),
13-
or the [migration guide](/docs/rich-text/migration) to migrate from Slate to Lexical (recommended).
11+
We aim to offer the best editing experience you can imagine: healthy defaults out of the box, paired with the flexibility to customize every detail — from the “/” menu and toolbars (inline or fixed) to inserting any component or subfield you need.
1412

15-
</Banner>
16-
17-
The editor is the most important property of the [rich text field](/docs/fields/rich-text).
18-
19-
As a key part of Payload, we are proud to offer you the best editing experience you can imagine. With healthy
20-
defaults out of the box, but also with the flexibility to customize every detail: from the “/” menu
21-
and toolbars (whether inline or fixed) to inserting any component or subfield you can imagine.
22-
23-
To use the rich text editor, first you need to install it:
13+
To use the rich text editor, first install it:
2414

2515
```bash
2616
pnpm install @payloadcms/richtext-lexical

0 commit comments

Comments
 (0)