NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4968 most downloaded on npm
This package contains misc utilities for Lexical.
Last release 2 days ago
02 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
696 releases · first in 2022
One column per quarter.
Nothing published for this version
Nothing published for this version
[Breaking Change][lexical][lexical-link] Bug Fix: Collapse through inline elements in deleteCharacter by @etrepum in https://github.com/facebook/lexic…
v0.25.0 is an ad-hoc release targeted at addressing an input regression with Android Chrome (#7218) , but includes many other fixes (particularly around deleteCharacter) and several new features (such as the NodeCaret API).
Core:
#7180 ElementNode.collapseAtStart(range) would previously only be called on the direct parent of the anchor's node, so the presence of anything like a LinkNode would prevent a ListItemNode from collapsing. Now it will also be called on parents under certain conditions.
#7155 #7204 The heuristic used in RangeSelection.deleteCharacter to handle merging blocks and deleting decorators from a collapsed selection has been refactored for consistency. It now traverses the node tree directly instead of attempting to use browser selection APIs.
Tables:
Core:
Tables:
Code:
React:
Playground:
placeholder examples to ContentEditable by @RobHannay in https://github.com/facebook/lexical/pull/7193Full Changelog: https://github.com/facebook/lexical/compare/v0.24.0...v0.25.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[Breaking Change][lexical][lexical-selection][lexical-list] Bug Fix: Fix infinite loop when splitting invalid ListItemNode by @etrepum in https://gith…
Build:
Core editor:
editor.focus() now happens synchronously when called from inside of an update, as if it was implemented with a command dispatch. Previously it would defer which is confusing behavior because the expected side-effect is to change the selection which you really do want to happen synchronously.Lexical List:
insertList and removeList are now deprecated, use $insertList and $removeList insteadINSERT_CHECK_LIST_COMMAND, INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND and REMOVE_LIST_COMMAND now update synchronously when dispatched from inside an update, rather than deferring a nested update (this is the expected behavior for commands)Core editor:
Collab:
syncCursorPositions function to collab hook #7053List:
Mark:
Markdown:
Playground:
React:
JSX type from React to prevent "Cannot find namespace 'JSX'"-error when type-checking with React 19 #7080Table:
Utils:
Build:
syncCursorPositions function to collab hook by @amanharwara in https://github.com/facebook/lexical/pull/7053JSX type from React to prevent "Cannot find namespace 'JSX'"-error when type-checking with React 19 by @Svish in https://github.com/facebook/lexical/pull/7080React$Context with React.Context by @SamChou19815 in https://github.com/facebook/lexical/pull/7137Full Changelog: https://github.com/facebook/lexical/compare/v0.23.1...v0.24.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
The only breaking change in this release is minor (#7023) and should not affect any correct code. However, if you are counting the number of times you…
The only breaking change in this release is minor (#7023) and should not affect any correct code. However, if you are counting the number of times your update listener is called during editor.setRootElement(null) then you will have to change that expectation.
Highlights since v0.23.0
Core Editor:
editor.setRootElement(null) #7023Mark:
React:
Full Changelog: https://github.com/facebook/lexical/compare/v0.23.0...v0.23.1
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[Breaking Change][lexical] Feature: Add updateFromJSON and move more textFormat/textStyle to ElementNode by @etrepum in https://github.com/facebook/le…
🆕 Feature: Add updateFromJSON and move more textFormat/textStyle to ElementNode This change adds optional textFormat and textStyle properties to SerializedElementNode. If you have existing classes with those properties it could create a namespace clash that you will have to resolve one way or another.
TextNode and ElementNode subclasses should be updated to call the updateFromJSON(serializedNode) method from their static importJSON methods. If they don't, they won't support this new functionality, and will have to continue copy and pasting the super implementation of importJSON for correct behavior if the base class ever changes in the future.
You should consider dropping usage of the version field.
Highlights since v0.22.0
Core Editor:
Playground:
Yjs:
Full Changelog: https://github.com/facebook/lexical/compare/v0.22.0...v0.23.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[scripts-integration-fixtures] Address GitHub detected a vulnerability in the @sveltejs/kit dependency by @Fetz in https://github.com/facebook/lexical…
🆕 Feature: Support capitalization format
https://github.com/facebook/lexical/pull/6897
^ You may need to update callsites that enumerate all cases of TextFormatType eg. switch statements
🆕 Feature: New update tag: skip-dom-selection, $onUpdate now always called https://github.com/facebook/lexical/pull/6894
Highlights since v0.21.0
Link:
List:
Text:
Markdown:
Table:
🆕 Support google docs colgroup import (via deprecated col width attribute) https://github.com/facebook/lexical/pull/6971
✅ fix: check is current selection in target table node https://github.com/facebook/lexical/pull/6979
✅ Fix: Allow TableSelection to be preserved during contextmenu events https://github.com/facebook/lexical/pull/6964
✅ Fix: Insertion of multiple rows https://github.com/facebook/lexical/pull/6963
✅ Fix: Delete table row in merge cells https://github.com/facebook/lexical/pull/6922
✅ Fix: Enforce table integrity with transforms and move non-React plugin code to @lexical/table https://github.com/facebook/lexical/pull/6914
Selection:
🆕 feature: expose forEachSelectedTextNode https://github.com/facebook/lexical/pull/6981/files
🆕 Feature: Unify $selectAll Implementations https://github.com/facebook/lexical/pull/6902
Core editor:
✅ Fix: Refactor markSelection for getDOMSlot and not using updateDOM
https://github.com/facebook/lexical/pull/6961
✅ Refactor: exportJSON, nodes dont need to redeclare exportJSON https://github.com/facebook/lexical/pull/6983
🆕 Feature: New update tag: skip-dom-selection, $onUpdate now always called https://github.com/facebook/lexical/pull/6894
🆕 Feature: Warn about "display: flex" container for the editor https://github.com/facebook/lexical/pull/6901
React:
✅ Replace React$MixedElement and React$Node with React.MixedElement and React.Node in flow API https://github.com/facebook/lexical/pull/6984
✅ Fix: the location of draggable-block-menu cannot be calculated https://github.com/facebook/lexical/pull/6966
React$MixedElement and React$Node with React.MixedElement and React.Node by @SamChou19815 in https://github.com/facebook/lexical/pull/6984Full Changelog: https://github.com/facebook/lexical/compare/v0.21.0...v0.22.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →