v0.37.0
facebook/lexicalv0.37.0Oct 11, 2025by etrepum
AI Summary
Ad-hoc release primarily to update happy-dom dependency for CVE, includes initial collab v2 implementation, new ephemeral node concept, and bug fixes.
Key Highlights
- Happy-dom update to v20 to address CVE reports
- Initial collab v2 implementation
- New ephemeral node concept for local-only mutations
- SvelteKit SSR example
- ImageNode caption support for export/import
New Features
- Initial collab v2 implementation with commands for diffing snapshots
- New internal ephemeral node concept
- SvelteKit SSR example (@lexical/headless/dom)
- ImageNode caption support for exportDOM and importDOM
- Keep list marker for markdown round-trip
Full Release Notes
v0.37.0 is an ad-hoc release, primarily to update the happy-dom dependency to address a CVE (#7909 - lexical's usage of this package was not susceptible) but also includes several bug fixes. This was marked as a minor release because it includes an experimental collab v2 implementation which is not yet ready for use (see #7616 #7903) ## Highlights Core: - #7900 โ Fix `$cloneWithProperties` so that it doesn't throw an exception when used in read-only mode - #7904 ๐ Add new (internal) ephemeral node concept for situations where a cloned node is intentionally decoupled from the editor state for mutations that will only have a local effect Examples: - ๐ #7879 New sveltekit ssr example demonstrating the use of @lexical/headless/dom React: - โ #7899 LexicalMenu guard against undefined option when list shrinks Collab: - ๐ #7616 #7903 #7907 #7908 Initial implementation of collab v2 List - ๐ #7892 Keep list marker for markdown round-trip Rich Text: - โ #7902 Fix up/down arrows for node selection Clipboard/Playground: - โ #7900 ImageNode caption support for exportDOM and importDOM - โ #7906 Export ParagraphNode as div role="paragraph" when it contains block DOM (such as the `<figure>` from ImageNode captions) Headless - ๐งน #7909 Update to happy-dom v20 to address CVE reports (lexical's usage was not susceptible) ## What's Changed * v0.36.2 by @etrepum in https://github.com/facebook/lexical/pull/7894 * Update examples for v0.36.2 by @etrepum in https://github.com/facebook/lexical/pull/7896 * [examples] Feature: sveltekit ssr example by @etrepum in https://github.com/facebook/lexical/pull/7879 * [lexical-react] Bug Fix: LexicalMenu guard against undefined option when list shrinks by @MRADULTRIPATHI in https://github.com/facebook/lexical/pull/7899 * [lexical-yjs][lexical-react] Feature: initial implementation of collab v2 by @james-atticus in https://github.com/facebook/lexical/pull/7616 * [lexical-list][lexical-markdown] Feature: Keep list marker for markdown round-trip by @lytion in https://github.com/facebook/lexical/pull/7892 * [lexical-rich-text] Bug fix: up/down arrows for node selection by @fantactuka in https://github.com/facebook/lexical/pull/7902 * [lexical][lexical-clipboard][lexical-playground] Feature: ImageNode caption support for exportDOM and importDOM by @Kepron in https://github.com/facebook/lexical/pull/7900 * [lexical-yjs][lexical-react] Feature: commands for diffing two yjs snapshots in collab v2 by @james-atticus in https://github.com/facebook/lexical/pull/7903 * [lexical][lexical-clipboard][lexical-html][lexical-selection] Feature: Add an internal ephemeral node concept by @etrepum in https://github.com/facebook/lexical/pull/7904 * [lexical-playground] Bug Fix: Export ParagraphNode as div role="paragraph" when it contains block DOM by @etrepum in https://github.com/facebook/lexical/pull/7906 * [lexical-react] Chore: make __shouldBootstrapUnsafe prop optional by @james-atticus in https://github.com/facebook/lexical/pull/7907 * [lexical-yjs] Chore: fix imports of Yjs XML types by @james-atticus in https://github.com/facebook/lexical/pull/7908 * [lexical-headless] Chore: Update to happy-dom v20 by @etrepum in https://github.com/facebook/lexical/pull/7909 ## New Contributors * @MRADULTRIPATHI made their first contribution in https://github.com/facebook/lexical/pull/7899 * @Kepron made their first contribution in https://github.com/facebook/lexical/pull/7900 **Full Changelog**: https://github.com/facebook/lexical/compare/v0.36.2...v0.37.0