v9.0.10
9.0.10 (2026-10-28)
- alert: only block Enter on checkbox inputs, not the whole document (#31643) (28d2940), closes #30811
- menu: allow menus inside split pane main content to open (#31586) (3eebee3), closes #30591 #28801
- rtl: respect
dirof ancestor elements throughout components (#31459) (25a114f) - vue: render resolved href for object router-link (#31663) (d73cacb), closes #30848
Release 2026-10-28
-
#10740: Detect schemas in custom AsyncAPI binding fields, including WebSocket operation headers and message schemas, and render their properties instead of expandable raw JSON.
-
#10763: feat(api-reference): give the localhost playground a developer toolbar with a side panel for its tools
On localhost, the developer toolbar becomes a sticky bar above the reference, which renders as a bordered card. Configure, Share, Deploy and Generate SDK open in a side panel beside the card; Deploy is now a waitlist sign-up for hosting on Scalar. The Generate SDK buttons in the client libraries card and the request examples, and the sidebar's "Generate SDKs & MCP" card and API client button, no longer show on localhost. Hosted references are unchanged.
-
#10740: Match the AsyncAPI application identifier heading to channel metadata headings with a full-column divider.
-
#10763: feat(api-reference): give the localhost playground a developer toolbar with a side panel for its tools
On localhost, the developer toolbar becomes a sticky bar above the reference, which renders as a bordered card. Configure, Share, Deploy and Generate SDK open in a side panel beside the card; Deploy is now a waitlist sign-up for hosting on Scalar. The Generate SDK buttons in the client libraries card and the request examples, and the sidebar's "Generate SDKs & MCP" card and API client button, no longer show on localhost. Hosted references are unchanged.
- @scalar/api-reference@1.76.2
- @scalar/api-reference@1.76.2
- @scalar/api-reference@1.76.2
- @scalar/api-reference@1.76.2
- @scalar/api-reference@1.76.2
- @scalar/api-reference@1.76.2
- @scalar/api-reference@1.76.2
v11.2.0
theme="auto"follows the OS color scheme (prefers-color-scheme). Opt-in; default stayslight. Closes #1186.transition={false}disables enter/exit animations, on the container or per toast. Closes #857.appendStyleSheetprop on<ToastContainer>appends the injected<style>tag to<head>instead of prepending it.
- The injected stylesheet is prepended to
<head>again, so CSS variable overrides work without!important(regression in 11.1.0). Thanks @Aakashpai, #1295. Closes #1287.
- Build migrated from tsup to tsdown. Publish layout unchanged.
- tsconfig: dropped deprecated
baseUrl, scoped to library sources. - CI: latest Node LTS, pnpm 12.
- Playground: type fixes,
nonetransition option.
Thanks to @Aakashpai and reporters of the fixed issues.
v0.53.0
v0.53.0 is the monthly release and collects a month of work since v0.52.0. It removes the extensions deprecated as of v0.52.0 and the unchecked node type arguments, starts a curated CHANGELOG.md with migration notes, and adds several opt-in, experimental building blocks for structured documents and collaboration: declarative node structure in $config, stable block ids, set-valued NodeState with a wrapper-free MarkStateExtension, and GFM tables in @lexical/mdast. Fixes cover IME composition, spellcheck, inline decorators, iOS taps and drops, tables, Markdown, and the ordering of commit listeners that collaboration depends on.
- All packages: extensions deprecated as of v0.52.0 are removed (#9316). Migrate as follows:
CodeImportExtension(@lexical/code-core): useCodeExtensionCodeHighlighterShikiExtension,CodeHighlighterShikiConfig(@lexical/code-shiki): useCodeShikiExtensionwith{tokenizer}HorizontalRuleImportExtension(@lexical/html): useHorizontalRuleExtensionplus any extension that brings inCoreImportExtensionLinkImportExtension,ListImportExtension,RichTextImportExtension,TableImportExtension: useLinkExtension,ListExtension,RichTextExtension,TableExtensionMdastImportExtension,MdastExportExtensionand their*Outputtypes (@lexical/mdast): useMdastExtensionandMdastExtensionOutput- The
*ImportRulesarrays are not extensions and remain.
@lexical/mdast(experimental): table column alignment is no longer stored in themdastTableAlignNodeState. Alignment is now the element format of the paragraph in each cell, so editor states serialized with the old state lose their column alignment on load (#9478)lexical: The deprecated unchecked type arguments on node traversal and key lookup are removed from TypeScript and Flow:getParent<T>(),getParentOrThrow<T>(),getChildren<T>(),getFirstChild<T>(),getNextSibling<T>(),$getNodeByKey<T>()and the rest of that family. Runtime behavior is unchanged. Remove the type argument and narrow the result with a node guard such as$isListItemNode(#9479)lexical:ElementNode.reconcileObservedMutation(@internal) restores the DOM of the element's committed children from the latest reconciled state, not the children of the update it is called in. Code that called it inside an update to render that update's children must place those children's DOM itself (#9329)
lexical/@lexical/extension(experimental): Declarative node structure in$config. New optional keysinline,children,mergeAdjacent, and aderivedflag on fields and states describe what an element may hold and when adjacent siblings are the same thing, so importers, serializers and storage layers can read rules that used to live only in transforms.getDeclaredNodeStructure(klass)reads them, and the opt-inNodeStructureExtensionenforces them (#9452)@lexical/extension/@lexical/html(experimental): Stable block ids.BlockIdExtensiongives blocks an id that survives serialization, reloads, undo/redo, the clipboard and collaboration, stored as NodeState ("$": {"blockId": "…"}), so agents and server pipelines can address blocks directly.BlockIdHTMLExtension, imported from@lexical/html/BlockIdHTMLExtension, carries the ids through HTML (#9421, #9474)lexical/@lexical/mark(experimental): Set-valued NodeState andMarkStateExtension.arraySetValue(item)declares a state whose value is a canonical (sorted, deduplicated, frozen) set of strings.MarkStateExtensionuses it to store mark ids on the leaves they cover instead of inMarkNodewrappers, so overlapping comments need no tree restructuring and ids travel with the text (#9380)@lexical/mdast(experimental): GFM tables.MdastTableExtensionimports tables the way GFM renders them and exports any table as a GFM table, using<br>for multi-block cells and padding merged or ragged cells (#9478)@lexical/clipboard: Clipboard import middleware can replace the data and selection for the remaining handlers with$next(data?, selection?), the equivalent of ProseMirror'stransformPastedHTML, so off-the-shelf HTML cleanup can be plugged in (#9312)@lexical/link:ClickableLinkExtensionacceptsgetWindow(editor), so iframe editors can navigate in their own window or leave the click unhandled (#9360)@lexical/react:LexicalAutoEmbedPluginaccepts$disableMenuForto suppress the embed menu where a block embed does not belong, such as inline-only slots (#9365)- Changelog with migration notes:
CHANGELOG.mdis now built from changesets, with Breaking changes (each withMigration:andDetect:), Behavior changes, Deprecations and the full commit list for every release, and it ships in thelexicalpackage atnode_modules/lexical/CHANGELOG.mdfor people and tools upgrading across versions (#9357) - Continuous builds: every PR and
maincommit is published to pkg.pr.new, so a fix can be tried before the next release withnpm i https://pkg.pr.new/lexical@main(npm only; see the PR for pnpm and yarn) (#9385, #9387, #9394)
Security
- Links opened in a new tab by
registerClickableLink/ClickableLinkPluginno longer getwindow.opener, closing a reverse-tabnabbing path (#9303) - Markdown export escapes literal brackets and significant
<and&, so literal text no longer turns into HTML, character references or links when the Markdown is parsed again. Import decodes escapes and character references in a single pass (#9481)
Input, composition & spellcheck
- Composing into a
TextNodesubclass with an IME or a dead key no longer replaces it with a plainTextNode, so it keeps its type, key and NodeState (#9291); cancelled macOS Pinyin compositions in desktop WebKit finish, so the next Enter works (#9362) - Chromium keeps spellcheck underlines when Lexical rewrites a text node (#9354); Markdown shortcuts work in iframe editors (#9352);
selectionchangeevents from unfocused inputs and textareas no longer clear pending formatting (#9477); copy, cut and paste inside a decorator's own input are left to that input (#9288)
Selection & editing
- Mouse drags select across inline decorators such as images, equations and mentions (#9329); line deletion keeps the line break before a line starting with an inline decorator and preserves decorators across soft wraps (#9301, #9321)
- Selected text and formatting are preserved at range boundaries, and
$patchStyleTextnow styles the selection it is given (#9261); caret mutations, endpoint repair and cross-parent moves no longer corrupt sibling links, throw, or misorder the DOM (#9262, #9263, #9302) - Selections and deletions stay inside slot boundaries (#9373); root text content stays correct after repeated slot edits and for custom
getTextContent()overrides (#9283, #9260) - Enter splits a heading correctly after a line break or inline decorator (#9295); removing a list keeps a caret that sits after an inline decorator (#9300);
HISTORY_PUSH_TAGalways pushes its own undo entry (#9218); setting a NodeState key still held inunknownStateno longer leaves the stale JSON value behind (#9468)
iOS
- Tapping a decorator no longer scrolls the page to the top of the editor (#9325); double-tapping an empty table cell stays in the cell (#9267); native text-file drops insert their text (#9320)
Collaboration
- Commit listeners stay in order when
editor.read()is called during listener dispatch, fixing lost content with CollabV2 and theExpected shared type to include type attributecorruption in CollabV1 (#9335, closes #7709) @lexical/yjsre-creates only the children that actually moved, keeping sibling Yjs identities and turning a 1.3 s move in an 8,000-paragraph document into a fast one (#9349)- Table commands repair ragged tables, which concurrent row and column inserts can produce, instead of throwing (#9375)
Tables, links, code & Markdown
- Clicks on a nested editor's table, and on nested links, are left to the nested editor (#9356, #9360);
$toggleLink(null)no longer throws when the selection only touches a link edge (#9412) - Imported HTML code content is normalized to code lines (#9272); Tab works in a code block whose language the highlighter does not know (#9472)
- Markdown import handles out-of-range character references and keeps backslashes in leading code spans (#9388, #9396);
@lexical/mdastkeeps consecutive and leading line breaks in a round trip (#9392)
React, SSR & misc
- Composers no longer read
Math.random()while rendering on the server, so Next.js 16 prerendering withcacheComponentsworks withoutSuspense(#9319) - A read-only
ContentEditableno longer renders an unnamedrole="textbox"(#9270); stale asynchronous auto-embed and typeahead results are ignored (#9331, #9332);positionNodeOnRangeno longer loops forever once its root is detached (#9358) - The "node does not exist in active editor state" error names the node and explains how to guard a stale reference (#9366); garbage collection no longer revisits dirty subtrees (#9264)
- DevTools: the Edge and Safari store listings are gone, and Chrome publishing moves to Web Store API v2 and runs automatically after each
latestnpm release (#9296, #9457, #9369)
- v0.52.0 by @etrepum in https://github.com/facebook/lexical/pull/9252
- [lexical-website] Documentation Update: fix five incorrect snippets and claims in the React plugins guide by @potatowagon in https://github.com/facebook/lexical/pull/9254
- [lexical-website] Documentation Update: make the create-plugin snippets valid JSX by @potatowagon in https://github.com/facebook/lexical/pull/9255
- [lexical-website] Documentation Update: webpack and Parcel need an adapter for HMRExtension's hot config by @potatowagon in https://github.com/facebook/lexical/pull/9256
- [lexical] Bug Fix: Make the registerEventListener Flow options type libdef-independent by @potatowagon in https://github.com/facebook/lexical/pull/9258
- [lexical] Refactor: avoid repeated traversal of dirty subtrees during GC by @etrepum in https://github.com/facebook/lexical/pull/9264
- [lexical] Bug Fix: share selection operations and repair endpoints without direction comparisons by @etrepum in https://github.com/facebook/lexical/pull/9263
- [lexical] Bug Fix: preserve tree links and selections during caret mutations by @etrepum in https://github.com/facebook/lexical/pull/9262
- [lexical][lexical-selection] Bug Fix: preserve selected text and formatting at range boundaries by @etrepum in https://github.com/facebook/lexical/pull/9261
- [lexical-devtools][lexical-website] Chore: Remove Edge extension (taken down from the Edge Add-ons store) by @zurfyx in https://github.com/facebook/lexical/pull/9296
- lexical extension devtool bugfix by @potatowagon in https://github.com/facebook/lexical/pull/9299
- [lexical-website] Chore: drop preset-classic to stop installing the unused Algolia search theme by @etrepum in https://github.com/facebook/lexical/pull/9298
- build(deps): bump dompurify from 3.4.13 to 3.4.16 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9297
- [lexical-table] Bug Fix: keep iOS empty-cell double taps inside the cell by @etrepum in https://github.com/facebook/lexical/pull/9267
- [lexical] Bug Fix: preserve insertion anchors when moving children across parents by @etrepum in https://github.com/facebook/lexical/pull/9302
- [lexical-code-core] Bug Fix: normalize imported code content by @maximilliangrand in https://github.com/facebook/lexical/pull/9272
- [lexical-list] Bug Fix: Keep a caret after an inline decorator when removing a list by @rinarakaki in https://github.com/facebook/lexical/pull/9300
- [lexical] Bug Fix: Keep the line break when deleting a line that starts with an inline decorator by @rinarakaki in https://github.com/facebook/lexical/pull/9301
- [lexical] Bug Fix: preserve custom element text in root cache by @maximilliangrand in https://github.com/facebook/lexical/pull/9260
- [lexical] Chore: reduce unit test environment overhead by @etrepum in https://github.com/facebook/lexical/pull/9304
- [lexical] Bug Fix: Keep a TextNode subclass's type, key and node state when composing into it by @rinarakaki in https://github.com/facebook/lexical/pull/9291
- [lexical-rich-text] Bug Fix: Split a heading on Enter after a line break or an inline decorator by @rinarakaki in https://github.com/facebook/lexical/pull/9295
- [lexical-link] Bug Fix: open new-tab links without window.opener by @mbret in https://github.com/facebook/lexical/pull/9303
- build(deps): bump the docusaurus-and-typedoc group with 2 updates by @dependabot[bot] in https://github.com/facebook/lexical/pull/9307
- build(deps-dev): bump the dev-dependencies group with 16 updates by @dependabot[bot] in https://github.com/facebook/lexical/pull/9311
- build(deps-dev): bump flow-bin from 0.331.0 to 0.333.0 in the flow-and-hermes group by @dependabot[bot] in https://github.com/facebook/lexical/pull/9308
- build(deps): bump the rollup group across 1 directory with 5 updates by @dependabot[bot] in https://github.com/facebook/lexical/pull/9309
- [lexical][lexical-playground] Bug Fix: keep root text right after repeated slot edits, and read the DOM caret on keydown by @rinarakaki in https://github.com/facebook/lexical/pull/9283
- build(deps-dev): bump the vitest group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/facebook/lexical/pull/9310
- build(deps): bump undici from 7.27.0 to 7.30.0 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9314
- build(deps): bump fast-uri from 3.1.2 to 3.1.8 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9315
- Documentation Update: Describe $config json schemas in the AGENTS.md custom node guide by @etrepum in https://github.com/facebook/lexical/pull/9313
- [lexical-clipboard][lexical-website] Feature: Allow clipboard import middleware to replace data and selection by @etrepum in https://github.com/facebook/lexical/pull/9312
- [lexical][lexical-react] Bug Fix: Don't read Math.random while rendering on the server by @etrepum in https://github.com/facebook/lexical/pull/9319
- [lexical-rich-text][lexical-playground] Bug Fix: Allow native iOS text-file drops by @etrepum in https://github.com/facebook/lexical/pull/9320
- [lexical] Bug Fix: preserve inline decorators across soft-wrap line deletion by @etrepum in https://github.com/facebook/lexical/pull/9321
- [*] Breaking change: Remove extensions deprecated as of v0.52.0 by @etrepum in https://github.com/facebook/lexical/pull/9316
- [lexical-extension][lexical-playground] Bug Fix: trim triple-click overselection however late the selection change arrives by @etrepum in https://github.com/facebook/lexical/pull/9317
- [lexical-playground] Chore: Reduce E2E overhead and move focused coverage to faster suites by @etrepum in https://github.com/facebook/lexical/pull/9322
- [lexical][lexical-rich-text] Bug Fix: Stop the page jumping when tapping a decorator on iOS by @etrepum in https://github.com/facebook/lexical/pull/9325
- [lexical] Bug Fix: Restore the notified selection when a no-op update is dropped by @followdarko in https://github.com/facebook/lexical/pull/9328
- [lexical-react] Bug Fix: Ignore stale asynchronous auto-embed results by @Tabisharaza in https://github.com/facebook/lexical/pull/9331
- [lexical-react] Bug Fix: Ignore stale asynchronous typeahead close completions by @Tabisharaza in https://github.com/facebook/lexical/pull/9332
- [lexical][lexical-react][lexical-website] Bug Fix: Keep commit listeners in order when editor.read() is called during listener dispatch by @Vedthakar in https://github.com/facebook/lexical/pull/9335
- build(deps): bump proxy-addr from 2.0.7 to 2.0.8 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9345
- build(deps): bump compression from 1.8.1 to 1.8.2 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9344
- build(deps): bump joi from 17.13.4 to 17.13.8 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9343
- [lexical-eslint-plugin-internal] Chore: lint window messaging channel scoping by @potatowagon in https://github.com/facebook/lexical/pull/9339
- [lexical-yjs][Chore] Change last
Objecttoanyin lexical by @SamChou19815 in https://github.com/facebook/lexical/pull/9353 - [lexical][lexical-clipboard][lexical-playground][lexical-selection][lexical-table] Bug Fix: Let mouse drags select across inline decorators by @vijayojha89 in https://github.com/facebook/lexical/pull/9329
- [lexical][lexical-playground] Bug Fix: Markdown shortcuts in iframe editors by @hossiendehghan989 in https://github.com/facebook/lexical/pull/9352
- [lexical-yjs] Bug Fix: Re-create only moved children in syncChildrenFromLexical by @adstep in https://github.com/facebook/lexical/pull/9349
- [lexical-table] Bug Fix: Leave clicks on another editor's table to that editor by @Thanatos9404 in https://github.com/facebook/lexical/pull/9356
- [lexical-utils] Bug Fix: positionNodeOnRange no longer loops when its root element is detached by @pataar in https://github.com/facebook/lexical/pull/9358
- [lexical-react][lexical-playground] Feature: Add optional $disableMenuFor prop to LexicalAutoEmbedPlugin by @abhinavs1920 in https://github.com/facebook/lexical/pull/9365
- [lexical-playground] Fix context menu icons not rendering by @ivailop7 in https://github.com/facebook/lexical/pull/9368
- [lexical] Bug Fix: Explain how to guard a stale node reference in the missing node error by @Thanatos9404 in https://github.com/facebook/lexical/pull/9366
- [lexical-playground] Feature: Add "Copy as Markdown" to the context menu by @ivailop7 in https://github.com/facebook/lexical/pull/9367
- [lexical-playground][lexical-website] Chore: Fix automated copyright checks by @xiezhenjia-meta in https://github.com/facebook/lexical/pull/9370
- [lexical-react] Bug Fix: no widget role or widget-only ARIA on a non-editable editor by @potatowagon in https://github.com/facebook/lexical/pull/9270
- [lexical-devtools] Chore: Migrate Chrome publishing and release extensions with npm by @etrepum in https://github.com/facebook/lexical/pull/9369
- [lexical] Bug Fix: Write the managed line break selectors so jsdom 26's nwsapi can parse them by @zurfyx in https://github.com/facebook/lexical/pull/9372
- [lexical-playground] Bug Fix: fix the blank ‘Vertical Align’ menu item in Table Actions menu when width is < 1100 by @umaranis in https://github.com/facebook/lexical/pull/9346
- [lexical-eslint-plugin-internal] Bug Fix: resolve messaging namespaces through imports, assertions and declaration scope by @potatowagon in https://github.com/facebook/lexical/pull/9351
- [lexical-link] Bug Fix: Configure link navigation and isolate nested editors by @maximilliangrand in https://github.com/facebook/lexical/pull/9360
- [lexical] Bug Fix: Keep spellcheck underlines when a text node's text changes by @badcuban in https://github.com/facebook/lexical/pull/9354
- [lexical-playground] Bug Fix: Declare the playground's missing terser and @lexical/a11y dependencies by @GodfredArhinful in https://github.com/facebook/lexical/pull/9384
- [lexical-website][ci] Feature: Publish every PR and main commit to pkg.pr.new by @zurfyx in https://github.com/facebook/lexical/pull/9385
- [lexical][lexical-rich-text][lexical-playground] Bug Fix: Keep selections and deletions inside slot boundaries by @etrepum in https://github.com/facebook/lexical/pull/9373
- [lexical-markdown] Bug Fix: Read an out-of-range decimal character reference as U+FFFD by @kevin9327 in https://github.com/facebook/lexical/pull/9388
- [lexical-website][ci] Bug Fix: Stop advertising pkg.pr.new pnpm commands that install two copies of lexical by @zurfyx in https://github.com/facebook/lexical/pull/9387
- [lexical-mdast] Bug Fix: Keep consecutive and leading line breaks in a Markdown round trip by @unknownhackerworld in https://github.com/facebook/lexical/pull/9392
- [lexical-website][ci] Bug Fix: Stop advertising pkg.pr.new yarn commands that install extra copies of lexical by @zurfyx in https://github.com/facebook/lexical/pull/9394
- [lexical] Bug Fix: Finish cancelled desktop WebKit compositions by @justinchen13 in https://github.com/facebook/lexical/pull/9362
- [lexical-markdown] Bug Fix: Keep backslashes in leading code spans and unescape text only once by @WeAreResilience in https://github.com/facebook/lexical/pull/9396
- build(deps-dev): bump vite from 8.3.1 to 8.3.3 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9399
- build(deps): bump follow-redirects from 1.16.0 to 1.16.1 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9397
- build(deps): bump launch-editor from 2.13.2 to 2.14.2 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9398
- [lexical-history] Bug Fix: HISTORY_PUSH_TAG is ignored when the only dirty leaf is an unchanged TextNode by @ump45nose in https://github.com/facebook/lexical/pull/9218
- [lexical-table][lexical-website] Bug Fix: Table commands throw or misbehave on a ragged table by @zurfyx in https://github.com/facebook/lexical/pull/9375
- [lexical-link] Bug Fix: Fix $toggleLink(null) crash when the selection touches a link boundary by @zurfyx in https://github.com/facebook/lexical/pull/9412
- [lexical][lexical-code-core][lexical-devtools][lexical-extension][lexical-link][lexical-list][lexical-mark][lexical-mdast][lexical-rich-text][lexical-table][lexical-website] Feature: Experimental node structure in $config (inline, children, mergeAdjacent, derived) and an opt-in NodeStructureExtension by @zurfyx in https://github.com/facebook/lexical/pull/9452
- [lexical][lexical-compiler][lexical-fast-check][lexical-mark][lexical-website][lexical-yjs] Feature: Experimental MarkStateExtension and set-valued NodeState with arraySetValue by @zurfyx in https://github.com/facebook/lexical/pull/9380
- [lexical-extension][lexical-html][lexical-yjs][lexical-website][lexical-devtools] Feature: Stable block ids (BlockIdExtension) by @zurfyx in https://github.com/facebook/lexical/pull/9421
- [lexical-devtools] Documentation Update: refresh marketplace access docs and document publishing credentials by @potatowagon in https://github.com/facebook/lexical/pull/9330
- [lexical-devtools][lexical-website] Chore: Remove Safari publishing (taken down from the Mac App Store) by @potatowagon in https://github.com/facebook/lexical/pull/9457
- [lexical-devtools] Documentation Update: Document Chrome service account key rotation by @potatowagon in https://github.com/facebook/lexical/pull/9473
- [lexical] Bug Fix: Ignore text-control selectionchange events by @etrepum in https://github.com/facebook/lexical/pull/9477
- [lexical] Bug Fix: Setting a NodeState key that is still in unknownState no longer leaves the JSON copy behind by @zurfyx in https://github.com/facebook/lexical/pull/9468
- [lexical-code-prism][lexical-code-shiki] Bug Fix: Tab in a code block whose language the highlighter does not know by @zurfyx in https://github.com/facebook/lexical/pull/9472
- [lexical-mdast][lexical-website] Feature: GFM tables in @lexical/mdast by @etrepum in https://github.com/facebook/lexical/pull/9478
- build(deps): bump happy-dom from 20.9.0 to 21.0.4 by @dependabot[bot] in https://github.com/facebook/lexical/pull/9456
- [lexical-plain-text][lexical-rich-text] Bug Fix: Leave a copy, cut or paste in a decorator's input to the input by @rinarakaki in https://github.com/facebook/lexical/pull/9288
- [scripts] Chore: Map the bare tests/utils alias to the index module only by @zurfyx in https://github.com/facebook/lexical/pull/9482
- [lexical] Breaking Change: Remove deprecated unchecked node type arguments by @etrepum in https://github.com/facebook/lexical/pull/9479
- [lexical-html][lexical-website] Breaking change: give BlockIdHTMLExtension its own entry point by @potatowagon in https://github.com/facebook/lexical/pull/9474
- [lexical-markdown] Bug Fix: Preserve literal text and escaped link brackets in Markdown round trips by @etrepum in https://github.com/facebook/lexical/pull/9481
- [lexical][lexical-website] Chore: Changesets-based CHANGELOG with migration notes, plus changesets for everything since v0.52.0 by @zurfyx in https://github.com/facebook/lexical/pull/9357
- @rinarakaki made their first contribution in https://github.com/facebook/lexical/pull/9300
- @mbret made their first contribution in https://github.com/facebook/lexical/pull/9303
- @followdarko made their first contribution in https://github.com/facebook/lexical/pull/9328
- @Tabisharaza made their first contribution in https://github.com/facebook/lexical/pull/9331
- @hossiendehghan989 made their first contribution in https://github.com/facebook/lexical/pull/9352
- @adstep made their first contribution in https://github.com/facebook/lexical/pull/9349
- @Thanatos9404 made their first contribution in https://github.com/facebook/lexical/pull/9356
- @pataar made their first contribution in https://github.com/facebook/lexical/pull/9358
- @abhinavs1920 made their first contribution in https://github.com/facebook/lexical/pull/9365
- @badcuban made their first contribution in https://github.com/facebook/lexical/pull/9354
- @GodfredArhinful made their first contribution in https://github.com/facebook/lexical/pull/9384
- @kevin9327 made their first contribution in https://github.com/facebook/lexical/pull/9388
- @unknownhackerworld made their first contribution in https://github.com/facebook/lexical/pull/9392
- @justinchen13 made their first contribution in https://github.com/facebook/lexical/pull/9362
- @WeAreResilience made their first contribution in https://github.com/facebook/lexical/pull/9396
- @ump45nose made their first contribution in https://github.com/facebook/lexical/pull/9218
Full Changelog: https://github.com/facebook/lexical/compare/v0.52.0...v0.53.0
@astrojs/vercel@11.0.17
- #18085
785473bThanks @nikolas-sapa! - Fix redirects never matching on Vercel whentrailingSlash: 'always'is set. Redirect sources now include the trailing slash so they match the normalized request path. Sources whose last segment contains a dot are left unslashed, and dynamic or spread sources emit both the slashed and unslashed form, because Vercel only normalizes paths without a dot.
astro@7.4.3
-
#18488
e4e25faThanks @umeraamir69! - CSP no longer hashes empty children on external stylesheets and scripts, which was inserting the SHA-256 of the empty string intoscript-srcandstyle-src. -
#18500
e5a3a1bThanks @astro-factory! - Fixes<Image>and<Picture>emitting duplicatesrcsetcandidates whendensitiescontains equivalent values such as1and'1x' -
#18517
c3185b7Thanks @okxint! - Fix unhandledAbortErrorrejection whenClientRouterskips a pending view transition -
#18497
c712113Thanks @astro-factory! - Fixes an uncaughtTypeErrorin the browser when aserver:deferisland request fails due to a network error. The fallback content is kept, as it is for non-200 responses. -
#18525
d0240b9Thanks @astro-factory! - Fixes aDEP0190deprecation warning printed byastro infoon Node.js 24 and later -
#18522
776b9a6Thanks @astro-factory! - FixesmemoryCache()serving an empty body for cached pages that return an empty404or500response. These responses now render the404or500error page on every request. -
#18511
d060ff9Thanks @astro-factory! - Fixestransition:namestyles missing in dev when the element is inside a component that is only rendered through another component with no styles or scripts -
#18494
5fe699cThanks @astro-factory! - Fixes theastroCLI refusing to run on StackBlitz by allowing Node.js>=22.22.0inside WebContainers, whose Node.js version users cannot change -
#18506
bf43a60Thanks @astro-factory! - Fixes<ClientRouter />animating scroll restoration on back/forward navigation whenscroll-behavior: smoothis set. Saved scroll positions are now restored instantly, matching the browser's native behavior. -
#18476
8ea79a2Thanks @astro-factory! - Fixes aDataCloneErrorcrash when building pages that render SVG imports with<Image />orgetImage()whileexperimental.parallelPrerenderis enabled. -
#18504
6dbd737Thanks @astro-factory! - Fixes<Picture>emitting a duplicate1xcandidate in<source>srcsetwhendensitiesincludes1 -
#18524
7524889Thanks @astro-factory! - Fixes type errors reported in Astro's built-in<Image />,<Picture />,<Code />,<Debug />and<ClientRouter />components when type-checking a project that extendsastro/tsconfigs/strictestwithtscand@astrojs/ts-content-mapper -
#18493
3773941Thanks @astro-factory! - Fixes scoped styles of unused Astro components being included in the build when those components are re-exported from a barrel file -
#18512
1151b9eThanks @jp-knj! - Fixes CSP hashes added withAstro.cspfrom components rendered inside<body>being left out of the CSP<meta>element in static builds, including MDX pages -
Updated dependencies [
6cf3423,edfbf4a]:- @astrojs/telemetry@3.4.2
- @astrojs/markdown-satteri@0.4.6
@astrojs/telemetry@3.4.2
- #18481
6cf3423Thanks @Princesseuh! - Avoids blocking Astro commands while looking up the anonymous project ID, by runninggitasynchronously. Events recorded at the same time now share a single lookup.