Skip to content

feat(richtext-lexical): upgrade lexical from 0.27.2 to 0.28.0#11764

Merged
AlessioGr merged 4 commits intomainfrom
chore/upgrade-lexical-0.28.0
Mar 19, 2025
Merged

feat(richtext-lexical): upgrade lexical from 0.27.2 to 0.28.0#11764
AlessioGr merged 4 commits intomainfrom
chore/upgrade-lexical-0.28.0

Conversation

@AlessioGr
Copy link
Copy Markdown
Member

This upgrades lexical from 0.27.2 to 0.28.0, and ports over relevant changes from the lexical playground.

@AlessioGr AlessioGr merged commit 240730f into main Mar 19, 2025
78 checks passed
@AlessioGr AlessioGr deleted the chore/upgrade-lexical-0.28.0 branch March 19, 2025 20:11
@github-actions
Copy link
Copy Markdown
Contributor

🚀 This is included in version v3.29.0

kendelljoseph pushed a commit that referenced this pull request Mar 31, 2025
This upgrades lexical from 0.27.2 to 0.28.0, and ports over relevant
changes from the lexical playground.
GermanJablo added a commit that referenced this pull request Mar 2, 2026
## Summary

Upgrades the lexical dependency from 0.35.0 to 0.41.0.

Keeping up with Lexical releases avoids accumulating too large a gap,
which makes future upgrades risky and time-consuming. This upgrade also
brings in the upstream `normalizeMarkdown` fix
([facebook/lexical#7812](facebook/lexical#7812)),
which means we can eventually drop our vendored copy of that function.

If you installed lexical manually, update it to 0.41.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](https://payloadcms.com/docs/rich-text/custom-features) for details.

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

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

## Lexical Breaking Changes

The following Lexical releases contain breaking changes. We recommend
reading them if you're using Lexical APIs directly
(`@payloadcms/richtext-lexical/lexical/*`).

- [v0.41.0](https://github.com/facebook/lexical/releases/tag/v0.41.0) —
`--lexical-indent-base-value` CSS custom property is now only read from
the editor root element, not from indented elements. **Payload already
handles this change internally** — no action required.
- [v0.39.0](https://github.com/facebook/lexical/releases/tag/v0.39.0) —
`ElementNode` JSON serialization: `textFormat` and `textStyle` are now
only serialized when necessary (when the node has no direct TextNode
children). May affect code that reads these properties from serialized
data.
- [v0.38.0](https://github.com/facebook/lexical/releases/tag/v0.38.1) —
Static transforms from superclasses are now always applied. Table
selection handler priorities lowered from CRITICAL to HIGH.
- [v0.36.1](https://github.com/facebook/lexical/releases/tag/v0.36.1) —
`DecoratorNode.decorate()` return type widened to `null | T`.
Collaboration context changes (not used by Payload).

None of these breaking changes require action from Payload users under
normal usage.

## Changes

- Bump all `@lexical/*` and `lexical` from 0.35.0 to 0.41.0
- Update `lexicalTargetVersion` constant
- Move `--lexical-indent-base-value` CSS variable from
`.LexicalEditorTheme__indent` to the `.LexicalEditorTheme` root selector
(v0.41.0 breaking change)
- Update `textFormat` test expectations for inline code paragraphs
(v0.39.0 serialization change)
- Update pnpm-lock.yaml

## Previous Lexical Upgrades

- [#13715](#13715) — 0.34.0 →
0.35.0
- [#13622](#13622) — 0.28.0 →
0.34.0
- [#11764](#11764) — 0.27.2 →
0.28.0
- [#11564](#11564) — 0.21.0 →
0.27.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants