1 hours ago
ionic-framework

v9.0.10

9.0.10 (2026-10-28)

Bug Fixes

1 hours ago
scalar

Release 2026-10-28

Releases

@scalar/api-reference@1.76.2

Patch Changes

  • #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.

@scalar/types@0.25.2

Patch Changes

  • #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/astro@0.4.33

@scalar/docusaurus@0.8.54

@scalar/express-api-reference@0.10.33

@scalar/fastify-api-reference@1.76.2

@scalar/hono-api-reference@0.12.16

@scalar/nestjs-api-reference@1.2.33

@scalar/nextjs-api-reference@0.12.14

@scalar/nuxt@0.6.85

@scalar/starlight@0.2.18

@scalar/sveltekit@0.3.33

@scalar/agent-chat@0.12.48

@scalar/api-client@3.23.5

@scalar/api-client-react@2.0.62

@scalar/api-reference-react@0.9.85

@scalar/asyncapi-to-markdown@0.2.4

@scalar/asyncapi-validator@0.1.16

@scalar/blocks@0.6.2

@scalar/client-side-rendering@0.4.15

@scalar/core@0.5.47

@scalar/json-schema-validator@0.1.16

@scalar/mermaid-plugin@0.1.3

@scalar/mock-server@0.20.2

@scalar/nextjs-openapi@0.3.54

@scalar/oas-utils@0.20.17

@scalar/openapi-parser@0.29.18

@scalar/openapi-to-markdown@1.7.2

@scalar/openapi-validator@0.1.16

@scalar/pre-post-request-scripts@0.4.60

@scalar/server-side-rendering@0.1.64

@scalar/sidebar@0.12.5

@scalar/snippetz@0.10.13

@scalar/workspace-store@0.69.2

@scalarapi/docker-api-reference@0.6.19

Bundled API Reference

  • @scalar/api-reference@1.76.2

@scalar/aspire@0.12.5

Bundled API Reference

  • @scalar/api-reference@1.76.2

@scalar/aspnetcore@2.18.5

Bundled API Reference

  • @scalar/api-reference@1.76.2

@scalar/aws-lambda@0.3.5

Bundled API Reference

  • @scalar/api-reference@1.76.2

@scalar/azure-functions@0.3.5

Bundled API Reference

  • @scalar/api-reference@1.76.2

@scalar/java-integration@0.6.85

Bundled API Reference

  • @scalar/api-reference@1.76.2

scalar_api_reference@0.2.19

Bundled API Reference

  • @scalar/api-reference@1.76.2

@scalar/mock-server-docker@0.2.75

scalar-app@1.1.45

3 hours ago
react-toastify

v11.2.0

Release Notes

Features

  • theme="auto" follows the OS color scheme (prefers-color-scheme). Opt-in; default stays light. Closes #1186.
  • transition={false} disables enter/exit animations, on the container or per toast. Closes #857.
  • appendStyleSheet prop on <ToastContainer> appends the injected <style> tag to <head> instead of prepending it.

Fixes

  • 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.

Internal

  • 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, none transition option.

Thanks to @Aakashpai and reporters of the fixed issues.

3 hours ago
lexical

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.

Breaking Changes

  • All packages: extensions deprecated as of v0.52.0 are removed (#9316). Migrate as follows:
    • CodeImportExtension (@lexical/code-core): use CodeExtension
    • CodeHighlighterShikiExtension, CodeHighlighterShikiConfig (@lexical/code-shiki): use CodeShikiExtension with {tokenizer}
    • HorizontalRuleImportExtension (@lexical/html): use HorizontalRuleExtension plus any extension that brings in CoreImportExtension
    • LinkImportExtension, ListImportExtension, RichTextImportExtension, TableImportExtension: use LinkExtension, ListExtension, RichTextExtension, TableExtension
    • MdastImportExtension, MdastExportExtension and their *Output types (@lexical/mdast): use MdastExtension and MdastExtensionOutput
    • The *ImportRules arrays are not extensions and remain.
  • @lexical/mdast (experimental): table column alignment is no longer stored in the mdastTableAlign NodeState. 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)

New APIs & Features

  • lexical / @lexical/extension (experimental): Declarative node structure in $config. New optional keys inline, children, mergeAdjacent, and a derived flag 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-in NodeStructureExtension enforces them (#9452)
  • @lexical/extension / @lexical/html (experimental): Stable block ids. BlockIdExtension gives 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 and MarkStateExtension. arraySetValue(item) declares a state whose value is a canonical (sorted, deduplicated, frozen) set of strings. MarkStateExtension uses it to store mark ids on the leaves they cover instead of in MarkNode wrappers, so overlapping comments need no tree restructuring and ids travel with the text (#9380)
  • @lexical/mdast (experimental): GFM tables. MdastTableExtension imports 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's transformPastedHTML, so off-the-shelf HTML cleanup can be plugged in (#9312)
  • @lexical/link: ClickableLinkExtension accepts getWindow(editor), so iframe editors can navigate in their own window or leave the click unhandled (#9360)
  • @lexical/react: LexicalAutoEmbedPlugin accepts $disableMenuFor to suppress the embed menu where a block embed does not belong, such as inline-only slots (#9365)
  • Changelog with migration notes: CHANGELOG.md is now built from changesets, with Breaking changes (each with Migration: and Detect:), Behavior changes, Deprecations and the full commit list for every release, and it ships in the lexical package at node_modules/lexical/CHANGELOG.md for people and tools upgrading across versions (#9357)
  • Continuous builds: every PR and main commit is published to pkg.pr.new, so a fix can be tried before the next release with npm i https://pkg.pr.new/lexical@main (npm only; see the PR for pnpm and yarn) (#9385, #9387, #9394)

Notable Fixes

Security

  • Links opened in a new tab by registerClickableLink / ClickableLinkPlugin no longer get window.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 TextNode subclass with an IME or a dead key no longer replaces it with a plain TextNode, 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); selectionchange events 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 $patchStyleText now 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_TAG always pushes its own undo entry (#9218); setting a NodeState key still held in unknownState no 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 the Expected shared type to include type attribute corruption in CollabV1 (#9335, closes #7709)
  • @lexical/yjs re-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/mdast keeps 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 with cacheComponents works without Suspense (#9319)
  • A read-only ContentEditable no longer renders an unnamed role="textbox" (#9270); stale asynchronous auto-embed and typeahead results are ignored (#9331, #9332); positionNodeOnRange no 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 latest npm release (#9296, #9457, #9369)

What's Changed

New Contributors

Full Changelog: https://github.com/facebook/lexical/compare/v0.52.0...v0.53.0

4 hours ago
astro

@astrojs/svelte@9.1.2

Patch Changes

  • 5e47636 Thanks @matthewp! - Escapes slot names when rendering the slot wrapper elements for Svelte components
4 hours ago
astro

@astrojs/vercel@11.0.17

Patch Changes

  • #18085 785473b Thanks @nikolas-sapa! - Fix redirects never matching on Vercel when trailingSlash: '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.
4 hours ago
astro

astro@7.4.3

Patch Changes

  • #18488 e4e25fa Thanks @umeraamir69! - CSP no longer hashes empty children on external stylesheets and scripts, which was inserting the SHA-256 of the empty string into script-src and style-src.

  • #18500 e5a3a1b Thanks @astro-factory! - Fixes <Image> and <Picture> emitting duplicate srcset candidates when densities contains equivalent values such as 1 and '1x'

  • #18517 c3185b7 Thanks @okxint! - Fix unhandled AbortError rejection when ClientRouter skips a pending view transition

  • #18497 c712113 Thanks @astro-factory! - Fixes an uncaught TypeError in the browser when a server:defer island request fails due to a network error. The fallback content is kept, as it is for non-200 responses.

  • #18525 d0240b9 Thanks @astro-factory! - Fixes a DEP0190 deprecation warning printed by astro info on Node.js 24 and later

  • #18522 776b9a6 Thanks @astro-factory! - Fixes memoryCache() serving an empty body for cached pages that return an empty 404 or 500 response. These responses now render the 404 or 500 error page on every request.

  • #18511 d060ff9 Thanks @astro-factory! - Fixes transition:name styles missing in dev when the element is inside a component that is only rendered through another component with no styles or scripts

  • #18494 5fe699c Thanks @astro-factory! - Fixes the astro CLI refusing to run on StackBlitz by allowing Node.js >=22.22.0 inside WebContainers, whose Node.js version users cannot change

  • #18506 bf43a60 Thanks @astro-factory! - Fixes <ClientRouter /> animating scroll restoration on back/forward navigation when scroll-behavior: smooth is set. Saved scroll positions are now restored instantly, matching the browser's native behavior.

  • #18476 8ea79a2 Thanks @astro-factory! - Fixes a DataCloneError crash when building pages that render SVG imports with <Image /> or getImage() while experimental.parallelPrerender is enabled.

  • #18504 6dbd737 Thanks @astro-factory! - Fixes <Picture> emitting a duplicate 1x candidate in <source> srcset when densities includes 1

  • #18524 7524889 Thanks @astro-factory! - Fixes type errors reported in Astro's built-in <Image />, <Picture />, <Code />, <Debug /> and <ClientRouter /> components when type-checking a project that extends astro/tsconfigs/strictest with tsc and @astrojs/ts-content-mapper

  • #18493 3773941 Thanks @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 1151b9e Thanks @jp-knj! - Fixes CSP hashes added with Astro.csp from 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
4 hours ago
astro

@astrojs/prism@4.1.2

Patch Changes

  • edfbf4a Thanks @matthewp! - Fixes Prism code blocks for languages Prism doesn't support, such as vue or svelte. Their code is now displayed as plain text instead of being rendered as HTML. Also correctly escapes the code block language in the generated class and data-language attributes.
4 hours ago
astro

@astrojs/telemetry@3.4.2

Patch Changes

  • #18481 6cf3423 Thanks @Princesseuh! - Avoids blocking Astro commands while looking up the anonymous project ID, by running git asynchronously. Events recorded at the same time now share a single lookup.
4 hours ago
astro

@astrojs/solid-js@7.1.2

Patch Changes

  • 290b196 Thanks @matthewp! - Escapes slot names when rendering the slot wrapper elements for Solid components