Skip to content

Bump the lexical group with 16 updates#929

Merged
samuelpecher merged 1 commit intomainfrom
dependabot/npm_and_yarn/lexical-b34d049b6a
Apr 2, 2026
Merged

Bump the lexical group with 16 updates#929
samuelpecher merged 1 commit intomainfrom
dependabot/npm_and_yarn/lexical-b34d049b6a

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Mar 28, 2026

Bumps the lexical group with 16 updates:

Package From To
@lexical/clipboard 0.41.0 0.42.0
@lexical/code 0.41.0 0.42.0
@lexical/extension 0.41.0 0.42.0
@lexical/history 0.41.0 0.42.0
@lexical/html 0.41.0 0.42.0
@lexical/link 0.41.0 0.42.0
@lexical/list 0.41.0 0.42.0
@lexical/markdown 0.41.0 0.42.0
@lexical/plain-text 0.41.0 0.42.0
@lexical/rich-text 0.41.0 0.42.0
@lexical/selection 0.41.0 0.42.0
@lexical/table 0.41.0 0.42.0
@lexical/utils 0.41.0 0.42.0
lexical 0.41.0 0.42.0
@lexical/dragon 0.41.0 0.42.0
@lexical/text 0.41.0 0.42.0

Updates @lexical/clipboard from 0.41.0 to 0.42.0

Release notes

Sourced from @​lexical/clipboard's releases.

v0.42.0 is a monthly release with a huge number of fixes and features from a lot of new contributors. The most notable fixes are related to tables, links, extensions, and markdown. @lexical/eslint-plugin is now fully compatible with eslint 9+. The production builds are also now generated in an ascii-only format which may considerably reduce memory usage in some deployment environments.

Breaking Changes

Prism highlighting extracted from @lexical/code #8198

Prism highlighting now lives in @lexical/code-prism and the Prism related functionality in @lexical/code is now deprecated. Transitionally, there is a @lexical/code-core package which has the implementation of Lexical's code functionality without a Prism dependency.

Experimental hasFitNestedTables has been moved to the playground #8210

Due to its experimental nature and incomplete implementation, the in-progress hasFitNestedTables functionality has been moved to the playground

New APIs

lexical - $copyNode + LexicalNode.resetOnCopyNodeFrom & NodeState resetOnCopyNode

After $copyNode is used it now calls copiedNode.resetOnCopyNodeFrom(originalNode) which will reset every NodeState that has resetOnCopyNode: true in its configuration. Subclasses can override this method to reset other "ephemeral" state such as whether a ListNodeItem is checked or not.

Note that this does not influence serialization or copy and paste operations, it only affects calls to $copyNode.

@lexical/utils - $insertNodeIntoLeaf

The current behavior RangeSelection.insertNodes can split an inline ElementNode (e.g. a LinkNode) when inserting content, even if that content is also inline and could be a child of the given node. $insertNodeIntoLeaf is now provided to insert a node without splitting any containing nodes.

Highlights

Core:

  • 🧹 #8190 Change EditorThemeClasses from type to interface
  • #8218 Respect CSS scroll-padding in scrollIntoViewIfNeeded
  • #8220 deleteWord now behaves the same as deleteCharacter when at the edge of an ElementNode
  • 🆕 #8221 resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook
  • 🆕 #8219 LexicalEditor RootListener and EditableListener can return unregister callbacks
  • #8222 Consecutive Linebreak insertion now preserves selection format

Code:

  • ⚠️ #8198 Extract Prism highlighting code to @lexical/code-prism and add @lexical/code-core to provide a dependency that does not include Prism. @lexical/code remains backwards compatible with Prism included, but you should migrate to using highlighting from @lexical/code-shiki or @lexical/code-prism.

Devtools:

  • #8230 Clean up strict mode useLexicalCommandsLog behavior

Extension:

  • 🆕 #8202 LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor

Markdown:

  • #8170 Enforce CommonMark flanking rules for trailing spaces

... (truncated)

Changelog

Sourced from @​lexical/clipboard's changelog.

v0.42.0 (2026-03-19)

  • lexical-table Bug Fix handle table selections crossing intoout of nested tables (#8234) Randal
  • lexical-link Feature Merge adjacent LinkNodes with identical attributes (#8236) Achal Jhawar
  • build(deps) bump next from 15.5.11 to 16.1.7 in scriptstestsintegrationfixtureslexical-esm-nextjs (#8232) dependabotbot
  • lexical-rich-text Bug Fix use writable node in HeadingNode.setTag (#8235) Karesansui
  • lexical-devtools-core Bug Fix Clean up strict mode useLexicalCommandsLog behavior (#8230) Bob Ippolito
  • lexical-playground Chore Remove unused code from playground TablePlugin (#8231) Bob Ippolito
  • lexical-extensionlexical-react Feature LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor (#8202) Bob Ippolito
  • lexical-codelexical-marklexical-reactlexical-tablelexical-rich-textlexical-link Bug Fix Add and fix afterCloneFrom implementations (#8229) Bob Ippolito
  • lexical-playground Bug fix make clear formatting work on multiple paragraphs (#8224) Piotr Dbrowski
  • lexical-eslint-plugin Chore update lexicaleslint-plugin for better eslint 9 support, finish jest to vitest migration (#8227) Bob Ippolito
  • lexical Fix Fixing cursor position after inline equation, fix block equations (#8228) Ajinkya Nikam
  • lexical-link Refactor add afterCloneFrom method to LinkNodeAutoLinkNode (#8226) Sergey Gorbachev
  • lexical-list Fix create copies ListNodeListItemNode in split-like operations (#8213) Sergey Gorbachev
  • lexical-website Fix Correct the mistake in the argument in the example on the Updates page (#8225) Sergey Gorbachev
  • lexical-tablelexical-playground Breaking change Move hasFitNestedTables logic to Playground plugin (#8210) Randal
  • lexical Fix Consecutive Linebreak insertion resets selection format (#8222) Ajinkya Nikam
  • lexical-markdownlexical-playground Bug Fix Convert tabs in TabNode at import (#8211) Simon
  • lexical Feature LexicalEditor RootListener and EditableListener can return unregister callbacks (#8219) Bob Ippolito
  • lexicallexical-listlexical-markdown Feature resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook (#8221) Bob Ippolito
  • lexical Bug Fix When the editor starts with an empty list item, pressing ctrlbackspace (deleteWord) should replace the list with a paragraph (#8220) Ajinkya Nikam
  • lexical Bug Fix respect CSS scroll-padding in scrollIntoViewIfNeeded (#8218) Takenosuke Nagata
  • lexical-utilslexical-playground Feature Add insertNodeIntoLeaf and insert deeply DateTimeNode (#8206) Sergey Gorbachev
  • lexical-table Chore add test for mouse leaving browser window during table selection (#8215) Takenosuke Nagata
  • lexical-playground Fix use inline style for LayoutContainerNode import (#8214) ByungGyu-Yu
  • lexical-website Bug Fix Removed blog route from lexical.dev (#8209) Matheus SantAnna
  • lexical-table Refactor Call handleTableSelectionChangeCommand once instead of per-table (#8200) Randal
  • lexical-react Revert revert Remove deprecated ContextMenu, consolidate menu rendering with backward-compatible menuRenderFn (#8199) Michael
  • lexical-table Bug Fix Prevent single-cell table selection after exiting table selection (#8195) Randal
  • lexical-code Breaking Change Extract Prism code highlighting to lexicalcode-prism (with internal module lexicalcode-core to avoid circular import) (#8198) Bob Ippolito
  • lexical-table Bug Fix Improve nested table selection by using monolithic pointer event handling (#8193) Randal
  • lexical-markdown Bug Fix update backslash escape handling to align with CommonMark (#8192) kimseongyu
  • lexical-tablelexical-playground Feature nested tables resize themselves if hasFitNestedTables true (#8183) Randal
  • lexical-table Refactor use monolithic listener for table SELECTIONCHANGECOMMAND and deselection handler (#8187) Randal
  • lexical Chore Change alias from type to interface for EditorThemeClasses (#8190) Sergey Gorbachev
  • lexical-playground Chore Remove legacy-events mode (#8188) Sergey Gorbachev
  • lexical-playground Fix add fallback for dimensionless images to prevent collapse (#8186) Sa-Te
  • lexical-link Bug Fix Enable autolink matching when it unlinked (#8165) Sergey Gorbachev
  • Fix rollup CVE-2026-27606 in example project lockfiles (#8182) Michael
  • lexical Chore Fix rollup CVE-2026-27606 across all lockfiles (#8173) Michael
  • lexical Security Fix isaacsbrace-expansion vulnerability (CVE-2026-25547) (#8175) Michael
  • lexical Chore Fix form-data CVE-2025-7783 in root lockfile (#8174) Michael
  • lexical-markdown Fix enforce CommonMark flanking rules for trailing spaces (#8170) Sa-Te
  • lexical Security Fix qs vulnerability (CVE-2025-15284) (#8176) Michael
  • Fix cross-spawn vulnerability (CVE-2024-21538) by removing child-process-promise (#8177) Michael
  • lexical Chore Fix minimatch CVE-2026-26996 in example projects (#8169) Michael
  • Update examples for v0.41.0 (#8171) Bob Ippolito
  • v0.41.0 (#8166) Bob Ippolito
  • v0.41.0 Lexical GitHub Actions Bot
Commits

Updates @lexical/code from 0.41.0 to 0.42.0

Release notes

Sourced from @​lexical/code's releases.

v0.42.0 is a monthly release with a huge number of fixes and features from a lot of new contributors. The most notable fixes are related to tables, links, extensions, and markdown. @lexical/eslint-plugin is now fully compatible with eslint 9+. The production builds are also now generated in an ascii-only format which may considerably reduce memory usage in some deployment environments.

Breaking Changes

Prism highlighting extracted from @lexical/code #8198

Prism highlighting now lives in @lexical/code-prism and the Prism related functionality in @lexical/code is now deprecated. Transitionally, there is a @lexical/code-core package which has the implementation of Lexical's code functionality without a Prism dependency.

Experimental hasFitNestedTables has been moved to the playground #8210

Due to its experimental nature and incomplete implementation, the in-progress hasFitNestedTables functionality has been moved to the playground

New APIs

lexical - $copyNode + LexicalNode.resetOnCopyNodeFrom & NodeState resetOnCopyNode

After $copyNode is used it now calls copiedNode.resetOnCopyNodeFrom(originalNode) which will reset every NodeState that has resetOnCopyNode: true in its configuration. Subclasses can override this method to reset other "ephemeral" state such as whether a ListNodeItem is checked or not.

Note that this does not influence serialization or copy and paste operations, it only affects calls to $copyNode.

@lexical/utils - $insertNodeIntoLeaf

The current behavior RangeSelection.insertNodes can split an inline ElementNode (e.g. a LinkNode) when inserting content, even if that content is also inline and could be a child of the given node. $insertNodeIntoLeaf is now provided to insert a node without splitting any containing nodes.

Highlights

Core:

  • 🧹 #8190 Change EditorThemeClasses from type to interface
  • #8218 Respect CSS scroll-padding in scrollIntoViewIfNeeded
  • #8220 deleteWord now behaves the same as deleteCharacter when at the edge of an ElementNode
  • 🆕 #8221 resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook
  • 🆕 #8219 LexicalEditor RootListener and EditableListener can return unregister callbacks
  • #8222 Consecutive Linebreak insertion now preserves selection format

Code:

  • ⚠️ #8198 Extract Prism highlighting code to @lexical/code-prism and add @lexical/code-core to provide a dependency that does not include Prism. @lexical/code remains backwards compatible with Prism included, but you should migrate to using highlighting from @lexical/code-shiki or @lexical/code-prism.

Devtools:

  • #8230 Clean up strict mode useLexicalCommandsLog behavior

Extension:

  • 🆕 #8202 LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor

Markdown:

  • #8170 Enforce CommonMark flanking rules for trailing spaces

... (truncated)

Changelog

Sourced from @​lexical/code's changelog.

v0.42.0 (2026-03-19)

  • lexical-table Bug Fix handle table selections crossing intoout of nested tables (#8234) Randal
  • lexical-link Feature Merge adjacent LinkNodes with identical attributes (#8236) Achal Jhawar
  • build(deps) bump next from 15.5.11 to 16.1.7 in scriptstestsintegrationfixtureslexical-esm-nextjs (#8232) dependabotbot
  • lexical-rich-text Bug Fix use writable node in HeadingNode.setTag (#8235) Karesansui
  • lexical-devtools-core Bug Fix Clean up strict mode useLexicalCommandsLog behavior (#8230) Bob Ippolito
  • lexical-playground Chore Remove unused code from playground TablePlugin (#8231) Bob Ippolito
  • lexical-extensionlexical-react Feature LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor (#8202) Bob Ippolito
  • lexical-codelexical-marklexical-reactlexical-tablelexical-rich-textlexical-link Bug Fix Add and fix afterCloneFrom implementations (#8229) Bob Ippolito
  • lexical-playground Bug fix make clear formatting work on multiple paragraphs (#8224) Piotr Dbrowski
  • lexical-eslint-plugin Chore update lexicaleslint-plugin for better eslint 9 support, finish jest to vitest migration (#8227) Bob Ippolito
  • lexical Fix Fixing cursor position after inline equation, fix block equations (#8228) Ajinkya Nikam
  • lexical-link Refactor add afterCloneFrom method to LinkNodeAutoLinkNode (#8226) Sergey Gorbachev
  • lexical-list Fix create copies ListNodeListItemNode in split-like operations (#8213) Sergey Gorbachev
  • lexical-website Fix Correct the mistake in the argument in the example on the Updates page (#8225) Sergey Gorbachev
  • lexical-tablelexical-playground Breaking change Move hasFitNestedTables logic to Playground plugin (#8210) Randal
  • lexical Fix Consecutive Linebreak insertion resets selection format (#8222) Ajinkya Nikam
  • lexical-markdownlexical-playground Bug Fix Convert tabs in TabNode at import (#8211) Simon
  • lexical Feature LexicalEditor RootListener and EditableListener can return unregister callbacks (#8219) Bob Ippolito
  • lexicallexical-listlexical-markdown Feature resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook (#8221) Bob Ippolito
  • lexical Bug Fix When the editor starts with an empty list item, pressing ctrlbackspace (deleteWord) should replace the list with a paragraph (#8220) Ajinkya Nikam
  • lexical Bug Fix respect CSS scroll-padding in scrollIntoViewIfNeeded (#8218) Takenosuke Nagata
  • lexical-utilslexical-playground Feature Add insertNodeIntoLeaf and insert deeply DateTimeNode (#8206) Sergey Gorbachev
  • lexical-table Chore add test for mouse leaving browser window during table selection (#8215) Takenosuke Nagata
  • lexical-playground Fix use inline style for LayoutContainerNode import (#8214) ByungGyu-Yu
  • lexical-website Bug Fix Removed blog route from lexical.dev (#8209) Matheus SantAnna
  • lexical-table Refactor Call handleTableSelectionChangeCommand once instead of per-table (#8200) Randal
  • lexical-react Revert revert Remove deprecated ContextMenu, consolidate menu rendering with backward-compatible menuRenderFn (#8199) Michael
  • lexical-table Bug Fix Prevent single-cell table selection after exiting table selection (#8195) Randal
  • lexical-code Breaking Change Extract Prism code highlighting to lexicalcode-prism (with internal module lexicalcode-core to avoid circular import) (#8198) Bob Ippolito
  • lexical-table Bug Fix Improve nested table selection by using monolithic pointer event handling (#8193) Randal
  • lexical-markdown Bug Fix update backslash escape handling to align with CommonMark (#8192) kimseongyu
  • lexical-tablelexical-playground Feature nested tables resize themselves if hasFitNestedTables true (#8183) Randal
  • lexical-table Refactor use monolithic listener for table SELECTIONCHANGECOMMAND and deselection handler (#8187) Randal
  • lexical Chore Change alias from type to interface for EditorThemeClasses (#8190) Sergey Gorbachev
  • lexical-playground Chore Remove legacy-events mode (#8188) Sergey Gorbachev
  • lexical-playground Fix add fallback for dimensionless images to prevent collapse (#8186) Sa-Te
  • lexical-link Bug Fix Enable autolink matching when it unlinked (#8165) Sergey Gorbachev
  • Fix rollup CVE-2026-27606 in example project lockfiles (#8182) Michael
  • lexical Chore Fix rollup CVE-2026-27606 across all lockfiles (#8173) Michael
  • lexical Security Fix isaacsbrace-expansion vulnerability (CVE-2026-25547) (#8175) Michael
  • lexical Chore Fix form-data CVE-2025-7783 in root lockfile (#8174) Michael
  • lexical-markdown Fix enforce CommonMark flanking rules for trailing spaces (#8170) Sa-Te
  • lexical Security Fix qs vulnerability (CVE-2025-15284) (#8176) Michael
  • Fix cross-spawn vulnerability (CVE-2024-21538) by removing child-process-promise (#8177) Michael
  • lexical Chore Fix minimatch CVE-2026-26996 in example projects (#8169) Michael
  • Update examples for v0.41.0 (#8171) Bob Ippolito
  • v0.41.0 (#8166) Bob Ippolito
  • v0.41.0 Lexical GitHub Actions Bot
Commits

Updates @lexical/extension from 0.41.0 to 0.42.0

Release notes

Sourced from @​lexical/extension's releases.

v0.42.0 is a monthly release with a huge number of fixes and features from a lot of new contributors. The most notable fixes are related to tables, links, extensions, and markdown. @lexical/eslint-plugin is now fully compatible with eslint 9+. The production builds are also now generated in an ascii-only format which may considerably reduce memory usage in some deployment environments.

Breaking Changes

Prism highlighting extracted from @lexical/code #8198

Prism highlighting now lives in @lexical/code-prism and the Prism related functionality in @lexical/code is now deprecated. Transitionally, there is a @lexical/code-core package which has the implementation of Lexical's code functionality without a Prism dependency.

Experimental hasFitNestedTables has been moved to the playground #8210

Due to its experimental nature and incomplete implementation, the in-progress hasFitNestedTables functionality has been moved to the playground

New APIs

lexical - $copyNode + LexicalNode.resetOnCopyNodeFrom & NodeState resetOnCopyNode

After $copyNode is used it now calls copiedNode.resetOnCopyNodeFrom(originalNode) which will reset every NodeState that has resetOnCopyNode: true in its configuration. Subclasses can override this method to reset other "ephemeral" state such as whether a ListNodeItem is checked or not.

Note that this does not influence serialization or copy and paste operations, it only affects calls to $copyNode.

@lexical/utils - $insertNodeIntoLeaf

The current behavior RangeSelection.insertNodes can split an inline ElementNode (e.g. a LinkNode) when inserting content, even if that content is also inline and could be a child of the given node. $insertNodeIntoLeaf is now provided to insert a node without splitting any containing nodes.

Highlights

Core:

  • 🧹 #8190 Change EditorThemeClasses from type to interface
  • #8218 Respect CSS scroll-padding in scrollIntoViewIfNeeded
  • #8220 deleteWord now behaves the same as deleteCharacter when at the edge of an ElementNode
  • 🆕 #8221 resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook
  • 🆕 #8219 LexicalEditor RootListener and EditableListener can return unregister callbacks
  • #8222 Consecutive Linebreak insertion now preserves selection format

Code:

  • ⚠️ #8198 Extract Prism highlighting code to @lexical/code-prism and add @lexical/code-core to provide a dependency that does not include Prism. @lexical/code remains backwards compatible with Prism included, but you should migrate to using highlighting from @lexical/code-shiki or @lexical/code-prism.

Devtools:

  • #8230 Clean up strict mode useLexicalCommandsLog behavior

Extension:

  • 🆕 #8202 LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor

Markdown:

  • #8170 Enforce CommonMark flanking rules for trailing spaces

... (truncated)

Changelog

Sourced from @​lexical/extension's changelog.

v0.42.0 (2026-03-19)

  • lexical-table Bug Fix handle table selections crossing intoout of nested tables (#8234) Randal
  • lexical-link Feature Merge adjacent LinkNodes with identical attributes (#8236) Achal Jhawar
  • build(deps) bump next from 15.5.11 to 16.1.7 in scriptstestsintegrationfixtureslexical-esm-nextjs (#8232) dependabotbot
  • lexical-rich-text Bug Fix use writable node in HeadingNode.setTag (#8235) Karesansui
  • lexical-devtools-core Bug Fix Clean up strict mode useLexicalCommandsLog behavior (#8230) Bob Ippolito
  • lexical-playground Chore Remove unused code from playground TablePlugin (#8231) Bob Ippolito
  • lexical-extensionlexical-react Feature LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor (#8202) Bob Ippolito
  • lexical-codelexical-marklexical-reactlexical-tablelexical-rich-textlexical-link Bug Fix Add and fix afterCloneFrom implementations (#8229) Bob Ippolito
  • lexical-playground Bug fix make clear formatting work on multiple paragraphs (#8224) Piotr Dbrowski
  • lexical-eslint-plugin Chore update lexicaleslint-plugin for better eslint 9 support, finish jest to vitest migration (#8227) Bob Ippolito
  • lexical Fix Fixing cursor position after inline equation, fix block equations (#8228) Ajinkya Nikam
  • lexical-link Refactor add afterCloneFrom method to LinkNodeAutoLinkNode (#8226) Sergey Gorbachev
  • lexical-list Fix create copies ListNodeListItemNode in split-like operations (#8213) Sergey Gorbachev
  • lexical-website Fix Correct the mistake in the argument in the example on the Updates page (#8225) Sergey Gorbachev
  • lexical-tablelexical-playground Breaking change Move hasFitNestedTables logic to Playground plugin (#8210) Randal
  • lexical Fix Consecutive Linebreak insertion resets selection format (#8222) Ajinkya Nikam
  • lexical-markdownlexical-playground Bug Fix Convert tabs in TabNode at import (#8211) Simon
  • lexical Feature LexicalEditor RootListener and EditableListener can return unregister callbacks (#8219) Bob Ippolito
  • lexicallexical-listlexical-markdown Feature resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook (#8221) Bob Ippolito
  • lexical Bug Fix When the editor starts with an empty list item, pressing ctrlbackspace (deleteWord) should replace the list with a paragraph (#8220) Ajinkya Nikam
  • lexical Bug Fix respect CSS scroll-padding in scrollIntoViewIfNeeded (#8218) Takenosuke Nagata
  • lexical-utilslexical-playground Feature Add insertNodeIntoLeaf and insert deeply DateTimeNode (#8206) Sergey Gorbachev
  • lexical-table Chore add test for mouse leaving browser window during table selection (#8215) Takenosuke Nagata
  • lexical-playground Fix use inline style for LayoutContainerNode import (#8214) ByungGyu-Yu
  • lexical-website Bug Fix Removed blog route from lexical.dev (#8209) Matheus SantAnna
  • lexical-table Refactor Call handleTableSelectionChangeCommand once instead of per-table (#8200) Randal
  • lexical-react Revert revert Remove deprecated ContextMenu, consolidate menu rendering with backward-compatible menuRenderFn (#8199) Michael
  • lexical-table Bug Fix Prevent single-cell table selection after exiting table selection (#8195) Randal
  • lexical-code Breaking Change Extract Prism code highlighting to lexicalcode-prism (with internal module lexicalcode-core to avoid circular import) (#8198) Bob Ippolito
  • lexical-table Bug Fix Improve nested table selection by using monolithic pointer event handling (#8193) Randal
  • lexical-markdown Bug Fix update backslash escape handling to align with CommonMark (#8192) kimseongyu
  • lexical-tablelexical-playground Feature nested tables resize themselves if hasFitNestedTables true (#8183) Randal
  • lexical-table Refactor use monolithic listener for table SELECTIONCHANGECOMMAND and deselection handler (#8187) Randal
  • lexical Chore Change alias from type to interface for EditorThemeClasses (#8190) Sergey Gorbachev
  • lexical-playground Chore Remove legacy-events mode (#8188) Sergey Gorbachev
  • lexical-playground Fix add fallback for dimensionless images to prevent collapse (#8186) Sa-Te
  • lexical-link Bug Fix Enable autolink matching when it unlinked (#8165) Sergey Gorbachev
  • Fix rollup CVE-2026-27606 in example project lockfiles (#8182) Michael
  • lexical Chore Fix rollup CVE-2026-27606 across all lockfiles (#8173) Michael
  • lexical Security Fix isaacsbrace-expansion vulnerability (CVE-2026-25547) (#8175) Michael
  • lexical Chore Fix form-data CVE-2025-7783 in root lockfile (#8174) Michael
  • lexical-markdown Fix enforce CommonMark flanking rules for trailing spaces (#8170) Sa-Te
  • lexical Security Fix qs vulnerability (CVE-2025-15284) (#8176) Michael
  • Fix cross-spawn vulnerability (CVE-2024-21538) by removing child-process-promise (#8177) Michael
  • lexical Chore Fix minimatch CVE-2026-26996 in example projects (#8169) Michael
  • Update examples for v0.41.0 (#8171) Bob Ippolito
  • v0.41.0 (#8166) Bob Ippolito
  • v0.41.0 Lexical GitHub Actions Bot
Commits

Updates @lexical/history from 0.41.0 to 0.42.0

Release notes

Sourced from @​lexical/history's releases.

v0.42.0 is a monthly release with a huge number of fixes and features from a lot of new contributors. The most notable fixes are related to tables, links, extensions, and markdown. @lexical/eslint-plugin is now fully compatible with eslint 9+. The production builds are also now generated in an ascii-only format which may considerably reduce memory usage in some deployment environments.

Breaking Changes

Prism highlighting extracted from @lexical/code #8198

Prism highlighting now lives in @lexical/code-prism and the Prism related functionality in @lexical/code is now deprecated. Transitionally, there is a @lexical/code-core package which has the implementation of Lexical's code functionality without a Prism dependency.

Experimental hasFitNestedTables has been moved to the playground #8210

Due to its experimental nature and incomplete implementation, the in-progress hasFitNestedTables functionality has been moved to the playground

New APIs

lexical - $copyNode + LexicalNode.resetOnCopyNodeFrom & NodeState resetOnCopyNode

After $copyNode is used it now calls copiedNode.resetOnCopyNodeFrom(originalNode) which will reset every NodeState that has resetOnCopyNode: true in its configuration. Subclasses can override this method to reset other "ephemeral" state such as whether a ListNodeItem is checked or not.

Note that this does not influence serialization or copy and paste operations, it only affects calls to $copyNode.

@lexical/utils - $insertNodeIntoLeaf

The current behavior RangeSelection.insertNodes can split an inline ElementNode (e.g. a LinkNode) when inserting content, even if that content is also inline and could be a child of the given node. $insertNodeIntoLeaf is now provided to insert a node without splitting any containing nodes.

Highlights

Core:

  • 🧹 #8190 Change EditorThemeClasses from type to interface
  • #8218 Respect CSS scroll-padding in scrollIntoViewIfNeeded
  • #8220 deleteWord now behaves the same as deleteCharacter when at the edge of an ElementNode
  • 🆕 #8221 resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook
  • 🆕 #8219 LexicalEditor RootListener and EditableListener can return unregister callbacks
  • #8222 Consecutive Linebreak insertion now preserves selection format

Code:

  • ⚠️ #8198 Extract Prism highlighting code to @lexical/code-prism and add @lexical/code-core to provide a dependency that does not include Prism. @lexical/code remains backwards compatible with Prism included, but you should migrate to using highlighting from @lexical/code-shiki or @lexical/code-prism.

Devtools:

  • #8230 Clean up strict mode useLexicalCommandsLog behavior

Extension:

  • 🆕 #8202 LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor

Markdown:

  • #8170 Enforce CommonMark flanking rules for trailing spaces

... (truncated)

Changelog

Sourced from @​lexical/history's changelog.

v0.42.0 (2026-03-19)

  • lexical-table Bug Fix handle table selections crossing intoout of nested tables (#8234) Randal
  • lexical-link Feature Merge adjacent LinkNodes with identical attributes (#8236) Achal Jhawar
  • build(deps) bump next from 15.5.11 to 16.1.7 in scriptstestsintegrationfixtureslexical-esm-nextjs (#8232) dependabotbot
  • lexical-rich-text Bug Fix use writable node in HeadingNode.setTag (#8235) Karesansui
  • lexical-devtools-core Bug Fix Clean up strict mode useLexicalCommandsLog behavior (#8230) Bob Ippolito
  • lexical-playground Chore Remove unused code from playground TablePlugin (#8231) Bob Ippolito
  • lexical-extensionlexical-react Feature LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor (#8202) Bob Ippolito
  • lexical-codelexical-marklexical-reactlexical-tablelexical-rich-textlexical-link Bug Fix Add and fix afterCloneFrom implementations (#8229) Bob Ippolito
  • lexical-playground Bug fix make clear formatting work on multiple paragraphs (#8224) Piotr Dbrowski
  • lexical-eslint-plugin Chore update lexicaleslint-plugin for better eslint 9 support, finish jest to vitest migration (#8227) Bob Ippolito
  • lexical Fix Fixing cursor position after inline equation, fix block equations (#8228) Ajinkya Nikam
  • lexical-link Refactor add afterCloneFrom method to LinkNodeAutoLinkNode (#8226) Sergey Gorbachev
  • lexical-list Fix create copies ListNodeListItemNode in split-like operations (#8213) Sergey Gorbachev
  • lexical-website Fix Correct the mistake in the argument in the example on the Updates page (#8225) Sergey Gorbachev
  • lexical-tablelexical-playground Breaking change Move hasFitNestedTables logic to Playground plugin (#8210) Randal
  • lexical Fix Consecutive Linebreak insertion resets selection format (#8222) Ajinkya Nikam
  • lexical-markdownlexical-playground Bug Fix Convert tabs in TabNode at import (#8211) Simon
  • lexical Feature LexicalEditor RootListener and EditableListener can return unregister callbacks (#8219) Bob Ippolito
  • lexicallexical-listlexical-markdown Feature resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook (#8221) Bob Ippolito
  • lexical Bug Fix When the editor starts with an empty list item, pressing ctrlbackspace (deleteWord) should replace the list with a paragraph (#8220) Ajinkya Nikam
  • lexical Bug Fix respect CSS scroll-padding in scrollIntoViewIfNeeded (#8218) Takenosuke Nagata
  • lexical-utilslexical-playground Feature Add insertNodeIntoLeaf and insert deeply DateTimeNode (#8206) Sergey Gorbachev
  • lexical-table Chore add test for mouse leaving browser window during table selection (#8215) Takenosuke Nagata
  • lexical-playground Fix use inline style for LayoutContainerNode import (#8214) ByungGyu-Yu
  • lexical-website Bug Fix Removed blog route from lexical.dev (#8209) Matheus SantAnna
  • lexical-table Refactor Call handleTableSelectionChangeCommand once instead of per-table (#8200) Randal
  • lexical-react Revert revert Remove deprecated ContextMenu, consolidate menu rendering with backward-compatible menuRenderFn (#8199) Michael
  • lexical-table Bug Fix Prevent single-cell table selection after exiting table selection (#8195) Randal
  • lexical-code Breaking Change Extract Prism code highlighting to lexicalcode-prism (with internal module lexicalcode-core to avoid circular import) (#8198) Bob Ippolito
  • lexical-table Bug Fix Improve nested table selection by using monolithic pointer event handling (#8193) Randal
  • lexical-markdown Bug Fix update backslash escape handling to align with CommonMark (#8192) kimseongyu
  • lexical-tablelexical-playground Feature nested tables resize themselves if hasFitNestedTables true (#8183) Randal
  • lexical-table Refactor use monolithic listener for table SELECTIONCHANGECOMMAND and deselection handler (#8187) Randal
  • lexical Chore Change alias from type to interface for EditorThemeClasses (#8190) Sergey Gorbachev
  • lexical-playground Chore Remove legacy-events mode (#8188) Sergey Gorbachev
  • lexical-playground Fix add fallback for dimensionless images to prevent collapse (#8186) Sa-Te
  • lexical-link Bug Fix Enable autolink matching when it unlinked (#8165) Sergey Gorbachev
  • Fix rollup CVE-2026-27606 in example project lockfiles (#8182) Michael
  • lexical Chore Fix rollup CVE-2026-27606 across all lockfiles (#8173) Michael
  • lexical Security Fix isaacsbrace-expansion vulnerability (CVE-2026-25547) (#8175) Michael
  • lexical Chore Fix form-data CVE-2025-7783 in root lockfile (#8174) Michael
  • lexical-markdown Fix enforce CommonMark flanking rules for trailing spaces (#8170) Sa-Te
  • lexical Security Fix qs vulnerability (CVE-2025-15284) (#8176) Michael
  • Fix cross-spawn vulnerability (CVE-2024-21538) by removing child-process-promise (#8177) Michael
  • lexical Chore Fix minimatch CVE-2026-26996 in example projects (#8169) Michael
  • Update examples for v0.41.0 (#8171) Bob Ippolito
  • v0.41.0 (#8166) Bob Ippolito
  • v0.41.0 Lexical GitHub Actions Bot
Commits

Updates @lexical/html from 0.41.0 to 0.42.0

Release notes

Sourced from @​lexical/html's releases.

v0.42.0 is a monthly release with a huge number of fixes and features from a lot of new contributors. The most notable fixes are related to tables, links, extensions, and markdown. @lexical/eslint-plugin is now fully compatible with eslint 9+. The production builds are also now generated in an ascii-only format which may considerably reduce memory usage in some deployment environments.

Breaking Changes

Prism highlig...

Description has been truncated

Bumps the lexical group with 16 updates:

| Package | From | To |
| --- | --- | --- |
| [@lexical/clipboard](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-clipboard) | `0.41.0` | `0.42.0` |
| [@lexical/code](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-code) | `0.41.0` | `0.42.0` |
| [@lexical/extension](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-extension) | `0.41.0` | `0.42.0` |
| [@lexical/history](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-history) | `0.41.0` | `0.42.0` |
| [@lexical/html](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-html) | `0.41.0` | `0.42.0` |
| [@lexical/link](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-link) | `0.41.0` | `0.42.0` |
| [@lexical/list](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-list) | `0.41.0` | `0.42.0` |
| [@lexical/markdown](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-markdown) | `0.41.0` | `0.42.0` |
| [@lexical/plain-text](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-plain-text) | `0.41.0` | `0.42.0` |
| [@lexical/rich-text](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-rich-text) | `0.41.0` | `0.42.0` |
| [@lexical/selection](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-selection) | `0.41.0` | `0.42.0` |
| [@lexical/table](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-table) | `0.41.0` | `0.42.0` |
| [@lexical/utils](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-utils) | `0.41.0` | `0.42.0` |
| [lexical](https://github.com/facebook/lexical/tree/HEAD/packages/lexical) | `0.41.0` | `0.42.0` |
| [@lexical/dragon](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-dragon) | `0.41.0` | `0.42.0` |
| [@lexical/text](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-text) | `0.41.0` | `0.42.0` |


Updates `@lexical/clipboard` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-clipboard)

Updates `@lexical/code` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-code)

Updates `@lexical/extension` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-extension)

Updates `@lexical/history` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-history)

Updates `@lexical/html` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-html)

Updates `@lexical/link` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-link)

Updates `@lexical/list` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-list)

Updates `@lexical/markdown` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-markdown)

Updates `@lexical/plain-text` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-plain-text)

Updates `@lexical/rich-text` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-rich-text)

Updates `@lexical/selection` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-selection)

Updates `@lexical/table` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-table)

Updates `@lexical/utils` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-utils)

Updates `lexical` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical)

Updates `@lexical/dragon` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-dragon)

Updates `@lexical/text` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/facebook/lexical/releases)
- [Changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/lexical/commits/v0.42.0/packages/lexical-text)

---
updated-dependencies:
- dependency-name: "@lexical/clipboard"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/code"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/extension"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/history"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/html"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/link"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/list"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/markdown"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/plain-text"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/rich-text"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/selection"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/table"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/utils"
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: lexical
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/dragon"
  dependency-version: 0.42.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: lexical
- dependency-name: "@lexical/text"
  dependency-version: 0.42.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: lexical
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Mar 28, 2026
Copilot AI review requested due to automatic review settings March 28, 2026 12:24
@dependabot dependabot bot added the javascript Pull requests that update javascript code label Mar 28, 2026
@dependabot dependabot bot review requested due to automatic review settings March 28, 2026 12:24
@samuelpecher samuelpecher merged commit f888c8d into main Apr 2, 2026
9 checks passed
@samuelpecher samuelpecher deleted the dependabot/npm_and_yarn/lexical-b34d049b6a branch April 2, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant