Skip to content

npm(deps): bump @lexical/list from 0.44.0 to 0.46.0#916

Merged
GaryJones merged 1 commit into
developfrom
dependabot/npm_and_yarn/lexical/list-0.45.0
Jun 26, 2026
Merged

npm(deps): bump @lexical/list from 0.44.0 to 0.46.0#916
GaryJones merged 1 commit into
developfrom
dependabot/npm_and_yarn/lexical/list-0.45.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 4, 2026

Copy link
Copy Markdown
Contributor

Bumps @lexical/list from 0.44.0 to 0.46.0.

Release notes

Sourced from @​lexical/list's releases.

v0.46.0 is a monthly release headlined by two major new experimental capabilities:

  • Named slots - a model that lets a single host element or decorator node own several isolated editable regions inside the host's own editorState
  • Shadow DOM - the root element can now be hosted in an open shadow root (or iframe)

This release also includes many other fixes and new features across IME/composition, collaboration, markdown round-tripping, lists, code blocks, links, and mobile keyboards. It is also our first release (other than nightlies) to use NPM Trusted Publishing.

Special recognition for this release goes to @​mayrang for doing the majority of the work on both of these new features as well as fixing some tricky IME/composition issues 👏 @​levensta has also been doing a fantastic job going through the issue backlog, providing valuable feedback on these bleeding edge features, and identifying long-standing edge cases.

Breaking Changes

lexical — Node traversal methods no longer accept unsafe type parameters (#8661)

The zero-argument generics on getParent(OrThrow), getPreviousSibling(s), getNextSibling(s), getChildren, getFirstChild(OrThrow), getLastChild(OrThrow), getChildAtIndex, getFirstDescendant, getLastDescendant, and getDescendantByIndex were implicit unchecked casts — there is no inference site, so any non-base type argument was equivalent to an as cast. Each method is now an overload pair: a documented non-generic signature returning the base type (LexicalNode / ElementNode | null), plus the old generic signature marked @deprecated. Code that leaned on contextual-type inference no longer type-checks:

// Before: compiled (unsound). After: type error.
const node: ParagraphNode | null = $getRoot().getFirstChild();
// Port directly with an explicit cast (no behavior change):
const node = $getRoot().getFirstChild() as ParagraphNode | null;
// Or, better, narrow with a guard:
const node = $getRoot().getFirstChild();
if ($isParagraphNode(node)) { /* node: ParagraphNode */ }

Existing getFirstChild<ParagraphNode>()-style calls still compile but are now deprecated and will be removed in a future release. This is a types-only change with no runtime impact.

lexical$getNearestNodeFromDOMNode(rootElement) now returns RootNode (#8588)

The "selection captured outside of Lexical" mechanism is generalized beyond DecoratorNode subtrees: setDOMUnmanaged(dom, {captureSelection: true}) now marks any subtree (e.g. a DOMRenderExtension override or a getDOMSlot widget) as selection-captured, and isDOMCapturingSelection(dom) walks ancestors so a descendant <input> reports as captured. As part of this, the root element now carries a __lexicalKey_* stash, so $getNodeFromDOM / $getNearestNodeFromDOMNode resolve the root element to the RootNode instead of null. Two call sites become more correct (drop-on-root in clipboard, table-selection→range conversion), but external callers that relied on $getNearestNodeFromDOMNode(rootElement) returning null must update. The internal-only $isSelectionCapturedInDecorator was removed.

lexicalinsertNodes preserves a leading linebreak; managed <br>s are now tagged (#8615)

RangeSelection.insertNodes now preserves the first LineBreakNode when inserting inline content ahead of a block element, instead of silently dropping it. Separately, the reconciler-inserted "managed" line breaks (the otherwise-invisible <br>s Lexical adds so the caret can land in empty lines) are now identifiable in the DOM as <br data-lexical-managed-linebreak="true"> — and, on iOS Safari, an analogous <img data-lexical-managed-linebreak="true" …> in some cases. DOM/HTML snapshot test expectations may need to ignore or expect this attribute. Closes #3980.

@lexical/html and node extensions — DOMImportExtension rules now register implicitly (#8662) (experimental)

The experimental DOM-import pipeline no longer requires you to list a per-package import extension. Each node-providing extension (RichTextExtension, ListExtension, LinkExtension, TableExtension, CodeExtension) now registers its own import rules, and the standalone RichTextImportExtension / ListImportExtension / LinkImportExtension / TableImportExtension / CodeImportExtension / HorizontalRuleImportExtension become deprecated aliases that may be removed as early as v0.47.0. Rules stay inert unless HTML is routed through ClipboardDOMImportExtension or $generateNodesFromDOMViaExtension; the legacy importDOM paste path is unchanged. If you had not adopted these v0.45.0 extensions yet, there is no breaking change.

lexical / @lexical/yjs / @lexical/clipboard / @lexical/html — Named slots (#8603) (experimental)

All slot machinery is opt-in and gated (an editor latches _slotsUsed on the first $setSlot), so editors that never use slots take identical code paths to before. Two changes are observable regardless:

  • syncLexicalUpdateToYjsV2__EXPERIMENTAL takes a new dirtyLeaves parameter, inserted between dirtyElements and normalizedNodes (a slot host's values surface as dirty leaves).
  • A NodeSelection containing an ElementNode now includes that element's children on copy/export ($getHtmlContent / $generateJSONFromSelectedNodes). The previous behavior serialized a childless shell, making cut of an element NodeSelection silently lossy; partial RangeSelections keep per-child slicing and excludeFromCopy children remain excluded.

@lexical/link / @lexical/list / @lexical/react — Removed exports deprecated since v0.32.1 (#8704)

Exports marked @deprecated in v0.32.1 (2025-06-04, >12 months ago) with no Meta-internal consumers are removed:

... (truncated)

Changelog

Sourced from @​lexical/list's changelog.

v0.46.0 (2026-06-25)

  • lexical Bug Fix Ignore beforeinput and input events in captured decorators (#8740) Bob Ippolito
  • lexical Modernize Flow type-stub syntax rejected by fb-www flow strict (#8742) Sherry
  • lexical Bug Fix Refactor class inheritance loops to use an inheritsLoose-safe helper (#8739) Bob Ippolito
  • lexical Refactor Improve error messages for invalid node classes and cache getStaticNodeConfig (#8735) Bob Ippolito
  • lexical-utilslexical-react Chore Move getScrollParent to lexicalutils (#8733) mayrang
  • lexical Feature Support DOM shadow roots via platform selection APIs (#8694) mayrang
  • lexical Bug Fix Normalize non-inline nodes when inserting into inline-only parents (#8715) Bob Ippolito
  • lexical-utils Add dedupeSelectionRects fix duplicateextra selection rects on WebKit (#7106, #7492) (#8709) Provi
  • lexical-markdown Bug Fix Preserve inline formatting when wrapping already-formatted text with matching markers (#8728) Koki Sato
  • fix(lexical) guard klass.prototype null check in getStaticNodeConfig (#8726) Sherry
  • lexical-plain-textlexical-rich-text Bug Fix Refresh iOS keyboard suggestion bar after Backspace for all locales (#8725) Sergey Gorbachev
  • lexical-markdown Bug Fix Inline code spans containing backticks (#8723) Baptiste Jamin
  • lexicallexical-rich-textlexical-clipboard Bug Fix Named-slot typing Backspace Copy hydrate paths (#8716) mayrang
  • lexical-mark Chore Widen MarkNode method return types to boolean (#8717) Patrick Moody
  • lexical-playground Bug Fix Render PageBreakNode as hr so Safari fires beforeinput after paste (#8719) mayrang
  • Refactor Migrate editor.getEditorState().read(...) to editor.read(latest, ...) (#8703) Bob Ippolito
  • lexical-reactlexical-playground Refactor Replace react-error-boundary with a self-contained LexicalErrorBoundary (#8720) Bob Ippolito
  • lexical-reactlexical-linklexical-historylexical-extension Docs API doc coverage of react exports (#8714) Bob Ippolito
  • lexical Bug Fix Insert nodes at the block cursor inside a shadow root (#8708) Bob Ippolito
  • lexical-link Bug Fix Preserve LinkNode wrap on copy in FirefoxSafari (#8705) mayrang
  • Breaking Changeslexical-linklexical-listlexical-react Chore Remove a subset of v0.32.1-deprecated exports (#8704) Bob Ippolito
  • lexical-clipboard Bug Fix Correct type-checking (#8706) Sergey Gorbachev
  • Breaking Changeslexicallexical-yjslexical-clipboardlexical-htmllexical-playground Feature Named slots (#8603) mayrang
  • lexical-playground Bug Fix Preserve block equation markdown (#8562) Vivek JM
  • lexical Bug Fix Recheck text node contents on deletion with composition (#8701) EWS
  • lexical Feature Replace LexicalEditor.readPending with editor.read(mode, fn) overload (#8702) Bob Ippolito
  • lexical-playground Bug Fix CodeBlock layout-exit e2e expected HTML (#8695) mayrang
  • Breaking Changelexical Fix Preserve the first linebreak when passing inline nodes to insertNodes and add data-lexical-managed-linebreak attribute to managed linebreaks (#8615) Sergey Gorbachev
  • lexical Chore Remove unused tmp dependency (#8693) Noritaka Kobayashi
  • lexical Bug Fix Reuse the empty trailing block when typing at root last-offset selection (#8686) mayrang
  • lexical-markdown Bug Fix code spans should bind tighter than text-match transformers (#8688) Bob Ippolito
  • lexical-utilslexical-playground Bug Fix Double paragraph creation when exiting a nested code block (#8684) Sergey Gorbachev
  • lexical-rich-textlexical-plain-text Spec hardening call event.preventDefault() in dragover for HTML5 DnD compliance (#8663) sahir
  • lexical-react Refactor Use hook syntax in .js.flow files to better declare intent (#8682) Sam Zhou
  • lexical-playground Bug Fix clear block alignment and indent with a collapsed selection but not a partial one (#8666) Achal Jhawar
  • lexical-list Bug Fix Preserve previous DecoratorNode on Backspace at the start of a top-level list (#8676) mayrang
  • lexical-markdown Bug Fix Update ordered list start when typing a marker before it (#8678) mayrang
  • lexical Bug Fix Emit COMPOSITIONENDTAG from the Firefox onInput defer branch (#8680) mayrang
  • Chore always use T syntax instead of ArrayT in TypeScript and Flow (#8675) Bob Ippolito
  • lexical-table Bug Fix dont throw on stale table node keys in handleTableSelectionChangeCommand (#8674) Bob Ippolito
  • ci Bug Fix Fix intermittent EACCES in Windows CI browser tests by pinning Vitest browser port (#8673) Bob Ippolito
  • lexicallexical-utilslexical-extensionlexical-playground Feature SelectBlockExtension (#8532) Sergey Gorbachev
  • lexical-dragon Bug Fix Handle makeChanges messages and the listener registration race (#8665) Bruno Prieto
  • lexical Bug Fix stop infinite-update-loop detector over-firing on bounded activity (fast typing) (#8635) Sherry
  • lexical Chore stop using deprecated traversal type parameters in tests (#8667) Bob Ippolito
  • Breaking Changes Refactor Register DOMImportExtension rules implicitly via node extensions and make tree-shaking annotations effective (#8662) Bob Ippolito
  • Breaking Changelexical Chore deprecate unsafe type parameters on node traversal methods (#8661) Bob Ippolito
  • lexical-yjs Bug Fix Yjs desynchronizes after clearing all nodes (#8646) sahir

... (truncated)

Commits
  • ad93fe6 v0.46.0
  • 183fca5 [lexical] Feature: Support DOM shadow roots via platform selection APIs (#8694)
  • 75461f7 [lexical] Bug Fix: Normalize non-inline nodes when inserting into inline-only...
  • 2f2bc97 [lexical][lexical-rich-text][lexical-clipboard] Bug Fix: Named-slot typing / ...
  • 92b387a [*] Refactor: Migrate editor.getEditorState().read(...) to editor.read('lates...
  • e02e669 [Breaking Changes][lexical-link][lexical-list][lexical-react] Chore: Remove a...
  • 9fc36b4 [Breaking Changes][lexical][lexical-yjs][lexical-clipboard][lexical-html][lex...
  • 9f3c1db [Breaking Change][lexical] Fix: Preserve the first linebreak when passing inl...
  • 0be7def [lexical-list] Bug Fix: Preserve previous DecoratorNode on Backspace at the s...
  • e40f283 [*] Chore: always use T[] syntax instead of Array<T> in TypeScript and Flow (...
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for @​lexical/list since your current version.


@dependabot dependabot Bot added the dependencies Dependency updates label Jun 4, 2026
@dependabot dependabot Bot requested a review from a team as a code owner June 4, 2026 01:55
@dependabot dependabot Bot added the dependencies Dependency updates label Jun 4, 2026
@GaryJones GaryJones added this to the Next 1.x milestone Jun 17, 2026
@GaryJones

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/lexical/list-0.45.0 branch from 6c1898d to f1aab3c Compare June 17, 2026 16:09
@GaryJones

Copy link
Copy Markdown
Contributor

@dependabot rebase

Bumps [@lexical/list](https://github.com/facebook/lexical/tree/HEAD/packages/lexical-list) from 0.44.0 to 0.46.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.46.0/packages/lexical-list)

---
updated-dependencies:
- dependency-name: "@lexical/list"
  dependency-version: 0.45.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title npm(deps): bump @lexical/list from 0.44.0 to 0.45.0 npm(deps): bump @lexical/list from 0.44.0 to 0.46.0 Jun 26, 2026
@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/lexical/list-0.45.0 branch from f1aab3c to 6a4a94b Compare June 26, 2026 12:45
@GaryJones GaryJones merged commit a1b9fb0 into develop Jun 26, 2026
11 checks passed
@GaryJones GaryJones deleted the dependabot/npm_and_yarn/lexical/list-0.45.0 branch June 26, 2026 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant